
Ask HN: Advice on selecting programming languages for a new web product? - vpj
One of my friends, who has experience in algorithms (from programming competitions) and enterprise programming (ABAP, some Java), wanted to know what language he should use for his new web-based startup product. He said it needs to handle very high volume of small requests (like a like a event tracker), and then analyse on background.<p>I suggested NodeJS backend with Coffeescript for both ui and backend. When I really think about it I suggested it because I use it, which might not be the best option for him.<p>What programming languages (for backend &amp; frontend) do you think will work best for him? And what are the important factors to consider when picking the best programming language for a project?
======
brudgers
Random advice from the internet:

Does it _really_ need to be able to handle a very high volume of small
requests right now? When there's no code, no customers and no use, yet,
there's no profile showing evidence of a performance bottle neck.

To put it another way, the first order problem isn't technology, it's product
market fit and finding customers. That means getting a "conversation starter"
up and running is a task on the critical path and "what infrastructure might
be necessary if Facebook signs up" is not.

So if the person can build a conversation starter in Java and iterate on it
more quickly than they can learn node.js then the answer is pretty obvious --
assuming the question is "how do I build an enterprise product?" It's less
obvious if the real question is "what should I learn?"

I'll add that in terms of tooling [such as the aforementioned profiler] and
scaling infrastructure, Java is vastly more mature in the enterprise market:
even if Atwood's law predicts that we will get node.js for IBM's Z/OS
mainframes [if we haven't already], Java is already on big iron. Which is to
say it scales both up and out.

But again "best" really comes down to the relative value of "it's time to
earn" versus "it's time to learn".

Good luck.

~~~
PerfectElement
I agree. I chose C# to build my bootstrapped startup because I could create a
prototype in a couple of weeks and respond fast to feature requests, despite
C# being uncool in the startup world. Now we have product market fit and
enough revenue to rewrite the software, if needed.

------
FlopV
This is what I use anytime I need to pick a language.
[http://www.wfplsiu.com/](http://www.wfplsiu.com/)

~~~
tmaly
LMAO thanks for this

------
makufiru
Java would do fine, and much better than Node for this case.

Even if it wasn't better, the best language to use on a project is the one you
already know. So still Java

------
tmaly
If your not doing a native phone app, your front end is going to be
Javascript. For a backend, choose what ever your most comfortable with.

------
meric
>> very high volume of small requests

I recommend something with non-blocking IO. I suggest Lua-Resty on Nginx.

~~~
leesalminen
+1 for this.

I'm no Lua expert but was able to handle some of our most common (and small)
AJAX calls to be handled this way.

------
UK-AL
If he knows Java, then Java.

