5 ms·
Poll: What Language would/do you use to build a web application
There are so many languages and frameworks now to build web applications. What do you use/prefer today ?
Please upvote the post itself to share with others.
EDIT: Added Javascript , haskell and Go little late. Sorry i m such a noob sometimes!!
- xiaoma 13y agoJavaScript - I'd do the prototype in Meteor.js and then build it out for real with Node and a standalone front-end framework. Depending on the project, that framework might be backbone.js, ember.js or even bound.js plus other things I cobble together) And there's no way I'll vote up a poll with ten options including Dart but not JavaScript.
- Stealth- 13y agoYeah, I think in the HN community Node would be a much more common option than VB.
- 1qaz2wsx3edc 13y agoWhy would build a prototype to only throw it away? This seem naive.
- Zikes 13y agoI think the prototype in this case is more to flesh out the idea and its associated functions, without concerns for code quality or security. It would help a lot in building the road map for an application, but you definitely wouldn't want to use any of it in production.
- 1qaz2wsx3edc 13y agoSome frameworks are designed to help with this step though. For instance: Rails has scaffolds & generators, angular.js has directives (plain old html views you can open), html itself can be used for mock-ups (and there are plenty of others as well). Specifically, why build a partially functional prototype only to throw it away for another framework down the road. It seems naive to me, because the effort you put into the prototype is mostly dropped (except for high-level mental models). Rather then building a throw-away prototype, I think it's better idea to build a prototype you can refactor and improve, with one set of tools.
- 32bitkid 13y agoyou and I have very different definitions of "prototype"
- tudborg 13y agoYou need to go look up "prototype" ;)
- xiaoma 13y ago1) Seeing things in action often clarifies my design. 2) You can build things really fast with Meteor. 3) After you know what you're doing you can develop the robust version much more quickly. This time savings is often significant. 4) Since Meteor is built on Node, you don't throw everything away. You can actually keep quite a few functions and nearly all your handlebars intact when you port to the final project. I'm not saying working this way is for everyone, but it works well for me.
- adamrneary 13y agoAgreed. JavaScript is the top language on github by a margin (https://github.com/languages https://github.com/languages), and some of the other languages you listed aren't really intended for web apps naturally. I would add JavaScript post haste and probably kill off Dart and VB.
- codegeek 13y agoI am such a noob that forgot to add javascript. added now.
- kyllo 13y agoList needs Javascript (Node.js)
- systematical 13y agoPHP out of experience, but I can't say its necessarily "the best"
- dedward 13y agoIt absolutely depends on the scope and features of the application... the question would hold more meaning if it were more specific?
- downsplat 13y agoPerl. Old and old-fashioned, but still good, and with a good community.
- mdesq 13y agoNo JavaScript option?
- james4k 13y agoGo :)
- fla 13y agoRuby + Rails because reinventing the wheel is painful and risky.
- krapp 13y agoIf you don't want to reinvent the wheel then you should be using PHP.
- ing33k 13y agoSymfony2 ( PHP )
- jonezy 13y agojavascript definitely needs to be in there!
- tome 13y agoOther: Haskell (Happstack framework)
- kzim 13y agoDefinitely Java!
- v33ra 13y agoJavaScript. And, why no JavaScript?
- mindcrime 13y agoWhat, no love for Groovy?
- vorg 13y agoDo we upvote Other to vote for Groovy, or Ruby? The only functional difference between the Groovy implementation and Ruby's many implementation is the alternate syntax, so really Groovy's implementation could be considered a dialect of Ruby.
- falcolas 13y agoPython, using Django or Flask. Flask if I want to get it out fast, and Django if it's complex enough to justify the overhead. I simply like how Python gets out of my way when I'm trying to write something. I have yet to find another language that does that for me as well as Python does.
- codegeek 13y agoyou read my mind. was going to type exactly this.!!
- kyllo 13y agoI feel the same way... about Ruby. I'm always shocked at how often I can just guess how to do something, and it works. The language lets you do anything. Whereas in Python, there's one way to do it, and it's a matter of looking it up the right way to do it. Matter of personal preference, really. They're pretty much equivalent choices for a web app and one probably just should use whichever one is most comfortable with.
- morganwilde 13y agoTo be honest, I always felt the same way about both Ruby and Python, the level of intuitiveness seems the same to me.
- kyllo 13y agoYeah, I totally get that. It's just that having learned Ruby first, when I try to write Python I type things that I think should work, but they're just the wrong syntax. Like, as a trivial example, I always try to push() on a List when I want to use it like a stack. List in Python has a pop() method but no push() method, what's up with that? I guess I just need to RTFM though.
- DanWaterworth 13y agoI'm building one in Haskell at the moment. I don't know that I'd go so far as to recommend it yet; the available libraries for web related work are fairly hit and miss IMHO. Some leave a lot to be desired, others are fantastic.
- angersock 13y agoRoR and some frontend nonsense in JavaScript. You really ought to specify "What language do you develop your backend in?", as that's a bit more clear in your intent.
- obviouslygreen 13y agoPython here. I really enjoy working with it and recommend it often... I'd love to start using Clojure, which I keep false-starting on learning, but it's hard to find the time (which is a good indication it's just not as important to me as the other things I spend my time on; oh well).
- Xcelerate 13y agoNode.js. Surprised it's not on the list.
- codegeek 13y agosorry forgot to add it. Just added.
- msoad 13y agoI scanned this multiple times... Where is JavaScript???
- Su-Shee 13y agoFor small stuff CouchDB directly (with Jade as templating) or Smalltalk's Seaside, for larger stuff build for running the next decade Perl due to boring stability and backwards compatibility and least surprises.
- orokusaki 13y agoPython, because Python rocks! No, seriously, if you haven't tried Python, try it. It's getting better every year.
- krapp 13y agoI almost made it through Coursera's python course. It's a really nice language but I still find the whitespace thing annoying. Also package management seems a bit lacking but I might just not be familiar enough with the ecosystem.
- tharshan09 13y agopackage management is best handled through PIP. Virtualenv for isolated environments.
- orokusaki 13y agoI'd say Python handles package management better than just about anything else, period. Regarding "whitespace"... best stick with PHP or Perl.
- msoad 13y agoJeff Atwood Law: Any program that could be written in JavaScript will be written in JavaScript
- honzzz 13y agoI know that some people really don't like JavaScript but seriously... Dart, but JavaScript not?
- sillysaurus 13y agoArc. I've just finished adding scrypt password hashing to it, actually.
- trunga0 13y agoPython, and to be more specific: Tornado.
- saryant 13y agoScala. The Play! Framework offers some terrific features for asynchronous web applications, especially coupled with Akka.
- mscottmcbee 13y agoWhy is VB included but not JS or Go?
- xSwag 13y agoWhy is there no option for Node.js?
- guiomie 13y agoNode.js isnt a language.
- hernan604 13y agoperl.... as an APP without a framework. Then i would plug that APP into a perl framework ie: Perl Catalyst. And if im not happy, i can change to Dancer or mojo And then JS for client side.
- Cafe 13y agoYeah! App is web(-framework) agnostic. Easy testable. No fat controllers! Same app used from web, email, CLI, irc, you name it... Web framework is a glue, not a cage. :)
- tempodox 13y agoWhy, oh why is there no Lisp on the list? Here's to the weird ones.
- guiomie 13y agoJavascript
- skram 13y agoRuby: Sinatra/Rails, usually on top of Heroku or straight-up AWS. Usually a SQL-variant or MongoDB.
- shriphani 13y agoRacket. Really enjoyed using it.
- SpeaKeasYSKY 13y agoI think mootools is pretty cool.
- RyanZAG 13y agoThis poll is very interesting to me for one reason - Python is winning the poll, yet I very rarely see/use any large web applications that are actually written in Python. I'm guessing this is partly because Python is increasing in popularity now, and the web applications being written in it haven't yet reached the wider public? Also, perhaps, a lot of small personal projects are done in Python yet don't scale out into the Gmail/Gdocs/Github style ubiquitous services? The poll is also missing Javascript which is very strange, as it's probably still the most used language for the front end of web apps, and with Node it's probably used more regularly for the full stack, too. EDIT: Looks like Javascript was just edited into the poll now.
- bobbyi_settv 13y agoYouTube handles more traffic than all the sites you named combined.
- shinkage 13y agoThat might be true, but do not forget it is a hybrid between Python and the C Family (C++?).
- Morphling 13y agoDon't quote me on this, but I think Python is more wildly used than Ruby as a language, but not on the web and it's popularity on the poll might have to do with Rails now falling off little since it's not the shiny new toy anymore. Everyone seems to be all up in Python right now and I don't know why.
- shuzchen 13y agoThere are a ton of large web apps done in python. Youtube, disqus, bitbucket, The Onion, some mozilla properties, instagram are the examples that come to my mind. A simple google search would probably result in surfacing many more - see http://stackoverflow.com/questions/886221/does-django-scale http://stackoverflow.com/questions/886221/does-django-scale
- morganwilde 13y ago
- sdoowpilihp 13y agoI have used Scala in conjunction with the Play Framework as of late. I am a fan of it.
- Morphling 13y agoI'm pretty much a JavaScript guy, but lately I've been writing a lot of stuff with Ruby for work, so I might give a Rails a try, really depends on what we'd be building. And while I'm commenting I might as well add at at this point if I wouldn't touch PHP or Java with a long stick. I can barely sleep at night when I think of all the people who still write Java on browser...
- pfg 13y ago>I can barely sleep at night when I think of all the people who still write Java on browser... You are probably talking about Java Applets. No one is writing web apps as Java Applets anymore (if you could even call something like that a web app). We're talking about real web apps, and a lot of companies are using Java to build them (e.g. Gmail and a lot of other Google Products, ...). Plus, the JVM is a great runtime for other (more dynamic, less verbose) languages like Scala or Groovy.
- rasterizer 13y agoGo. Add it :)
- deleted 13y ago[deleted]
- RivieraKid 13y agoUnfortuntely, I don't see good alternatives for Java if it's a larger project. C# - tied to MS stack. I know, there's Mono, but I'm somehow sceptical using it for a web app... Python, Ruby, PHP - slow, much worse IDE support than Java. Clojure - dynamic typing -> worse IDE support, less readable than Java. Scala - slow compilation, overly complex and unelegant syntax. Go - looks good, but sometimes feels too low-level - it's a systems programming language, it was created as a C++ replacement. Dart - unfortunately the ecosystem isn't evolved yet, but this is how Java should look like. The only thing I don't like is optional typing.
- Permit 13y ago>C# is tied to MS stack. I know, there's Mono, but I'm somehow sceptical using it for a web app... I don't understand why the initial reaction to Mono is always skepticism. No one's first reaction to other open-source projects is instant skepticism...
- WayneDB 13y agoIt's possible that people commonly conflate their feelings towards Mono with their feelings about the general CLR/C# environment. Not saying that's definitely the case here, but how many web-targeted projects exist for .NET/Mono? Obviously, there's ASP/MVC - but what else? Compared to the number of web frameworks/etc for Java? (I don't know.) The anti-Microsoft sentiment seems strong among web devs. So, when new devs start out, they might read a lot about how if it comes from Microsoft - it can't be good. I am fairly certain that that is a strongly contributing factor to people's avoidance of it.
- morganwilde 13y agoHave you ever seen PyCharm http://www.jetbrains.com/pycharm/ http://www.jetbrains.com/pycharm/? I do feel it is a much better solution than what Eclipse has to offer.
- RivieraKid 13y agoNo, but I'd be very surprised if it was better than Eclipse & Java, because Python is dynamically typed and generally less explicit (Java has access modifiers, standard annotations like @Override etc.).
- daniloassis 13y agoI'd go with what I'm better or what is better for the team skills... usually I stick with Ruby, Python or PHP. I'd love to build something in Scala someday. :)
- DonnyV 13y agoI used to do a lot of desktop development but for the past 4 or 5 years have mostly been doing web development. I'm quite fluent in Python, C#, Javascript, etc. I can't imagine doing a large project in Python, it feels hacky. It has a ton of great features like the "with" statement which is pretty cool but I still reach for C# and Asp.net MVC for large web projects. Maybe I'm missing something.
- tudborg 13y agoIt very much depends on the application. What is the size and scope of the project? What feature-set are we looking at? Anything realtime? Performance critical? Large team building components at the same time? Maintainability? Scale? If you really must pick a one-language-fits-all (and i think this poll reflects this logic) it would have to be python. So, choosing tool before job; python. But also, you would be an idiot.
- killercup 13y agoLua - I'm going to use it (using OpenResty) to build an API for a web application soon.
- Cafe 13y agoPerl
- cmaxwe 13y agoSmalltalk?
- X4 13y agoCan you add C? I prefer C for critical parts, reserve the option to use Python for stuff that Python is good at and use mostly Javascript in the front-end usnig a MD* Framework. My clients mostly just ask for PHP though. That's my problem though, I need to find new clients.
- ing33k 13y agoeveryone knows that hn users like python, so no surprises
- deleted 13y ago[deleted]
- jjasper22 13y agoDart is the best !