Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I recently launched a startup, we use Java, some Python and even a little bit of Rust. For web we also use plain Javascript. We will most likely add some GoLang and C/C++ for specific problems we need to solve in the future.

But using C# .Net? It's completely irrelevant, it adds absolutely nothing. The performance is similar to Java. The syntax is similar to Java. But the eco-system is one of the smallest of all the big programming languages. And most of the documentation/blog posts about C# is heavily Windows focused, and we run only on Linux. The only reason I think of why I should use C# is when we need a Windows-based desktop application. But I think Java+JavaFX will be just as good and will also work great on MacOS and Linux desktop.



I can't tell if this is serious that you're a startup using 3 languages with plans to use 2 more. I'm not saying that those might be the best tool for the job, but the complexity to manage that whole build chain sounds crazy overkill complicated for what amounts to premature optimization using all those languages


While I agree with you that such complexity is expensive to manage, I think it primarily depends on the expertise of your team. If you can foresee the need for Rust, say, and your team knows how to manage its risks, and it is financially viable to maintain so many stacks, I think it’s fine. But if the team just wants to put a badge on their chest for using Rust, that’s a different story. I’ve been always striving to reduce the complexity and pick only one framework. Sometimes it’s hard and such decisions must be made. On a larger project I integrated and developed Go, Rust, and Java services, tightly knit to their context bounds. It was alright and seemed to make sense but the strain was immense.

People tend to underappreciate how much time it costs to do the context switch in your head when you change across different stacks, and how much lost opportunity it incurs for not spending that time to dice deeper in only one tech stack.


I can explain why. Java is great for web, api's and most things. But Java is not really that great for doing data science. Python is great for data science, the Python community has put a great effort making Python "The place to be for Data Science" and Rust helps us speed up heavy tasks that are too slow with Python.

It is not really crazy complicated, it's simple stuff that is very well documented. We try choose the right tool for the job, and we don't care about which language we use. If we tried to do everything in Java, we would spent at least 2x more time on building our software.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: