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 th…
My personal opinion is that one should learn, and become comfortable in, Java before attempting Clojure. Clojure is a very neat little language, but if you don't understand what it's doing under the hood on the JVM, a lot of stuff is going to end up being mysterious. Don't get me wrong, I love the language to bits, but a lot of its beauty is in how it takes the existing Java model and does something cool with it - an…
Ask HN: what language should I learn next?
41–50 of 63 posts
Re: Ask HN: what language should I learn next?
#42"who has a month to spare to learn another language?"
I definitely don't have a month free to learn a language. But I have a few hours a week free, and I'm not in a hurry. :)
Re: Ask HN: what language should I learn next?
#43Finish learning C, by writing your own C compiler. Yes, really: pick up the dragon book, learn lexx/yacc and do it - it will test your knowledge of data structures and algorithms, automata/language theory and software engineering.
Learn Lisp or OCaml or Haskell just to know a functional language. Don't learn it to write webapps in it.
Learn Perl - and not just for webapps (although mod_perl is incredibly powerful as far as fast, transactional, web applications go), including Object Oriented Perl. Learn enough to automate your systems administration / operations tasks (being able to modify bugzilla would be a plus too).
Re: Ask HN: what language should I learn next?
#44Earlier quoted context omitted.
My personal opinion is that one should learn, and become comfortable in, Java before attempting Clojure. Clojure is a very neat little language, but if you don't understand what it's doing under the hood on the JVM, a lot of stuff is going to end up being mysterious. Don't get me wrong, I love the language to bits, but a lot of its beauty is in how it takes the existing Java model and does something cool with it - an…
Interesting. That's the exact same argument I made above with C and systems programming. Clojure has caught my eye, and I'm familiar with Java, but I'm not as familiar with the JVM itself. Any resources that are good overviews of the JVM?
By contrast, there's a level of indirection between Clojure and the underlying JVM. And so, for much the same reasons as it's a good idea to know some C when doing systems programming, you won't really understand what Clojure is doing (especially not the stack-traces!) unless you understand Java.
There's also the practical point that, if you're working on the JVM, you'll be wanting to make use of the massive class libraries available for it. They're all written for native Java, so you'll have to be familiar with Java semantics to use them effectively. (Although the Lispy macro goodness means you can then wrap them up inside a concise functional abstraction when you're using them).
If you still want to look at the JVM (for fun, or for implementation reasons), I'd say a good knowledge of Java is enough to just jump head-first into the specification: http://java.sun.com/docs/books/jvms/second_edition/html/VMSp...
Re: Ask HN: what language should I learn next?
#45Hindi! Everything will eventually be outsourced to india, anyway. Seriously though... Python is probably the best option, followed closely by Java.
Re: Ask HN: what language should I learn next?
#46How about Chinese? Probably more useful. But seriously, python is well regarded and with G App Engine as a possible hosting platform using it, you can also learn more about design for hosted infrastructure apps.
Re: Ask HN: what language should I learn next?
#47No Perl fans here? Shame. :( I, then, humbly suggest Perl. You might like it, and with your Ruby background it shouldn't be hard to pick up.
Actually, its my language. Couldn't resist the opportunity to plug it.
Re: Ask HN: what language should I learn next?
#48I personally am really interested in learning C and then figuring out how to tie my C code into a Python module - maybe increase the speed of some of my code...
That said, I had used some Scheme back in school to write a parser for a stripped down version of C, and while it wasn't the most fun project ever, working with a functional programming language really opened my eyes (up until then it has been OOP/Java all the way).
Re: Ask HN: what language should I learn next?
#49There's more to software besides the web. Start off by learning C. Learn enough so that you could understand this http://www.kegel.com/c10k.html - and see the implications of what's discussed there (low-level UNIX system calls, C code) on issues you deal with. Finish learning C, by writing your own C compiler. Yes, really: pick up the dragon book, learn lexx/yacc and do it - it will test your knowledge of data struct…
Going up to the next level in Perl has a larger learning curve than you might expect... but the "low hanging fruit" are very easy to get the hang of.
Re: Ask HN: what language should I learn next?
#50Earlier quoted context omitted.
Yep. I would learn Objective C and write an iPhone app. Or I would say to heck with it and learn Lisp. Why focus on a pragmatic language for web apps? You've got that already.
Great advice, ricree and m_fish. I think this is right on. That's why I don't want to learn Python - it looks like a great language, but I already have Ruby. I've been trying C and Scheme on the side, but through reading (SICP and K&R), and I've kind of hit a wall. I really want to put something into production that isn't written in Ruby, and an iPhone app would do the trick.