

Ask HN: Which Programming Language To Build A Web App? - boy88

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"<p>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.<p>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
======
bdfh42
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!

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

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

~~~
TorbjornLunde
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>

~~~
kirang1989
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.

------
thecoffman
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.

------
LoneWolf
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.

------
dirktheman
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.

------
debacle
The one you know best?

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

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

------
Cieplak
<http://www.yesodweb.com/>

