Live data from Hacker News

Ask HN: what language should I learn next?

news.ycombinator.com

1–10 of 63 posts

Ask HN: what language should I learn next?

#1
I'm a Ruby developer, and cut my teeth on Ruby/Rails after a bit of PHP. I love Ruby and will continue to use it at my day job. But I'm starting a side project and want to learn something new. What should I try?

I've always wanted to get better at C and Lisp, but building a database-backed web app in either of these seems like a lot of work. How is Weblocks? Any other worthwhile web frameworks for Lisp?

What about Java, or a JVM language like Scala or Clojure?

Re: Ask HN: what language should I learn next?

#2
How about Italian? In terms of computer stuff... C is always a good one. Erlang is something kind of "new" and different, but at the same time quite practical for certain kinds of applications. Java's not a bad language to know, but it's not that exciting.

Re: Ask HN: what language should I learn next?

#7
OCaml. If you've been working with languages dynamically typed at runtime, using something statically typed at compile time will be very informative. Unlike most other statically typed languages, OCaml's type inference turns the type system from a thing that needs to be constantly appeased to a free reality check when you need it.

OCaml will also teach you functional programming tricks usable in Ruby, or several other languages. At the same time, it doesn't force you to learn almost everything all over again before you can do anything at all the way Haskell does. In my experience, OCaml is designed to be a practical, modern, statically-typed, multi-paradigm language, while Haskell is designed to be a conceptually pure language for experimenting with language ideas in new territories. Whether that's a good or bad thing depends on what you intend to use it for.

About the OCaml type system: http://enfranchisedmind.com/blog/2008/04/14/useful-things-ab...

"Why Rubyists Should Learn OCaml" (a presentation): http://enfranchisedmind.com/blog/2008/07/07/rubymn-presentat...

Re: Ask HN: what language should I learn next?

#8
I'm enjoying Clojure - in terms of web frameworks there's Webjure and Enclojure, for example. The latter seems more Rails-ish whereas the former is more Javaesque, but it's still pretty early days. I prefer Clojure to Common Lisp as it doesn't have a lot of the cruft you'll find in CL, it has some cool concurrency features, and you get easy access to any Java library you might want to use. Plus, the source code to the language itself and its supporting libraries is very readable and hackable, which is something I haven't found in other languages.

I can't really recommend web programming with C, although it's a wonderful language to learn; I'm sure you'll have many revelatory moments as you get to grips with it and discover things about the higher level languages that you normally use.

Common Lisp is definitely usable for web development, and Hunchentoot is a pretty decent web server and programming environment, although it's certainly not the only one.

Post reply on HN