Ask HN: Why is .NET not popular with startups?
As someone with a decade or more experience in the .NET Framework and now with .NET Core, and a healthy interest in startups, I find it frustrating I cannot apply my experience more widely.
What are you thoughts as to why .NET hasn't taken off at startups? We use .NET Core at Namely and we are generally super happy with it. About half of our new services are in C# with .NET core using protobufs/gRPC in Linux Docker containers on Kubernetes talking to Postgres, Redis, and Kafka; the other half are Go but otherwise same stack. That’s all free/open source stuff. .NET Core is super fast and has a generally pretty small memory footprint. It works great with our ELK stack monitoring tools, our perf analytics tools - all the same stuff our other apps running on Linux containers/k8s use - because it’s also running on Linux in Docker on k8s. Most of our .NET devs use Windows desktops because we support some legacy .NET apps too, but several of our .NET devs use Macs and either VS Code or vim to work on our .NET Core services; as far as I know, this works well for them. They certainly are fast with implementing stuff when asked. Why isn’t it more popular if it’s super fast and works great on Linux? Well, I think it is true that there are some memories of startups wanting to avoid Microsoft tech; I think that cousins TypeScript and VS Code are in the vanguard here. But the fact is that there are still a handful of lego pieces that are still not around yet that would really help; for example, Kafka streams only works with JVM languages. MS just released an open source Spark client for .NET which
had a JVM bridge layer. It would be really interesting if that were extended to allow arbitrary interoperability with the JVM. Other than that, I think it’s getting there and it might take a few more years for things to sink in to common knowledge. .NET has only been fully open source and running on Linux for a very short time, relatively speaking, and I find it’s still common for people to be surprised when they hear it. I SRE'd there for a bit and remember when .NET Core was starting up. I'm glad that the momentum stuck; it's really good! I am curious: Why is your other half of your services in Go ? If you are happy with .Net ? I think a big part of it is existing dev/team familiarity, and it’s a stongly-typed language that is also super fast and is first-class with gRPC. Our Go and .NET services interact really well, so the diversity has been a net positive, I think. Path dependency. .net may be open source and interoperable with all kinds of non-MSFT technologies today, but 5-10+ years ago it was only usable in places that went all in on Microsoft technologies. Those Microsoft shops tended to be older, large enterprises outside of pure technology. Now fast forward 5-10+ years back to the present, are people that choose to start their career in older, large enterprises outside of pure technology more or less likely to be a technical co-founder or first technical hire at a start up than people that choose to start their career in startups or pure technology companies? For consumer focused startups I'd probably say the latter. I don't know for sure, but I'd guess that startups trying to sell to exactly those older, large enterprises outside of pure technology are where you are more likely to find technical co-founders/first technical hires with experience at those companies they are trying to sell to. So I'd look there for .net stacks. In the past, it's been about budgets: Microsoft has an aura of money about it. The OS cost money, the good developer tools cost money, the database cost (a lot of) money. Startups are by definition cash-strapped. Some of that is changing - the developer tooling is getting free/cheap - but the rest of the stack (OS, hosting, database) still isn't free. (I know, the MS folks are going to say SQL Server Express Edition is free, but you rarely run a startup on that.) But it is free though! With .Net Core being Cross platform, I've actually yet to run it on anything else than Linux in production environments! Hosting is the same as any other technology, you just need a host to either run containers or the .Net artifacts directly. Lastly, I think it's unfair to throw SQL server into this comparison, as MySQL and PostgreSQL are perfectly supported with entity framework. It has only been open source for a relative short amount of time when compared with other technologies like Node, RoR, etc. .Net has historically cost money while providing somewhat similar features as open source competitors. Its why MS was forced into open sourcing it. They could not compete anymore. .NET itself has always been "free" (as in beer), it's just VS they made people pay for. They've had a community edition since VS2012 at least, possibly earlier but that's as far back as my brain goes. The Community edition is pretty full-featured, it's only missing some TFS integration stuff, some test suite stuff and advanced profiling. I'd compare it to IntelliJ's free/pro model. Before CE it was Visual Studio Express which was also pretty much the same. They also made people pay for Windows. Community Edition has restrictions on use for organizations. Last time I tried MySQL with the EF the performance was terrible, the EF was outputting a load of nested tables that were fine with SQL Server, but absolutely abysmal performance with MySQL. This was a while ago. Have you used this personally, and do you have any scale? As there's 'supported' and there's good. EF is overkill for most things, like most heavyweight ORMs. Good for "line of business" apps, probably not great for most other applications. Dapper is much more performant. Just because Microsoft has made some free stuff recently doesn't mean I'm going to switch stacks all of a sudden, when there are comparable frameworks I already know. As someone who has done a lot of work with .NET in a past life, I think the main reason that more startups aren't using it are for culture reasons. .NET's move into open source is fairly recent and I'd expect more startups to use it (if it fits) in the future. Most startups are trying to build products with a low budget overhead and previously that was a lot harder to do in the .NET ecosystem. I think it's because the standard/native database backend is SQL Server which costs money. Yes, you can easily develop against other RDBMS but most .NET shops stick with a pure Microsoft WISC stack. Windows IIS (Internet Information Services) SQL Server C# Is it culture? Or is it just that the JVM does the same thing, but with a bigger and older ecosystem, with more experienced people etc. Lots of startups out there using Java or JVM languages. I would question to what extent your .NET experience is truly non-applicable to something like Java or Python. A corollary of this is that if a potential employer turns you down purely on the basis that your experience lies with a different tech stack - it’s quite likely that you’ve dodged a bullet (assuming we are comparing similar disciplines, e.g. they are looking for a backend developer and you have a lot of experience building backend services, just with a different stack) We use .NET at Submittable (YC12)! When our founders started the company, it's what they were proficient with from their previous jobs. They opted for building fast with what they knew so they could get a product to market quickly - and it worked. Our legacy web app uses ASP.NET MVC which is a bit of a pain from a DevOps perspective since it has to run on Windows servers. We also use SQL Server which end up costing 2X what MySQL or PostgreSQL would on RDS. However, our newer code is .NET Core, and we run it on AWS Lambda. We decided to stick with C# since our dev team knows it, and it's a great language. I also really like the direction MS is headed right now with their focus on developers. We have decided to switch to PostgreSQL with our newer services for the cost savings, advanced monitoring, and scaling offered on Aurora. I'd still recommend SQL Server though. It's simple and easy to use in general. We're a bit of an atypical startup. We are based in Missoula, MT. If you are into .NET, we're hiring - send me an email (it's in my profile). 1) As others have mentioned, .NET has a legacy of being expensive and closed, even if that isn't really true anymore. 2) .NET isn't really taught in college classes, and a lot of startup devs come more or less right out of college, using whatever stuff they learned as a basis. 3) .NET isn't sexy in a cultural sense. It doesn't have a shiny new flavor of the week framework, compiler, library, or whatever for everyone to trot out every 6 months and brag about on their resume. 4) .NET has the perception of being a "big business" framework, rather than something you use to bang out a scrappy MVP. Scrappy MVP is where a lot of startups... start, so the impetus is to use whatever tool flavor of the day will get you to customer #1 the fastest. F# seems pretty sexy to me. Even C# does at the moment. Most languages are still playing catch-up on either async or generics. I believe it has a lot to do with history. You can pick a stack that costs money or a stack that is free. .NET might be great but is it so much better than the free alternatives? It’s a hard sell. As others have noted, it sounds like it might truly be free now, however Microsoft has always made me nervous with “embrace extend extinguish”[1]. Also I just love using Linux for my servers. [1] https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis... I find c# a great language, much better (more argonomic, less verbose, less 'patchy') than Java.
I do believe that historically developing on .net didn't make sense for startups because of the huge licensing tax for the OS (servers and Dev stations) and developer tools.
Moreover the usual bodies that preferred paying licenses for stable vendor were large, slow enterprises. This made .net appear less sexy and fashionable.
We might see this turning around with the recent push for open source from Microsoft. Free, community editions of visual studio have been around for a long time now and are nearly as good as the more expensive pro version. I don't think the dev station side is still true. But on the server side, Windows Server and SQL Server still cost a fortune and I believe they raised their prices recently. For students and researchers. If you're operating a business you still have to pay for VS licenses, or violate the free license and hope you get big enough fast enough that it's not a problem. No I believe a company can use it up to 5 developpers. Which should cover the vast majority of start ups. Then you can buy a pro license for $500 which isn't that expensive if you have the financing for more than 5 devs. I also have a long history of .NET back to when it came out, although not currently using it. .NET was a solid enterprise answer to Java and was "safe" since it was from Microsoft. Only in the past say ~7 years has .NET really come to the point where running it outside of the Windows environment was even an reasonable option for anything other than prototypes or side projects. And not until the last few years has it been something I'd even contemplate to use outside of the Windows eco-system on a production product. Personally, while I don't use Java anymore as a primary language, Java won the "write once, run anywhere" paradigm even though we all know that there is not such thing as a complex app that is truly write once run anywhere. I think one of the key differences is that Java focused on nix as first class citizen (never really worked as cleanly on Windows IMO), and Linux not having any licensing costs then won the hearts and minds of startups (rightfully IMO). nix in general to me is more robust than Windows as well, and makes solving scaling issues much easier. When you are worrying about server licenses and the such deploying something like micro-services (or any distributed system) can quickly become a costly endeavor. Not to mention the extra time spent in IT managing the infrastructure and licensing etc. Also remember that enterprise licenses of SQL Server and Windows server were charged based on number of CPU's etc (not sure if this is still true been a while). But I remember at one company one of our SQL Server boxes was well into the 6 figures just on licenses for OS and SQL. There are startups that use .NET though, one that comes to mind that has been very successful is fanatics out of Jacksonville, FL. They went with SQL Server and .NET for their startup early on because there was tons of enterprise talent around and Microsoft was giving great incentives for startups to use their tech. I am not sure what they are on today, but I know they still advertise for Microsoft and .NET people a lot. C# is a pretty damn awesome language and you can be super productive in it but not lose feel like you are hand tied. I am sure there are also those people that just shit on .NET/C# etc cause it is Microsoft, but honestly I'd use it if the opportunity was there and it made sense for the startup. * edit - clarified a sentence. Microsoft "tax". Even if you are willing to pay for a license, all the terms & how much are very confusing and not worth dealing with. Developers would rather solve technical problems than deal with even 5 minutes of potential licensing issues. If you start working on .NET, you almost immediately think "license debt" (similar to technical debt) As far as I can tell as a programmer in the UK, with several startup clients, it's very popular in Europe, and generally replaces Java's equivalent position in the US market. I guess there's only really a place for one strongly typed language. I’ve worked in a .NET based startup before. While .NET itself is very nice, the ecosystem is not quite there so it’s a lot harder to get started and manage compared to other open source stacks. It’s harder to automate and script. A lot of tools you rely on aren’t made to run on Windows. Windows itself is hard to automate. For example, rebooting your EC2 instance might trigger a hour long Windows Update. You can’t really use tools like Chef, because installing .net and sql server might take 2 hrs. It’s better to have golden VMs with everything installed. I don’t know how much the situation has improved with core running on Linux. > I don’t know how much the situation has improved with core running on Linux. IMO Core runs extremely well on Linux: When I make a standalone (or rather a folder full of everything it needs to run without installing the whole .Net framework) it actually runs way quicker on a linux vm than it runs directly on Windows directly on the same metal. This surprised me a bit, but so far the results has been consistent. There has always been a dark horse OS within .NET its called F#. But what is sad about the state of the average C# dev is that when I ask them about their opinions on F#, they always respond with a "whats F#?" That's the problem with most .NET developers. They were fed straight from the MS spoon with blinders on, and never wondered what is out there. But to label oneself as a "I'm a .NET dev", and yet you don't know that there is another language besides VB/C# it's just sad. But now that MSFT has turned things around, hopefully the F# community can get a bigger spotlight and bring a change about. Not intending to start a flame war, just to expand my knowledge. As someone well versed in C#/VB please ELI5 why F# is so superior to it's OO cousins? Seems to me like it's actually more difficult to get to the same results with functional languages especially when C# has a lot of "functional" paradigms included? My general point was essentially that the "average" C# dev has no clue/idea about tech so much so that they don't even know F# exists. I'm not making any assertions about OOP vs FP. Though some claims would be that with FP it is easier to maintain an application, functions are mapped to a singular result given a specific input, and with F# its got a strong type system. F# is a fantastic language, IMHO. But there are kinder ways of expressing frustration at its limited popularity, than the way you phrased it. > There has always been a dark horse OS within .NET its called F#. F# isn't an OS. And it hasn't always been around, it's much newer than .NET. > But what is sad about the state of the average C# dev is that when I ask them about their opinions on F#, they always respond with a "whats F#?" And, so what? F# isn't C#. Why should a “C# dev” be expected to know F#. > That's the problem with most .NET developers. They were fed straight from the MS spoon with blinders on, and never wondered what is out there. F# is from MS and it's not exactly hidden by them. But why should a “.NET dev” be anything other than someone who has sufficient knowledge and proficiency with programming with the .NET framework, irrespective of whether it's all in VB.Net or whether they are a ployglot? Why F# syntax is not c like? That would have increased the adoption As you get used to the language some of the reasons make sense why it isn't C like. An example I've found is that (arg1, arg2) always defines a tuple wherever it is a function invocation or not. You can pass a tuple around to a tupled-arg function/method (C# style) with multiple args without unpacking it first as a example. Space orientated languages can be better with expressing in-language DSLs as well IMO allowing you to add symbols as appropriate. " But to label oneself as a "I'm a .NET dev", and yet you don't know that there is another language besides VB/C# it's just sad." I mean, do you really expect people to know all the CLI languages? Would you expect them to know about Boo, Nemerle or the other handful of languages that target the CLI? Microsoft has also done a pretty poor job marketing F# to developers. People have rightly mentioned the cost and vendor lock-in issues. The other problem is that - for whatever reason - good engineers simply want nothing to do with the Microsoft ecosystem. In this market, they have other options. So tying your infrastructure to .NET means limiting your hiring pool to mostly 9-to-5er enterprise developers who tend to fix problems by asking Microsoft to sell them the solution. Not exactly the attitude you want at a startup. "good engineers simply want nothing to do with the Microsoft ecosystem" Seriously? I guess the whole swath of .NET developers aren't good engineers... I thought it was universal knowledge that everyone involved/working with the Microsoft ecosystem was automatically a bad engineer? Short list of awful engineers: Jon Skeet, Marc Gravell, Darin Dimitrov, Gordon Linoff, Hans Passant, Schabse Laks, Nick Craver, Jared Par, Eric Lippert, Anders Hejlsberg, etc. Good engineers also actively avoid using Stack Overflow - as it's based on Microsoft tech and good engineers want nothing to do with Microsoft. Not to mention all those devs who are putting a ton of effort into the .NET Core runtime and optimizations. They are just truly awful devs Yes, seriously. Care to elaborate? You already throw around blanket statements, it's not enough to just say "yes". What's your rationale? He has no rationale. Doubt he even knows the scale at which MS' tech stack is used, especially outside of the USA's hipster bubbles. Those "hipster bubbles" are the areas where most tech innovation is happening. Nobody is saying that insurance companies aren't using .NET. Churning out Javascript/webshit frameworks every month, and running on fumes and the good graces of VCs isn't innovation. "Boring" industries like insurance might not seem innovative on the outside because their members aren't blogging and twattering about it constantly. One of my clients does catastrophe modeling, and uses both Python and .NET (F#)...but it's probably not going to be something on your radar. But guess what, they're raking in the dough while actually being innovative, yet you're here on HN claiming they're not proper engineers. Best of luck to you. where I come from, .net actually hurt the startup scene because every college graduate thought that programming meant starting up VS, MSSQL and building some forms and tables. Backwards education meant that messaging was forms and tables, constraint programming was forms and tables, state machines were forms and tables and people came up with very stupid ideas like polling tables instead of using event queues on top of which entire businesses ran. I'm a Linux guy - but have to say .net core has impressed me. Going back to the question - certainly in the UK it is massively popular. The company i'm at now is mainly .net, but moving to .net core, probably a majority of jobs in my area are using some flavour. To some extent I think old school .net is holding it back. Core however will get a lot of traction, nobody wants to pay the Windows tax when they don't need to. Same here. I think F# in particular is really appealing now that support in Linux is first class. Yeah. I look at my company and their AWS bill which is huge - deploying .net core on Linux will save them so much money. I'd prefer golang but the difference is in the realms of noise. Anecdata:
I work in a healthcare startup where we need to interface our software with medical devices. We’ve found that nothing other than .NET works well with the device drivers. I’d wager that at least in some fields which require a lot of device integrations, you’ll find .NET Update : forgot to mention. We use C# as the language. It is a regional thing, the startup I was on back in the 2000's .COM wave adopted .NET still in beta phase as MSFT partner as replacement for our in-house Apache/IIS Tcl server module stack. Later on I worked for a few others that were also using .NET. Why do you think it is not used much by startups? Might depend on the country but I know a lot of startups that use it because they learned it at school. A practical reason: .NET and dev tools weren't available or production grade on non-Windows platforms. Historically, I have an aversion to MS tech since MS Java 1.1. We use .NET at Degreed. I suspect a lot of startups use it, but not many compared to other startups. The problem is that's they're hard to find because they're not actively throwing it out there that they're using .NET. Check out reddit and https://builtwithdot.net/ Every .NET developer I've worked with had to be painfully dragged out of the Microsoft world into the real one. It's just not worth the effort to hire people who solve problems by asking Microsoft to sell them the answer. Better to pick a technology where the talent pool has legitimately competent engineers. My belief might be outdated. But don't we need to pay for Windows server license per machine? You can easily containerize dotnet core apps using Docker and host them anywhere; it's trivially easy to do so (a checkbox on your project setup page). (Perceived) Licensing costs and misunderstandings around .NET being open source now. Also, Python is generally-easier to get started with (good for cash-strapped startups; labor is cheaper) and can go really far Microsoft should really change the name .net core to something else. Too much history That's the problem. I thought I'd give .NET core a try but when I look for information about how to get started, I can't differentiate between versions easily. I tried for a couple of hours before saying "forget it." >What are you thoughts as to why .NET hasn't taken off at startups? To echo what others said... A lot of hot startups are founded by young college kids. They don't have money for expensive Visual Studio licenses to program in C# and .NET world. In contrast, the alternative dev tools like Java, Ruby, PHP were free. In college classes, they would have played around with free software instead of Microsoft. Microsoft charged money in multiple areas of the stack: the compiler (VS) cost money, the database (MS SQL Server) cost money, and the operating system (Windows licenses) cost money. In contrast, PHP+MySql+Linux was $0. Microsoft later tried to reverse the loss of mindshare with promotional programs such as DreamSpark and BizSpark[0]. That's where a small business could get Microsoft dev tools for free for a limited time. However, those enticements really didn't change a lot of minds because founders knew that once the startup had revenue a year later, they'd have to pay a "Microsoft tax". Yes, MS later radically changed strategy by making their tools open source and more compatible on Linux. However, it was too late because the culture of startups avoiding MS technology was already deeply ingrained. The StackOverflow site would be one of the few high-profile startups that bought into the Microsoft tech stack. [0] https://www.google.com/search?q=microsoft+dreamspark+bizspar... > A lot of hot startups are founded by young college kids. They don't have money for expensive Visual Studio licenses to program in C# and .NET world. In contrast, the alternative dev tools like Java, Ruby, PHP were free. In college classes, they would have played around with free software instead of Microsoft. I don't agree. When I was a student, Microsoft was pushing their MSDN for students very hard, as well as their other programs (like Microsoft Student Partner). As a student, Microsoft's tools have always been free and very easy to obtain. On top of that, they were the only ones that provided me with free cloud credits to host my stuff. I never gotten any from competitive cloud vendors. This is in Europe though, I feel Microsoft has a much stronger foothold here than in the US. > To echo what others said... Your post doesn't do that. Most other posts name other reasons (potentially legitimate ones), your "it is expensive" justification is inaccurate and doesn't echo most posts here. > Microsoft charged money in multiple areas of the stack: the compiler (VS) cost money, the database (MS SQL Server) cost money, and the operating system (Windows licenses) cost money. The C# compiler is free and OSS. You don't need Visual Studio to use it. In fact many use it with VSCode, VIM, or Notepad++ for $0. You can also pay less money and use Jetbrains' Rider, or 5x commercial users can use Visual Studio Community Edition if you want a fancy IDE. MS Sql is non-free. But not at all part of .Net Framework. So it is off-topic. You can use MySQL, PostgreSql, SQLite, most Cloud database solutions (Azure, AWS, Google Cloud), or whatever you want. Drivers are readily available. You also don't need Windows. .Net Core is available for Linux and MacOS. So if C#/.Net Core + VIM + Linux + MySql is your thing? You can. For $0. Today. This type of misinformation is why people don't look to .Net Core though unfortunately. >Your post doesn't do that. So in the good spirit of acknowledging others who posted similar comments before me, I get nitpicked?!? - hours before me... look for word "money":
https://news.ycombinator.com/item?id=20256086 - hour before me... look for word "budget":: https://news.ycombinator.com/item?id=20256682 - 9 minutes before me... look for word "expensive":
https://news.ycombinator.com/item?id=20256765 - 5 minutes before me... look for word "costs": https://news.ycombinator.com/item?id=20256788 >For $0. Today. Yes I also mentioned that tools are free today. My comment was about how the past has a ripple effect on culture of startups avoiding the Microsoft tech stack. This is still in effect today. I would guess than 90+% of YC startups in 2019 are still not choosing the Microsoft stack. It doesn't matter to those founders that .NET Core and VSCode are free today. You are clearly very bitter about this. > The C# compiler is free and OSS. Has this always been the case? > .Net Core is available for Linux and MacOS. A quick wikipedia search shows that .Net core was first released in June 2016, that only supports the view that microsoft has been very late to the game when it comes to open source languages and frameworks. The original comment that you disagreed with says "Yes, MS later radically changed strategy by making their tools open source and more compatible on Linux.", but despite your hostility nothing in your post actually disagrees with that comment does it? > You are clearly very bitter about this. Being snarky and name calling against site guidelines. It is the first line: https://news.ycombinator.com/newsguidelines.html > Has this always been the case? Has this always been the case with Java? With C? With C++? It has been open standard since 2001 and the current compiler open source since 2014. So five or more years. Ten or more with Mono (part of .Net Core today). > A quick wikipedia search shows that .Net core was first released in June 2016, that only supports the view that microsoft has been very late to the game when it comes to open source languages and frameworks. .Net Core isn't the first version to be open sourced nor free. > Being snarky and name calling against site guidelines. Ha, OK. > Has this always been the case with Java? With C? With C++? Its funny to see all the logical fallacies being used to try and counter a perfectly valid argument! What does this have to do with Java, C or C++? But since you asked, there were always open source compilers for C and C++ (GCC and G++ for example). Java - I don't know, I suspect not, but is Java popular with startups anyway? Why mention it? > It has been open standard since 2001 and the current compiler open source since 2014. Not sure exactly what Open standard entails? Essentially, the original argument said that the software ecosystem for .NET has mostly been non-free and non-opensource until very recently (2014 - 2016 as you mentioned), which has meant that for at least a decade startups have avoided it in favour of open source frameworks, so even though it is NOW open source, the damage has already been done. None of these counter-examples actually contradict that original statement. By 2016 open source frameworks like Django, Rails, Symfony had been around for more than a decade and were no longer the "shiny new toy" but generally accepted as mature, stable frameworks on which to build applications. So I think its fair to say that Microsoft's approach to open source has been too little and far far too late. > You can. For $0. Today. with the focus on today. A significant amount of infrastructure you just named is merely a few years old, and understandably hasn't made it into most companies. I find it strange that this Ask HN was ranked #23, then I refresh after a minute and it's #190... Unrelated question - can one build thick client apps in .net core for linux or mac? (cf. Electron) Free (as in beer) tools from Microsoft like .NET Core and Visual Studio Code are too little, too late. I've worked at two startups that used .NET. But, yeah, as other posters have mentioned, it comes down to budget. In the past .NET was expensive to use and created a lot of vendor lock-in. That's currently changing and I imagine you'll see more startups using .NET in the future. It's slow and closed source. Not being pedantic, it is just super stagnant compared to open source platforms. Don't want to start a flame war, but there's nothing factual correct about what you just said - except for the open source activity around .NET (if that's what you meant by 'stagnant') Source: Worked for a decade on the .NET stack and for the past few years I've been working on a series of large codebases using Java/Golang/Ruby/Python/the_usual_startup_things. Got my taste of both, still miss C# as a language. I would call Java the most 'stagnant'. I think the biggest problem with Java is the reluctance for anyone to move beyond jdk 8. Both of those statements are wrong. No, it isn't slow or closed source. https://devblogs.microsoft.com/dotnet/performance-improvemen... Its a compiled language. Its going to be in the java level of speed. Its going to be faster than node, python, php, etc. It is a little more nuanced that just being compiled as a poorly optimized compiler can generate slow code. That being said, there has been a ton of work on the .NET Runtime to increase speed. There is even more improvements coming out in .NET Core 3 as well None of the assertions made here are true. .NET Core is very, very fast, open sourced and is definitely not stagnant. I'm sure its not any more slow than node, python, or ruby. Paul Graham effectively invented startups as we know them. Back in about 2005 already, he just gave a piece of advice: everyone who tried to build using Microsoft technologies, failed. Maybe enough people listened? He had even stronger opinions about Java despite Amazon and Google (not to mention many others) being built in it. I could never figure that out because he's quite insightful about a lot of other things. I think it is hard for us language geeks to accept that language choice just doesn't matter that much. pg's always had a touch of functional fever. HN used to as well, every 2 or 3 years since it was started you'd have half the comments in a language discussion swearing blind that everyone was just about to switch to Lisp, then it was Erlang, then Haskell, then Scala. I don't think there's a single factually correct statement in this comment from startups being invented in 2005 to no one succeeding with .Net StackOverflow being a prime counter-example...