

What is the best language to learn for web dev? - LostMyFace

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?
======
dillon
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.

------
neuromancer2600
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.

------
LostMyFace
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.

~~~
MattBearman
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.

~~~
mikegirouard
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.

------
andyl
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.

~~~
PizzaPanther
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.

~~~
bmelton
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.

------
CyberFonic
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.

------
jemeshsu
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.

