What's the best web programming language to study right now?
I’m interested in studying up to learn more about the net and how to program on it. What should I be studying?
Observing members:
0
Composing members:
0
16 Answers
Ruby. Maybe Python. Avoid PHP at all costs.
Python <http://python.org/>. It was originally developed as a teaching language so it’s relatively easy to grasp, but it’s also robust enough to be one of the languages Google lets in its doors. I’d recommend getting started with Pylons <http://pylonshq.com/>, the best of the Python web app frameworks. Not only that, Fluther is written in Python. What more reason do you need? ;^)
PHP has the advantage of being easy to learn (with a similar syntax to JavaScript) and ubiquity when it comes to web hosting. There is a lot of work out there in PHP.
Ruby has the Rails framework, which is a joy to use (though Pylons is fairly similar and Symfony on the PHP side is a direct clone of it). It’s trendy and hip, if that’s important to you, but the language is a little more difficult for beginners than Python or PHP (IMO).
I will go against the grain and say PHP. Basically, PHP will work on just about any server without any hassle. Name a file index.php and you are good to go. No need to install a framework from the command line.
Anything you need to do in PHP you can Google and in about 5 seconds find a tutorial that tells you how. PHP isn’t as Hipster as Python and Ruby but it gets the job done.
PHP and, as much as I hate to say it, ASP.NET (VB.NET, C#.NET, etc).
Do a search on www.monster.com, careerbuilder.com, and others for web developer positions. You will probably find more need for these two than any others.
I see no reason whatsoever to avoid PHP, especially “at all costs”.
Of course that stuff aside, XHTML, CSS, and Javascript are necessities.
If I wasn’t doing PHP work, I would probably do Cold Fusion.
(At the risk of starting a programming language holy war…)
@johnpowell and @glial, you bring up valid points. I think the answer depends on what @webarnold wants to get out of his stated goal of wanting “to learn more about the net and how to program on it.”
If the goal is to quickly gain some marketable skills, then PHP and .NET are great choices. There is a lot of work out there in both of these areas.
If the goal is to gain a solid understanding of programming fundamentals (which is the bias with which I approached my answer), then I would steer him to Python or Ruby because these languages both promote good practices by design.
I guess I also made the assumption (potentially making an ass out of me and some guy name Umption) that @webarnold has a base level of skill in HTML, CSS, and JavaScript and was looking for how to take the next step. If that’s not true, then I would highly recommend taking the time to really learn these in a web standards kinda way as they are the foundation upon which all other quality web work rests.
BTW, a fantastic source of information about JavaScript (and other web technologies) is Yahoo’s Developer Network YUI Theater
@segdeha – I do have a pretty strong command of HTML/XHTML, CSS, and Javascript (less so on the javascript, but I’m getting there). I find it interesting to see people so divided on the issue of PHP. My end goal is not necessarily to gain marketable skills to find a job, more for me to learn and work with on my own. Someday it might be nice to be a web designer/developer as my main source of income, however.
The above and then combine your knowledge to learn AJAX! That language can do some very sexy things (and I’m not a programmer, I just know from experience being a web designer in training).
Not to be pedantic (well, maybe to be pedantic), but AJAX is not a language. It is a catchy name for a combination of technologies used in a certain way. The letters stand for the following:
Asynchronous: things happen in parallel, without waiting for other things to happen.
JavaScript: aka ECMAScript, the programming language behind AJAX.
And: a conjunction joining related concepts.
XML: 1 of the 4 different payloads that can be sent back and forth between client and server during “AJAXy” interactions (the others being HTML, JSON, and plain text).
For the sake of catchiness, Jesse James Garret left out of the name a very important component of most AJAX implementations, CSS.
But, yes, @fkt, AJAX is the hot thing right now, so it’s a great thing to learn how to do. Not only is it marketable, but it’s a lot of fun.
..of course if you want to get ahead of the pack you should learn some COMET…segdeha, have you heard of this one. Talked about it a bit at Web Design World this year.
It got a big sigh from the crowd. haha
So Ruby is on its way out then? Is it true that Ruby is slower processing on the back end than a language like PHP?
Ruby is on the way up as far as I’ve seen. It’s the hottest thing out there at the moment in terms of buzz, but I recommended Python over Ruby because, IMHO, Python is a bit easier to learn than Ruby.
Ruby has been criticized as being slower than other interpreted languages, but in practical terms it is definitely fast enough. It’s used for major sites like Basecamp that serve 10s of thousands of users. If your site is bigger than that, you probably already know another language. ;^)
For web development, make sure you can hand-code standards compliant XHTML and CSS. Use the W3C’s validator to check all your work. Learn some basic PHP (forms submission, etc.) and SQL. LAMP (Linux, Apache, MySQL, PHP) is one of the web’s most common architectures; this skillset alone can take you far.
JavaScript is not tricky, but most websites and many books offer very bad advice to aspiring JavaScript programmers. Douglas Crockford (a JavaScript guru himself) says he can only recommend one book on the language: David Flanagan’s “Definitive Guide”.
With the above skills, introduce yourself to some web development frameworks (CakePHP and CodeIgniter are popular for good reasons.)
As others have said, Python and Ruby are also deserving of attention; these languages are not so tightly focused on web development. Ruby is my “swiss army knife” scripting language: I use it to write quick-and-dirty Cron jobs and throwaway scripts, as an alternative to “bash” scripting, etc. I have never developed a website using RoR, but Ruby is very valuable to me. “Programming Ruby: The Pragmatic Programmer’s Guide” by Dave Thomas/Chad Fowler/Andy Hunt is one of the best books for learning any programming language.
I’m going to have to agree with some of the other answers up there and say do yourself a favor and learn PHP. PHP is pretty easy to learn for anyone with a little bit of development experience and there are so many fantastic tutorials out there just begging to be read. LAMP is an extremely popular architecture and you can easily get a job by understanding the basics there.
I’m going to throw my hat in the ring and vouch for a little ColdFusion action. CF has its good side and bad sides. On the negative, it’s not really an open source community (like PHP) nor is it free, thus the support community is going to be drastically smaller than what you may encounter with other web languages. On the up side, you can perform rapid application development since it’s just so damned easy to code. I’ve been coding CF for years now and haven’t found anything that it couldn’t do as well as or better than a lot of the other languages. Plus it’s pretty fast!
@adrianscott, Ah, ColdFusion! I was a CF developer in a former life. You’re right. It is easy to learn (on par with PHP), but has—as you mentioned—the drawback of not being free software.
@glial, Yes, I’ve read a bit about Comet, but haven’t had the need for it, yet.
You can teach your self web programming.
Visit w3schools
Response moderated (Spam)
Answer this question
This question is in the General Section. Responses must be helpful and on-topic.