eWeek described the top 5 programming languages to learn (if you want a job) as:
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!