4 ms·
Ask HN: Advice on selecting programming languages for a new web product?
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.
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.
What programming languages (for backend & 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?
- makufiru 11y agoJava 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
- meric 11y ago>> very high volume of small requests I recommend something with non-blocking IO. I suggest Lua-Resty on Nginx.
- leesalminen 11y ago+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.
- FlopV 11y agoThis is what I use anytime I need to pick a language. http://www.wfplsiu.com/ http://www.wfplsiu.com/
- tmaly 11y agoLMAO thanks for this
- tmaly 11y agoIf 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.
- brudgers 11y agoRandom 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 11y agoI 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.
- UK-AL 11y agoIf he knows Java, then Java.