I’ve wanted to learn how to program for years, but I’ve never got round to doing it. In this series, I’m going to tell you about the trials and tribulations of programming as a novice. In this, the second episode, I’ll tell you what language I’ve chosen and why.
In the last article, I told you what I wanted from my first programming language, and which ones made my top five. I gave it lots of thought, and a few days later, I made my decision and got ready to start programming.
What I wanted
In the first article, I explained exactly what I was looking for: a popular, well-documented language that was multi-use, and whose syntax was flexible and appealing. More than anything, I wanted it to be a language I could try things out on from the start.
Remember: I’m not aiming to be as good as a computer engineer, or to make the next 3D game. My goal is much more modest: to learn the basics in programming. It’s something anyone could do.
A tough choice
It’s a difficult thing to do, choose. Sometimes it seems almost cruel. I had five wonderful programming languages in front of me. To dismiss any one of them was to close the door to a whole world of possibility, and a whole lot of discussion, at least for a while.
But choosing also helps you to focus your efforts. By choosing one language and trying to learn it well, you avoid confusion. It’s true that a good programmer will end up learning more than one language (in fact it’s better that they do), but you have to start somewhere.
There are only two types of languages: the ones people complain about and the ones nobody uses.
Bjarne Stroustrup, creator of C++
Myth 1: “it’s a more limited version of Java”
Myth 2: “It’s not a serious language”
Myth 3: “It’s only used in web browsers”
Myth 4: “It’s slow”
An interpreted language is slower than a compiled one. And JavaScipt was one of the slower interpreted languages. But it wasn’t its fault – the fault lay with both browsers and programmers.
What do you need to get started with JS?
Once I had chosen which language I was going to learn, I gathered together some of the best learning resources and I prepared my PC to write and run my first programs.
These are the resources I chose. Most of them are free, and some of them are probably already on your computer.
A browser: Google Chrome
A text editor: Sublime Text
You could write your code in the notepad, but there are some things that a code editor does better. The perfect example is Sublime Text, a code editor whose simplicity and power has totally won me over.
Among other things, Sublime Text…
- Writes code in different colors so it’s more legible
- Shows line and column numbers
- Has multiple text selection
- Uses a panel along the side to allow for easier navigation
- Has a “distraction-free” mode
- Can be personalized to your needs
There are many other text editors out there. If you like Notepad++, it’s another excellent option, especially as it can be used as both a notepad and a code editor.
An online course: Codecademy
The course is interactive and its difficulty increases at a gentle pace. As a course for complete beginners, I recommend Getting Stated with Programming.
Books in electronic format
When you learn a programming language, it’s always a good idea to stock up on reference books. Reading is a good way to complement your practice, and to really reinforce what you’ve learned.
After doing some research and shopping around, in the end I downloaded the following titles onto my Kindle:
- Dive Into HTML5, a guide to HTMl5, JS’s partner in crime
At the same time, I downloaded two classics, The C Language (Kernighan and Ritchie) and Thinking in Java (Eckel). Why? Because JS’s syntax has a lot in common with C and Java, and because seeing how other languages work reinforces what you’ve learned.
You might wonder if you need to learn more math. No, not really: for the majority of programs, all you need is basic arithmetic (addition, subtraction, multiplication and division), some logic, and to know what a Cartesian coordinate system is.
That is unless you want to program 3D games or physics simulators, of course.
Ready to rock and roll!
So, I’ve got my books and I’ve got my course. Now all I need to do is read them, and write my very first lines of code.