4 ms·
Ask HN: I am bored. What programming language should I learn ?
Hi,
I know C, Python and Scheme, and I'm looking for an exciting or exotic programming language to learn.
Any suggestions ?
Thank you.
- davidw 17y agoErlang 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.
- RiderOfGiraffes 17y agoHaskell or OCaml
- felixmar 17y agoHaskell (e.g. http://learnyouahaskell.com 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 17y agoWhat 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 17y agoI 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.
- tumult 17y agoFactor!
- thristian 17y agoI 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 17y agosqueak smalltalk
- leoc 17y agoHow about Oz? http://www.info.ucl.ac.be/~pvr/book.html http://www.info.ucl.ac.be/~pvr/book.html With 900 pages to get through you'll never be bored again. ;)
- cousin_it 17y agoSounds 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) 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 http://kx.com/technical/contribs/eugene/kidioms.html . Most everyday programmers should find themselves intrigued at around number 11 (mesh).
- ossenabled 17y agoClojure.
- jpd 17y agoC: 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).