Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
What is the best language to learn for web dev?
5 points by LostMyFace on Dec 16, 2011 | hide | past | favorite | 11 comments
I have been going back and forth between PHP, Java, Javascript, Python, Perl, RoR, etc... I have no idea what to pick. I am relatively new to programming, but been working in the computer industry for years. I want to start messing around in web development, but I want to make the right decision on language choice first. What do you all think is the best path for me to choose?



As server-side languages go, all of them are fantastic and have their ups and downs. You can probably learn Python or Ruby the fastest. PHP you could always learn pretty quick, but when it comes to complicated tasks I always tend to get confused, depends on the person. Python and Perl can be used for pretty much anything so when you learn those two you can do much more than just web development (along with Ruby and Java as well, just not as much). Java is used the most in the software world so learning Java will have the most value, most likely. Google App Engine or Heroku is also a good starting point since they do all the complicated server stuff for you.


I would probably recommend going with PHP as it is one of the easiest server-side languages to learn. As others pointed out, JavaScript is omnipresent and picking it up after you got some basics down with PHP is fairly easy.

To get a hold of Java requires more time (it's forcing you to think in objects rather than just going ahead in scripting) and you will probably see less results as with Python, Perl or PHP.

If you have someone to help you out (to answer questions and set up some development environment etc.) in any of the languages above, I recommend going with that. It will have a huge impact on your progress and motivation.


Thank you all for the advice. I've installed PHP, Python, and RoR. PHP took the longest to get up and running properly so I would have just wasted all that time if I didn't at least try to use it right? Also just looking at the number of applications that use PHP versus the others, I guess I will start with that. I used to know HTML/CSS pretty well, but that was 5 years ago. I never went much deeper into the web development world.

Again thank you all for your advice.


Out of interest what OS are you using?

Something like WAMP for Windows, XAMPP for Linux or MAMP for OSX will give you a full LAMP stack with PHP in minutes. It's great for local development, although of course terrible for an actual web server.


I used to be WAMP/MAMP but since have switched over to Zend Server (Community Edition). It is a bit more technical, but I find it to fit my needs a little better.

My only complaint w/ZS is the odd default of port 10088 for the httpd server. I suppose it's nice to have that if you're running another local server, or perhaps as an application server sitting next to an existing web server.


Every web app is gonna use JavaScript in the browser. So IMHO learning JavaScript is a must.

Then the question is: what server-side language to learn? If it were me, I'd learn a modern scripting language like Python or Ruby.


Agreed. On the server side my vote is for Python. I think it is a better all purpose language. So if you have scientific, engineering, or mathematical parts of your app, there will be lots of libraries to help you out.

All though if I started out today with zero knowledge, I'd be tempted to be lazy and just learn Javascript on both the browser and server side with Node.js.


If I started out today with zero knowledge, I'd probably go the other way and just learn Python and let Pyjamas compile it to JavaScript.


It depends on which part of the server you're speaking about. Python and Ruby are fantastic for shell scripting, but I've always found myself gravitating towards PHP for web application development -- but that's only a personal preference. I haven't done any client work with Node.js but I know I'd feel just as comfortable building a full web app in JavaScript.

At the same time, I've tried to use PHP and JavaScript for shell scripts and I just can't get it to sit right with me. PHP is just awkward (again, my preference) and Node's shell interaction is asynchronous which doesn't work well when trying to do things like build scripts.


You can get by learning only JavaScript. You can use it both at the browser and the server. I like NodeJS because it is got a lot of support and ever growing collection of modules.


Instead of one language, learn JavaScript and either Python or Ruby. Python or Ruby are similar, learn the basic of both and choose one that you like better to master.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: