Hacker News new | past | comments | ask | show | jobs | submit login

Like Go, C# has also always been a decade behind on the tooling side. For a recent project I wanted very fast HTML templating and I/O. Went with C# instead of Go and it's looking pretty good so far. The tooling is close to the level Ruby was ten years ago, and that was really acceptable. I was very happy with my previous project that I did in Go as well, you just can't go wrong with Go for implementing network protocols.

If you need more than a microservice, then you need more than Go in my opinion, and C# is an excellent choice. I think most of these startups going mono-lingual on Go are going to regret it, just like the startups that went mono-lingual on Node.js a decade ago.

If you're building anything that requires some serious architectural structure, and that might be easiest to implement as a monolithic app, then you need a language that supports that instead of getting in the way. Now with Typescript Node.JS might finally be suitable. But I'd definitely consider Ruby and C# or maybe Java or even Haskell first. Maybe Elixir, I heard that's still going strong as well.




Why people always mention tooling but never explicitly mention which tooling they miss? I use Java for 4 years and I constantly find stuff that's missing here where other languages have it baked in from day one


> I constantly find stuff that's missing

You didn't mention which tooling you miss.


> tooling

Neither did you.


Not the other person, but I miss Gradle every time I use something else. It feels like the correct tradeoff of complexity and power. The Bazel family always felt unapproachable, and things in the Python or Rust universe basically require a makefile or other orchestrator to make sure tasks are ordered correctly.

What do you find missing from the Java tooling world? In my experience it’s been the best built out, and maybe overly so.


Ah interesting, so I'm relatively happy working with C# and .NET. I'm interested in what you think might be lacking, is there an example of another language with some tooling not available in .NET?

Note: not trying to pick a fight, I'm legit interested what I might be missing since I feel like my needs are pretty much covered :)


My .NET experience is about 1 year out of date, but at the time the ecosystem was in a really great spot. First class Linux and Docker support, your choice of editor/IDE with VS, Rider, and VSCode, and nice test and profiling utilities.

Historically though (pre-.NET Core), .NET was always in a Microsoft bubble which held it back as the industry consolidated on Linux and Docker. The person you're replying to may agree that C# tooling is currently pretty good.


The list is shorter then it once was, but high quality Bazel support comes to mind.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: