Tag Archives: programming languages

Programming The Hard Way

I wrote about my plan to restart computer programming. I’ve postponed the HTML5/CSS/JavaScript route, as I was blindly following instructions, which is not my preferred learning style. I wasn’t learning fast enough so got disillusioned and lost interest.

I found a book called ‘Learning Python the Hard Way’
http://learnpythonthehardway.org/
and I was “trying it for free” but I’m not really its target audience:
“Made for beginners who know nothing about programming.
Not a book claiming to be for beginners but really for programmers.”
If you are one of those, then it looks a good way to learn Python programming.

I skipped to the end to read “Advice from an Old Programmer” and saw that the authorĀ  claimed to know 20 languages when he wrote the book.
“How ridiculous!”, I thought, “No-one needs to know that many programming languages.”

Then I made my list. I was a student then professional programmer for less than 10 years.

At university: Algol 68, COBOL, Lisp.

At work on VMS: DEC DCL, BASIC, Pascal, FORTRAN. On IBM mainframes VM/CMS with Rexx.

In recent years: Business process modelling in the graphical language, UML.

Along with dabbling with various bits of:
POP-11, C, Macro-32, SQL, Unix/bash scripting, C#, XML and Java

and now I’m trying Python, HTML5/CSS3/JavaScript.

About 20. As I said, RIDICULOUS!

There is a further gem of advice in that section of the book: don’t see programming as a profession but as a weapon in another field, where the things you can achieve with computers are valuable and respected. I had achieved this until the last couple of years, when I was re-organised into an IT department, without my agreement. They were the least satisfying of my career. I like solving real problems, not artificial ones caused by ill-advised IT changes.

Coding is a tool but there is little chance of finding satisfaction in a job advertised as ideal for someone who likes hammering; particularly if they tell you the manufacturer of the hammer which you must have 2 years previous experience with. Don’t work for a fool. It only makes you look foolish.

2014, My #YearOfCode

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>