As an individual, I almost always would choose a language I already know comfortably, and every other factor would come after that - unless I were setting out to learn something new.
Other factors:
- is there tooling that will help me be productive with this language?
- is there a broad enough community of users such that finding helpful resources will be straightforward?
- how likely is it that the language I choose will be well-supported by its owners (or community) in 5-10 years?
- is the language expressive? can it be made to be efficient?
- does it appeal to me aesthetically?
- does it have good cross-platform support? (Windows, macOS, Linux)
- is it supported by build systems and/or CI products?
Through the filter of "stuff I know", my choice for most things at this point is F# on .NET Core/.NET 5. (and/or Fable).
For learning something new, I'd probably choose elixir with elm, or maybe Rust, depending on the application.
ASP.NET is pretty bare bones, all by itself. It's pretty much just a simple pipeline of request handlers with DI support (which is also optional). MVC, routing, Razor - all unnecessary if you don't want to use them.
I agree that the ASP.NET documentation is lacking in F# code samples (although the example you picked is a bad one as Razor doesn't support F#, and so naturally wouldn't have F# code samples). You might find that Giraffe is a more comfortable framework, as it's essentially an F#-ified shim on top of ASP.NET.
A lot of this thread feels like Microsoft's terrible naming having not surprising negative consequences. "ASP.NET" can mean so many things to so many people.
To me it's usually a synonym to the full-fat MVC with controllers, DI, everything. This is reinforced by most of the dotnet templates and documentation, which make it feel like if you ask for a banana you're given a gorilla and the entire forest whether you want it or not.
In comparison, if you look at Go you'll see the "net/http" package. It's the HTTP server. Extendable. Built in - not something to download from NuGet. Only does HTTP - not reinventing its own DI, configuration management, IIS, etc.
Not at all. Keep in mind that YC startups are birthed from a very narrow slice of the tech world. .NET Core is very, very good tech and unless you need something super niche, there's no reason to doubt your choice. Press on.
This would be more interesting if YC didn't have a strong inherent bias toward these particular languages. In other words: these are the results because this is what YC picks and filters for, not because of any inherent meaningfulness about choosing these languages, or qualities of the languages.
It's true that investors filter for easy to see signals, so therefore it is also likely true that 130 IQ startups get funded but 140 IQ startups are not recognized (or even outright ostracized), but this is the same for customers, executives, and humans generally. So it's not clear that this could be any other way. In this way humanity is a tragedy. Look around. Everything is mush.
This is incorrect. Firstly, it's 10 per second. Secondly, it shouldn't be all that hard to imagine "side chains" or even "local-party networks" being built to handle transactions and use the underlying blockchain as a settlement mechanism. This is, as I understand it, how the lightning network works/will work, and I see no reason to think it wouldn't improve Bitcoin's adoption, which is already orders of magnitude better than other cryptos.
>Croman, Kyle; Eyal, Ittay (2016). "On Scaling Decentralized Blockchains" (PDF). doi:10.1007/978-3-662-53357-4_8. Retrieved December 10, 2017. The maximum throughput is the maximum rate at which the blockchain can confirm transactions. Today, Bitcoin’s maximum throughput is 3.3–7 transactions/sec [1].