I used to program professionally in the 1980s, in Pascal, BASIC and FORTRAN after learning Algol 68 and a little LISP at university. I was what was known as a ‘3rd Generation language’ programmer. I wrote programs that ran on ‘dumb terminals’ and IBM 3270 ‘sreens’ for organisations that could not yet afford to buy relational database software. I stopped programming just as I’d helped my employers select their first Oracle database, so I only ever coded for the native file-system of the operating systems I worked on. I didn’t stop coding completely because I became a system manager of DEC VMS systems and continued to write ‘scripts’ in DCL (Digital Command Language) for several years. I eventually drifted off to work on technical projects, information risk management and several years ago, I moved to business process modelling in a graphical language called UML (Universal Modelling Language) and business analysis, most recently with Agile development teams. Agile teams work best when they are made up of ‘generalising specialists’ so I decided a while ago that it was time I got back into coding.
I’m a bit jealous of my friends who have the current software skillz to go on hack-days, help at a @CodeClub and otherwise ‘make’ the world a better place. Since I was ‘Senior Programmer’, software development has changed considerably. To start programming again now, I need to gain experience of databases and object-oriented design. I have the option of programming back-end server systems, for desktop Graphical User Interfaces or for web browsers. The languages I used are no longer appropriate for this new world and the programming environments and software libraries have changed.
I need to start from scratch and re-learn everything practical I learned in the computer science half of my degreee and more. How hard can that be?
I have options. I won’t be programming for native Microsoft or Apple environments on moral grounds, though I haven’t comletely runled out C or C#. As I like open systems and Free software, I could learn the scripting language of the Linux bash shell (Bourne-again shell) first. I could use Python as it is widely used in free software projects and is becoming a popular language for teaching, so there are plenty of tutorials available, or Java which is more widely used and still popular as a professional language. The best reason to learn Java is probably that it is the Google-approved language for the Android platform and can be used to write portable software. Or I could look to a web-centric future by learning the new open standards of HTML5, CSS and JavaScript, with a choice of environments, including PhoneGap and Mozilla OS.
So the options are quite simple really
This week the government announced that 2014 is #YearOfCode. I’m going to take that as the kick I need, before I’m over-taken by 8-year-olds so I just told young @LottieDexter that if she can learn to code in an hour then so can I and I’ll start tonight. I decided I wasn’t going to bed until I’d written something that worked, so concluded that it was best to cheat.
Based on http://www.w3schools.com/js/js_examples.asp, here is my first JavaScript code.
<!DOCTYPE html>
<html>
<body>
<h1>World Wide Welcome</h1>
<script>
document.write(“<p>Hello world!</p>”);
</script>
</body>
</html>
See, Lottie was right. It IS easy! <Checks rear-view-mirror for kids>
I am someone who still codes (as much for fun now as anything else). However, there’s still a bunch of things I don’t know and want to learn. You mentioned one of them – Python!
I don’t know Python as well as I would like, and it is the preferred language on the Google Platform, which I use a lot. I don’t need a call to action, I’m always dipping in to new languages.
If you feel like learning Python, I can highly recommend the CS101 course at Udacity (https://www.udacity.com/course/cs101). The free courseware is just great!
Thanks Trevor. What exactly do you mean by “the Google platform”?
I mean the ‘platform as a service’ environment provided by Google. They call it the Google App Engine. I use Google Apps for Business it’s a pretty neat infrastructure for hosting your own applications. Details at https://developers.google.com/appengine/.
Interesting. If you didn’t like the service you were getting or Google upset you in some other way, is the service cooked from Free Software, so you could move your code somewhere else?
It seems to be largely Python based. I run the development environment on my Mac and it seems to be Java and Python. I imagine that transferring would be possible. I would prefer, I think, to build in enough abstraction as to make changing to another optimised platform easier.
I’ve been looking at Cloud stuff. Things have moved on a lot in terms of deliverable services since I last looked, a year or two ago. I can see how all these small web companies are springing up everywhere