Interactive programming tutorials

Dennis Ritchie was an American computer scientist who created the C programming language and the Unix operating system. He also was one of the authors (the ‘R’) of the famous in K&R C book. The first edition of this book was published in 1978 and it was the first widely available book on the C programming language. It is one of the first books I read about programming and I still think it is one of the best.

While some people enjoy reading a book like K&R C to learn a new language (and I certainly did back in the days), I now think reading text books about new programming languages is not the most effective way of learning a new language. Although it may still be the most effective way for learning your first language, because everything is new and you need a thorough understanding of the concepts, I think there may be more effective ways for learning your second, third or fourth programming language.

It was when the world wide web became a commodity that programming books lost there use as a reference, even for code examples. This changed the nature of programming books. I notice most programmers today do not (know how to) implement from documentation. They use implementation examples that they copy/paste from code they find using Google and Koders.

Another concept in programming books is taking advantage of prior knowledge. I remember it was a delight to learn C++ from a book titled “from C to C++”. The author assumed the reader knew everything about C and only discussed the differences, therefor not wasting the readers precious time.

This idea is also the basis for a (relatively) new phenomenon: interactive web applications that behave as language tutors. It learns you programming by example and it allows you to progress at your own speed. Learning by example skips a lot of the theory and this is why I don’t know how well it will work for real beginners, but for programmers that already know a few languages it is a fun and fast way to learn. I made a list of good (free) interactive language tutorials online:

  1. Javascript: Codecademy Javascript
  2. Regular Expression: RegexOne
  3. SQL: SQLzoo
  4. Ruby: Try Ruby
  5. Python: Try Python (Runs on Linux using Moonlight 2)
  6. Haskell: Try Haskell
  7. Scala: Simply Scala
  8. CSS: CSS 101

Even though you should try all of the above, there may be one “traditional” text-book that you should read. It is the free and very well written book Eloquent JavaScript by Marijn Haverbeke.

2 Responses to “Interactive programming tutorials”

  • DD:

    I have been teaching myself Javascript and this will help. thanks

  • I totally agree. Over the years I learned how to get first hand knowledge by reading language developer’s documents and blog/usenet posts, language specs, and video presentations from the original developers. At first a bit difficult to understand, then the best source.

    Same logic could be applied to University – good for newcomers, usually bad for experienced innovators.

    Also to mention that in the last 10 years language documentation became increasingly comprehensive and easy, as well as languages itself.

Leave a Reply