Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Which Programming Language To Build A Web App?
12 points by boy88 1419 days ago | hide | past | web | 11 comments | favorite
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

JavaScript is going to be the thing at the client end whatever.

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!

What programming language to use entirely depends on several factors:

What 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 :)

I believe Twitter migrated from Ruby to Scala, not Java.

AFAIK it was only a part of that was moved to Scala. The web interface is still written in Ruby.

More: http://en.wikipedia.org/wiki/Twitter#Technology

Yes that's true. I was making the point that they were simply moving to a Scala stack rather than a Java one, as you had mentioned above.

To me it all depends on other factors. If you're programming in a Windows environment then I'd pick ASP.NET MVC using C#. I've worked with it before and while I'm a Mac/Linux guy by trade, I found C# to largely be a pleasant language to work with.

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 web I prefer PHP or Java, for client side just JavaScript, but then that is because those are the two languages that I am more familiar with and know more about, in the end it will depend on language preference. I would advice not going with Node, I have played with it but seems to be too hard to maintain on big projects. Speaking of that anyone has ever used Node on a large project? And how hard it is to maintain? I would like to know more opinions. Never worked with Ruby so no advices for/against. Python while nice I do not have much experience with it and none on the web, and I think I may never will, the forced indentation annoys me (yes I still like readable code, just don't like to care about it when writing).

I do not know how Java amount of libraries compares with Python or Ruby but it does seem to have a lot more.

Just like camera's, the best programming language is the one you already know. It makes no sense learning a new language when, in the same amount of time, you could build and ship something real. If you're new to web development, I'd go with Ruby if you already have some experience, or PHP if you're blank. I'm well aware of the pitfalls of PHP, but there's just so much code and tutorials on the web to learn from.

Ruby because the development cycle is blazing fast and once you reach a scale where it matters there's plenty of options.

The one you know best?

For me, that would probably be either PHP, JS, or Perl, depending on what functionality I needed.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact