Top 5 programming languages to learn
Comments: 1 - Date: May 15th, 2008 - Categories: Programming
eWeek described the top 5 programming languages to learn (if you want a job) as:
- PHP
- C#
- AJAX
- Javascript
- Perl
Not the most exciting list. My top 5 languages to learn (if you want to learn something) are:
- Scheme — The essentials of programming without syntax. It also allows for some crazy metaprogramming.
- C — It’s everywhere, has become the defacto syntax, and it forces you to learn about manual memory management, pointers, arrays, bits etc…
- Simple assembly — Lets you deal directly with registers and interrupts. I learnt Z80 assembly but I would recommend learning PIC, AVR or MSP430 programming. It’s much more fun than it sounds and it makes you appreciate every other language out there.
- Haskell — Pure, functional, lazy and strongly typed. A head-job but it will stretch your thinking.
- Prolog — A declarative language, you describe facts and rules and hopefully Prolog does the rest.
The top 5 languages that I would like an excuse to learn are:
- Erlang — A process based language with lots of interesting ideas.
- Lua — An extremely light-weight and fast scripting language.
- Objective Caml — A statically typed functional language.
- C# — Java like but with some additional good ideas.
- Squeak — A language with its own OS and GUI!
Comment by Nathan Youngman - May 15, 2008 @ 5:26 pm
Wow, what a lame list from eWeek, especially considering that Ajax isn’t even a language.
“Programming in Lua” is a great read, and fairly short. I really like the language, though without an extensive library, it’s going to take some C to do much with it.
I wouldn’t mind learning Factor, a modern stack based language with the Scheme-like “code is data.” Forth is it’s distant ancestor.
JoCaml adds concurrency to OCaml, and Microsoft F# is also in the ML family. Personally, I think I might prefer to learn SML (SML/NJ or MLton), which is being used for the ECMAScript 4 reference interpreter.
If I had an excuse to use Boo, I would really like to play with it. The syntax is like Python, though it runs on .NET/Mono. It is statically typed (speed) using type inference (like ML) and has RegEx literals and other differences from vanilla Python.
As it stands, I’m likely to spend most my time working with/learning Python 2.5. I wouldn’t mind learning Objective-C (and Cocoa, more so)… then I could build cool apps like you, but will I ever get to it!?
Leave a comment