if we can, lets please assume we know c# as well as golang (and other languages will not be considered). thanks
Ask HN: Golang or .Net? if you were about to build back end for your startup
1–10 of 19 posts
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#2That's too bad, as I'd recommend Java and/or the raft of excellent languages available on the JVM.
With C# you're effectively locking yourselves into Windows, which seems a terrible decision from both a cost and scalability standpoint.
With golang you're losing the vast array of open source packages available for the JVM, as well as locking yourselves into a single language which may or may not fit your future needs well.
Scala in particular is an interesting JVM language. Clojure and many others are worth a look as well.
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#3Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#4"and other languages will not be considered" That's too bad, as I'd recommend Java and/or the raft of excellent languages available on the JVM. With C# you're effectively locking yourselves into Windows, which seems a terrible decision from both a cost and scalability standpoint. With golang you're losing the vast array of open source packages available for the JVM, as well as locking yourselves into a single languag…
About the Windows only thing, though: The mono project is excellent for compiling and running C#/.NET on other OSes. We use it on CentOS without much trouble.
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#5Also, in the end, you will likely change your structure more than once from the first MVP, so I would just make a decision and move forward fast.
As for my opinion. C# is still primarily a Windows environment solution (although its getting better), Golang is a little bit more agnostic but I wouldn't use it anywhere but in a linux environment. My choice would be golang if those were my only two options, mostly because I feel the ecosystem, scaling and cost is better not to be in the Microsoft environment for a startup. However, if you are planning for a Windows based environment, then nothing beats C# IMO.
There are completely valid options that are neither of these languages, nodejs, python or some JVM based languages. I generally avoid the JVM, but that is a personal preference based on my experiences and I recognize plenty of amazing systems are built on JVM based languages all the time.
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#6I'd base it on the language and infrastructure/OS I/my team knew best. The worst thing for an early startup to do is to try and figure out new languages or tools when it isn't absolutely necessary. You have enough hard work to solve the business problem, so pick what you are familiar with. Also, in the end, you will likely change your structure more than once from the first MVP, so I would just make a decision and mo…
we have some cost efficient way to get license on Microsoft's software like Windows/SQL Server so the cost on software is not an issue, so is there any other concern with Windows-based solution? you mentioned scalability, why this can be an concern? (I assume windows should be able to do whatever linux is able to provide?)
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#7I'd base it on the language and infrastructure/OS I/my team knew best. The worst thing for an early startup to do is to try and figure out new languages or tools when it isn't absolutely necessary. You have enough hard work to solve the business problem, so pick what you are familiar with. Also, in the end, you will likely change your structure more than once from the first MVP, so I would just make a decision and mo…
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#8If it is really only a choice between those two, I'd go with C#/.NET for a number of reasons. The main thing for me is that it is object-oriented. To head off a possible complaint about .NET, with the mono project, you don't have to run your code on Windows. That leaves a lot of options open. We run a rather complex .NET application on CentOS using mono without any isssues. One thing to keep in mind, though, is that…
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#9"and other languages will not be considered" That's too bad, as I'd recommend Java and/or the raft of excellent languages available on the JVM. With C# you're effectively locking yourselves into Windows, which seems a terrible decision from both a cost and scalability standpoint. With golang you're losing the vast array of open source packages available for the JVM, as well as locking yourselves into a single languag…
This. I was going to mention Java and other JVM languages. About the Windows only thing, though: The mono project is excellent for compiling and running C#/.NET on other OSes. We use it on CentOS without much trouble.
Also, the JVM beats the CLR for most benchmarks I've seen, especially real-world benchmarks. Perhaps with Microsoft open-sourcing the CLR runtime, Mono is as competitive under Linux now. That said, the JVM has scaled onto massive systems - I'm skeptical that Mono has similar capability.
Re: Ask HN: Golang or .Net? if you were about to build back end for your startup
#10I'd base it on the language and infrastructure/OS I/my team knew best. The worst thing for an early startup to do is to try and figure out new languages or tools when it isn't absolutely necessary. You have enough hard work to solve the business problem, so pick what you are familiar with. Also, in the end, you will likely change your structure more than once from the first MVP, so I would just make a decision and mo…
I agree we should go with something we are already familiar with but I come from c++ background and I dont think it is the best language/ecosystem for a team that only have 1 developer. I am a senior developer (c++ as I mentioned) so I think it is not an issue for me to pick up a new language but it is more an issue with finding/training new developer when we need to - I agree senior experienced developer is generall…
My comment on scalability and Windows is mostly based upon cost as well as most distributed software solutions that are designed to scale are primarily done not on Windows Server but on Linux of some flavor. I am also biased here as I started my career in Unix, although I spent ~8 years doing primarily Microsoft development, and am dedicated to non-microsoft environments now. In some cases when clients have demanded we deploy on Windows some of the software vendors would tell us to significantly increase the number of nodes when running on Microsoft as they found their failure rates were higher, not to mention less resource efficient. Hence cost goes up more and maintenance increases as well. And no, I wouldn't necessarily say Windows is as capable as Linux, but that may just be some bias sneaking in.