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.
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.