Next Language to Learn? 11
Definitely looking for feedback on this one. On my previous list I used to have the following as the next languages to learn and play around in. Of course the only true way to learn a language is to find a project to do in it (but I’ll figure that one out a bit later).
In no particular order:
- Python
- Ruby
- Groovy
- Objective-C
I went ahead and nailed Groovy (well still working on it but I have learned a lot in the short time I’ve dived into it). I still have my Programming Ruby book (and my Rails book) but haven’t had a chance to dive into those yet. Really would love to compare Groovy’s meta programming with Ruby’s in the near future. Python is still kinda on the radar, but mostly to learn how to manipulate tuples. Objective-C sits above Python for the moment.
Recently though some new (and not so new) languages have entered my list:
Here are some others that I might look into given the right impetus:
- Lisp
- OCaml - not so sure about this one
Functional languages are all the rage right now, so it would be good to know why ;-). And Erlang and Scala both have Web frameworks that look interesting (Erlyweb and Lift respectively). Being a Web programmer I would like to investigate these as well.
What other languages are out there that would be good to learn? Why?
Trackbacks
Use the following link to trackback from your own site:
http://www.warneronstine.com/blog/articles/trackback/301

Do not forget to add Fortress to your list. it is probably the most original one..
So, why should I learn Fortress instead of some of these others? Tell me, I want to know :-)!
You don't mention why you want to learn a new language. A jack of all trades is a master of none.
That's true, but as a programmer I follow the Pragmatic Programmer's advice:
lol Objective-C ! What for ? programming a Mac I think. That's all it can do. I used to code in that language 10 years ago. I was programming with the WebObjects thing, hopefully I switched to J2EE before it was too late. Too bad Apple never advertised on WebObjects, it was a great product. And don't get me wrong, Objective-C is a very good language, but except on the Mac side, it's useless. Even WebObjects was programmable in Java in the end. Ok Java with NSArray, real fun, thanks Apple !
erlang I think...seen the rest.
there are several reasons to look at fortress.
On the bad side, you will need to wait some more years for a native compiler, or a complete production implementation for JVM. it's syntax may require the assist of an IDE, and it may be have a too scientific taste for some type projects.
just check the beta language documentation.
http://research.sun.com/projects/plrg/fortress.pdf
Fortress looks good because:
Looks like Objc is going the way of Pascal...which is exactly why I use it! You love Hemmingway, right? Then you have to be all about the dramatic reversal! Stick with the underdog.
Anyway, I would also say the only real way to find out which one you want to use is to use them all!!! Do what I did with the wishlist man! Use every language you can coherently bind and do it!
If you think that's too crazy, then I suggest this! Code generators. Write a code generators in each that translate from one to the other like chain-linking code. You're into DSLs and code generation. This is your cup'o'tea. Grab Haskell and make it generate OCaml or Smalltalk code, then build a web frontend using Erlang. Use scheme to generate syntax highlighted HTML of the generated code. Add a pragma or annotation language for Literate programming into your generated code that is interpreted by a Scala program and generates LaTeX and docbook code from the code.
Ok, as strange as it sounds that last part actually has some cool ideas in it (and gives me some ideas for my first Scheme project).
Thanks Leo!
I'll put in my vote for Erlang for the following reasons:
Functional language - Nice to try if you've never done functional programming before
Cheap/easy concurrency & distribution - The language supports high levels of concurrency and distributing code over multiple nodes/machines
Mnesia
ErlyWeb - if web apps are your thing