3 ms·
Which web language to pick up for a new developer?
Looking into the future, which platform do you predict will have the most vibrant community AND/OR the longevity that can provide comfort for a budding web developer?<p>1. Ruby on Rails
2. JSP
3. Javascript
4. Misc.
- friendstock 15y agoruby on rails (on heroku)
- gry 15y agoWhy this as opposed to: * Clojure on Heroku * Java on Heroku * node.js on Heroku They aren't doubling down on Ruby, let alone Rails. -- http://blog.heroku.com/archives/2011/8/25/java/ http://blog.heroku.com/archives/2011/8/25/java/
- friendstock 15y agoThat's a good point. I think it might have to do with their ownership by Salesforce. Speaking of Rails, I have been a little disappointed with Rails 3.1... we've had various technical problems with the release candidates, and they've been late in getting to an official release.
- gry 15y agoFrom by biased perspective scripting languages are leaders for web development. * Ruby * Python * JavaScript * PHP These are also the most brittle because they invent and change quickly. I used to be a PHP developer and I thought the frameworks borrowed heavily from the stable Ruby and Python ideas for web app development. You'll find the crazy ones in Ruby and Python and a safer ground in PHP. Safest in Java. My bias. Vibrancy != longevity. Rails 3 bit me tonight because I didn't understand a 201 status code and I almost hacked the path and then what was going on…it felt like the most correct, wonderful thing to do. I'm happy with the result, especially because the code is clean and browsers honor it without a fussy redirect. Ruby and Python are vibrant, hungry communities. PHP is vibrant, more stable. Java is stable and most difficult to introduce an idea to unless it's a language atop the VM. :)
- signinsignout 15y agoFor a newbie to web programming, it seems like Ruby has the spotlight on it..... I would love to go the Java route, but I keep seeing fragmentation ala platform on top of a platform....not sure if that is the best thing to work with.
- TMK 15y agoJavascript + JQuery and for server scripting PHP
- signinsignout 15y agoWhat would you say the pros/cons are of Javascript + JQuery vs. let's say Ruby on Rails or Grails? I understand JS is here to stay a long time, but for rapid development, ROR seems progressive. Correct me if I am wrong.
- ericmsimons 15y agojQuery is Javascript; both of which run client side in the browser. Recently, a language called node.js has taken javascript to the backend as well (minus jQuery). Javascript is used in conjunction with ROR. All of the cool visual effects you see on webpages (and AJAX requests) are entirely javascript. Your real question should be: should I use ROR, node.js, PHP, or python for the backend. The answer: it depends on what you're building. PHP is great for speed & reliability. It is not nearly as easy to snap in pieces of code like Rails & gems (which can be a huge downfall). It also doesn't enforce strict code organization & etiquette. If you choose PHP, make sure you're familiar with MVC and the separation of your code and your site HTML. If you want to have real time stuff in your applications (chat, notifications, etc), use node.js. node is also very fast & scalable. It is entirely server side javascript (which is nice, because then you're writing in the same language for client side and server side). Rails makes web development easy. There are tons of fantastic gems out there that do the heavy lifting for you. In my opinion, this is ROR's strongest piece. Rails is also pretty fast for a framework, although straight PHP and node will smoke the crap out of it every day of the week. Basically, you pay a (IMO) very small price for a ton of saved development time. I don't have a ton of experience with Python & Django, but I've heard good things about it. Rails seems to have more traction, so if you're going for a web framework, I would advise you to choose Rails. That being said, Python's twisted framework is pretty sweet for real time stuff (especially chat). Python is also incredibly fast (on par with node & PHP). I hope this helps you choose your first language. You can always mix and match these languages to accomplish multiple goals (I use PHP, node & Rails at my current startup). Good luck sir!
- michaelpinto 15y agoMy understanding is as follows: a. A good developer should be able to know a few languages, and to keep on learning new languages. b. In theory you pick the best language depending on the requirements of the project.
- signinsignout 15y agoA quick follow up: In all reality, let's say someone were to build "simple" web applications.....by which I mean...a twitter clone etc., would it really make that big of a difference if I chose Clojure or PHP vs. ROR. Maybe I am ignorant about the nuances of these platforms, but from a birds eye view, they all look able to perform the same tasks.
- angryasian 15y agoI don't think its the language as so much the frameworks themselves. example with rails, a lot of developers use several dsl's and with each one there's a learning curve, haml, sass, coffee script, rspec, etc. I think its mainly understanding frameworks that lead to productivity
- michaelpinto 15y agoQuestion: Are you doing the programming (and thus doing the task of learn programming) or will the work be given to someone else? If you're not doing the work yourself create wireframe and/or spec of the project and talk to a few programmers. If you are doing the work yourself and getting started maybe how easy the language is to learn might be a factor. Also if you are building a Twitter clone I'm assuming that you'd also need a database -- so there might be more things to think about as well.
- signinsignout 15y agoI agree with you.....I am good at backend programming stuff, but the front end has boomed in recent times....you blink and you miss a new technology....
- conductr 15y agoIn terms of ease of learning for someone with no programming skills, I say PHP, Ruby, or even Python. The community for each is large and not going anywhere. PHP is a good intro language because you can easily run with it (build a simple site), it has great documentation, and the hosting is straight forward (thus it is easy to launch). Once you get more accomplished with you skill-set, you may get picky and want a more robust language, but 99% of the beginner type stuff can be done with PHP. Also, Javascript is great, you will use this regardless of the "server side language" as it is "client side" (in the browser). jQuery will help, as it standardizes many common and/or complex problems.
- lien 15y agoA year ago I started learning web development and found that you have to start with a framework. I used CodeIgniter (PHP) as the code is pretty clean. It's been around for a long time so there are a lot of communities where you can ask questions. There are also a lot of books based on it. some popular php frameworks include Zend, CakePHP, CodeIgniter. I looked at all 3 and tested it out. I went for CodeIgniter.
- lien 15y agough...Java...i took Java in college and found it to be a horrible language. loads so slow and not the best web dev language around.
- boyter 15y agoTry the Java play framework and you may change your opinion on that. You still suffer the inital jvm start time (once) but everything else is comparable to any ruby, python or php framework with static typing.
- revorad 15y agoIf you're looking to double down on one specific idea, just pick any popular platform and run with it. If you're more flexible and just looking to learn, build little apps on as many platforms as you can and see which one you like best.
- adam-_- 15y agoWith all this talk of dynamic scripting languages, I just wanted to mention Perl. We also have a powerful framework - http://www.catalystframework.org/ http://www.catalystframework.org/ and there's an excellent book: "The Definitive Guide to Catalyst". There's also a great, freely available, introductory Perl book: http://www.onyxneon.com/books/modern_perl/index.html http://www.onyxneon.com/books/modern_perl/index.html. For any framework you pick up you'll need some grounding in the language as whole. Many would consider Perl to be not as shiny and modern as Ruby or Python but we keep stealing their good ideas anyway: * Rack/WSGI -> Plack. * RVM -> Perlbrew. * Bundler -> Carton. * Sinatra -> Dancer. Not to mention the good ideas emanating from the Perl community itself: * A strong commitment to testing, which has lead to a central repository for cross-platform test reports for every Perl library released http://static.cpantesters.org/ http://static.cpantesters.org/ * An advanced, powerful object system http://www.iinteractive.com/moose/ http://www.iinteractive.com/moose/ Much as I enjoy programming Perl, there's not really a bad choice between: Perl, Python, PHP or Ruby. Some would argue that the inconsistencies of PHP make it more difficult to learn but I'd argue that if you're on a Windows platform it's probably the best choice. The ubiquity of cheap PHP hosting is another benefit for a beginner. Try learning enough to write a simple script in each of Perl, PHP, Python or Ruby. Then a pick a framework for the language you felt most comfortable with.
- kgtm 15y agoGreat post, upvoted. I enjoy programming Perl for the web more than anything really, and I think there has been great progress in terms of available modern, efficient and easy to learn web development frameworks. I prefer Mojolicious over Dancer. Be sure to take a look at the wonderful documentation over at mojolicio.us and drop a line at the amazing (and helpful) community on IRC (#mojo on irc.perl.org).