4 ms·
I'll try to help you giving you my point of view. It's a polemic subject I hope it doesn't start a flame war. JavaScript is a very important language for web d
by facorreia 14y ago
I'll try to help you giving you my point of view. It's a polemic subject I hope it doesn't start a flame war.
JavaScript is a very important language for web development. You can build web apps using it exclusivelly (called single-page applications) or running on a web server (with Node.js). I wouldn't advise any of these approaches to someone just learning web development, though. Single-page applications will required understanding and possibly implementing server APIs, and Node.js is a bit too new for beginners, or at least that's my perception.
Ruby (with Rails) is possibly one of the most popular choices nowadays for web development. I think the Ruby language itself is probably harder to fully grasp than others. But there's a lot of learning resources, just look for Rails books, tutorials and videos.
PHP is a very practical language, to extremes. It's newby-friendly and has been very popular. I have reservations about it because I think beginners are attracted to it and they don't know enough about pitfals (like, for instance, global variables) and end up creating code that can be very hard to understand, debug, maintain, not to speak keep safe against exploits.
Another popular option that's missing from your list is Python. It is a very good language, relatively simple to learn with less mystery than JavaScript or Ruby, for instance, and that promotes better code quality than PHP. Frameworks such as Django, web2py and Turbogears provide good foundations for web development (each in its own style). Django, for instance, has a great tutorial. And there are tons of learning resources about Python, such as http://learnpythonthehardway.org/ http://learnpythonthehardway.org/
So my advice, is, either learn enough Ruby to start playing with Rails, or try Python, possibly with Django.
Myself, I'm currently very happy with C# over the Microsoft ASP.NET MVC stack.
Good luck and feel free to ask any further questions.
- allardschip 14y agoIf you decide to go with Python, consider a micro framework like bottle.py or Flask. There is less to learn to get productive. If you do anything non-trivial you will end up using a database. MySQL, PostgreSQL are most used. You may want to look in to a noSQL database like MongoDB. I find working with MongoDB very productive, especially when you are figuring / learning things on the go. Recommended by others in this thread as well but try Coffeescript to write your Javascript and use JQuery for code that works in different browsers.
- facorreia 14y agoFor an absolute beginner, I think a more integrated solution might provide a less frustrating learning curve. Selecting, learning and integrating a full web stack is no trivial task.
- allardschip 14y agoThe larger frameworks might have a better out of the box experience because of the 101 videos and tutorials. Smaller frameworks do have some getting started material as well. I find you are also learning a lot about how to do it the framework's way (HTML helpers, ORMs) while not really learning the underlying technology (HTML, SQL). That's going to hinder you.