

Ask HN: I am bored. What programming language should I learn ? - vorador

Hi,<p>I know C, Python and Scheme, and I'm looking for an exciting or exotic programming language to learn.<p>Any suggestions ?<p>Thank you.
======
felixmar
Haskell (e.g. <http://learnyouahaskell.com>). Learning Haskell is exciting
(when the headaches subside ;)) and although becoming more popular Haskell can
be considered exotic. The best part imo is that learning Haskell's functional
concepts is useful for other languages as well.

------
peterhi
What platforms or areas are you interested in?

You know C, have you tried network programming or games programming or C on
embedded systems?

You can learn a lot by taking an existing language into a new area, it will
sharpen up your skills better than learning a language without having a use
for it.

Experience is what makes good programmers not a laundry list of languages that
you have never used in anger.

~~~
bdfh42
I agree - C or an assembler - anything close to the metal.

Artfy farty stuff might teach you new ways of thinking about problems but not
a lot about programming per se.

Alternately - creating a (small) language of ones own and writing a compiler
for it would be immensely beneficial.

------
davidw
Erlang would be 'different' than those. Java would not be too exciting or
exotic, but practical for many things. If you're not wild about Java, try
coding for J2ME or Android... there's less BS in those environments than the
'enterprisey' stuff.

------
leoc
How about Oz?

<http://www.info.ucl.ac.be/~pvr/book.html>

With 900 pages to get through you'll never be bored again. ;)

------
cousin_it
Sounds like you're prepared. Try K/Q. Programming doesn't get much more
exciting or exotic than that.

<http://en.wikipedia.org/wiki/K_(programming_language)>

For a taste of what it feels like, see
<http://kx.com/technical/contribs/eugene/kidioms.html> . Most everyday
programmers should find themselves intrigued at around number 11 (mesh).

------
jpd
C: Procedural language

Python: (Batteries included) Scripting language

Scheme: Functional/LISP language

Looks like you should learn either an OO language (Smalltalk, OCaml, Scala) or
a Logic language (Prolog).

------
RiderOfGiraffes
Haskell or OCaml

------
tumult
Factor!

~~~
thristian
I second this suggestion - all the interesting implications of learning a new
paradigm, but nobody can accuse you of jumping on the Lisp/Erlang/Haskell
bandwagon. Also, unlike some other esoteric languages, Factor has a pretty
extensive standard library (everything from OpenGL to database bindings, an
HTTP server and HTML templating), it has the ability to call functions written
in C in dynamic libraries, and you can compile stand-alone redistributable
binaries.

------
rincewind
squeak smalltalk

------
ossenabled
Clojure.

