Ask HN: Which Programming Language To Build A Web App?
Hey guys, my name is Pravin (more here: pravindaryani.com). I'm writing a blog post which discusses my experience with the question: "Which Programming Language To Use To Build A Web App"
I have my own thoughts from what I've learnt off course but would be great if you guys want to add your comments on this - would be good further learning from me.
Note: The post has been approved by a popular web publication you probably read (i'll avoid giving out the name for now) and if I use your input/quote in the post, I'll be sure to credit you for it
11 comments
[ 3.3 ms ] story [ 34.7 ms ] threadWhat languages to do you/the team have experience with? What are the features of the web app? Realtime stuff? Single-Page App? Lots of IO?
I've lately preferred working with Node.js, and Ruby before that.
I know we use Python (with Pyramid) for a lot of internal things at work and the main website is made fully with Java.
The bigger websites of the world use many different languages.
Google seems to favour Python, Facebook uses PHP, Twitter used to use Ruby and now they are mostly Java (?).
So what language you use is not that important in my opinion, you just need to find one that fits your needs. I also prefer to use languages that have a good community around it, that way you can ask others :)
More: http://en.wikipedia.org/wiki/Twitter#Technology
Otherwise the choice would best be decided by which language you are currently most familiar with - if you can't use that then use the one closest to that.
Course if you want to use ROR then the choice is made - indeed the choice of framework/platform might just make the decision for you.
In the end it is probably not worth getting too hung up about - just get started and ship some working code!
I do not know how Java amount of libraries compares with Python or Ruby but it does seem to have a lot more.
If you're on a more traditional Linux stack, I find Ruby has the best ecosystem around web application development. Its not the best for everything (for instance Python tends to have better libraries for more advanced math and statistics work), but I think Ruby is the best for rapidly prototyping and building out a web application. The packaging system, ecosystem, and huge number of available libraries are killer features, and you can always switch to JRuby if concurrency becomes an issue.
If you build your application in the right way you can extract services and port them to Java or something more performant as needed if you hit the limits of a scripting language performance wise. This gives you a clear path forward as you need to grow and scale. Though a well constructed Ruby/Python/whatever app can scale fine if built well.
For me, that would probably be either PHP, JS, or Perl, depending on what functionality I needed.