Ask HN: Best Web Language to Learn

6 points by pjw1187 ↗ HN
Hi everyone, I'm trying to figure out the best web language to learn. My programming roots in Java, but I also know PHP, Objective C, and have dabbled in about everything else(.Net, Ruby, Python, etc.). I have about a month break coming up and have decided to learn a new language. I want something fast and quick to develop in. I've been looking at learning DJango framework or Cappuchino, but I'm not sure where to go. Any suggestions? Thanks!

12 comments

[ 3.1 ms ] story [ 37.5 ms ] thread
This has been discussed fairly exhaustively, but here is a quick summary:

You cannot really go wrong with python or ruby. Both have a number of solid frameworks for you to try (rails, django, pylons, sinatra, etc). Try a number of them and build some trivial app in a few of them.

I also recommend getting familiar with javascript and a library like jquery or mootools, if you plan do dive deeper in the web dev.

I've you're not sure, IMO, install Django and follow their tutorial. Pythons a great language, Djangos a great framework, projects can be hosted for free on Google app engine and the Django documentation is excellent.
I agree. I think python is easier to master in a shorter period of time, and you can definitely do some damage with it. Rubyists love Ruby but I've never really seen the light.
Interesting. I had a much easier time picking up Ruby than python.
I think my issue with it is notation I'm not used to, especially concerning notation like :name and |obj|. I'm sure I could understand it if given time, but I chose one over the other. What I'm trying to say is this guy might find python easier, but it's interesting that you found Ruby easier. I guess everyone is different.
Within your constraints, I would vote for Python too. It is an excellent general purpose programming/scripting language with libraries for every imaginable task, object-oriented programming patterns, and some basic functional programming features.

The separation of application code from web server is also a nice feature of Python based web applications. PHP is really easy to hit the road running but larger applications get clunkier and clunkier because there is little proper separation.

It sounds more like you want to learn a web framework than a new language. Picking a framework depends on what your goals are - do you want to develop REST based services, write rich-internet-applications, or do more traditional web-apps?

Cappuccino looks interesting for developing RIAs (or whatever the current buzz-word for these things is) but I wouldn't use it if you're just looking to develop the next best blog engine. Same for Google Web Toolkit (GWT).

Django, Rails, and the like seem to be a good fit for a wide variety of things - blog engines to photo albums and on.

Now, if you really do want to learn a new language, try taking a look at Erlang. My background is similar to yours and I started looking at Erlang recently and have really enjoyed it. Combine that with the Nitrogen web-framework and you've got a really powerful and fun combo. Now, you won't be able to deploy it on your shared host, most likely, but it's not difficult to set it up on a cheap server in the Rackspace Cloud (or elsewhere).

Seeing as how you already know PHP, I would say Javascript is the next big thing, especially if you're into cool looking web apps. It's also something you'd need no matter what your server side is.
since your background is with Java, I suggest you to look Grails which has similiar features with Ruby on Rails and Django.