

Ask HN: What technology/language should I learn to make wep apps? - coreyja

Hey Guys,<p>My name is Corey and I'm freshman Computer Science major. I've been programming for awhile, but I want to get more into the web side. I have done web development stuff before but that is basically limited to HTML, CSS and minimal JavaScript. I've used a little PHP but basically only enough to make a WordPress theme. So my question is basically what language/technology is kinda the main stream of the best for server side web app development? Pros and Cons of different technologies would be very much appreciated. The main one that I'm leaning towards is Ruby and Ruby on Rails. But PHP is another one and I've heard Facebook is written in that and they seem to be doing pretty well. Just wondering every bodies thoughts. Thanks and sorry for the fairly broad question.
======
kls
To be honest with more and more of the UI portion of web apps moving to pure
HTML/CSS/JS the back-end choice is becoming less and less relevant. A lot of
us are implementing the entirety of the UI in client technologies and
utilizing the back end via REST as a service layer. In this architecture, the
stack you choose becomes less important because if you decide to swap it out
you just start writing new services in the next languadge that you choose. For
example I was doing quite a bit of REST services in Java but I just switched
over to Clojure and have been implementing new services in Clojure. I could
have (almost) just as easily switched over to Ruby or Python if I wanted to.
Getting the UI out of the back end stack makes the choice of which stack less
of a huge decision because it breaks a great deal of the technology lock in
that happens when the UI is locked away in back-end languages. It's not for
everybody, but it is something to consider when looking at how the future of
the web will be built. The trend of architecting web apps in this fashion is
growing as it offers some pretty compelling benefits.

------
tjr
Ruby on Rails would be a good system to learn (but make sure you really
understand what's going on over on the database side of things; it's easy to
do stupid stuff with Rails if you aren't paying attention). Ruby on Rails also
appears to be perhaps the most mainstream option right now.

PHP as a language has never appealed to me, but it has the advantage of, it's
very easy for novices to install PHP applications on their server. Consider
Wordpress. If Wordpress were in Ruby on Rails, it probably would be nowhere
near as widespread, because it takes more effort to get it running. Wordpress
is pretty much, plop the files on your server and it's running.

