Live data from Hacker News

The Case for C# and .NET

chrlschn.medium.com

281–290 of 376 posts

Re: The Case for C# and .NET

#282

Earlier quoted context omitted.

I've been a .NET developer professionally for seven and a half years. Rider is the way to go. Visual Studio has improved dramatically over the last decade or so, but Rider is still way ahead of it on code search/discovery, performance, and general user experience. I did a tech talk at my company where I demoed Rider vs Visual Studio 2019 performance on our bigger projects... it was embarrassing for VS. VS 2022 was su…

And...how do both companies compare in what telemetry they're sucking out of devs?

Fair question, devs who do not want to share telemetry for the dotnet core SDK simply need to set an environment variable. VSCode has a similar setting in the options. Not sure about Visual Studio as I haven’t used it in a while.

https://docs.microsoft.com/en-us/dotnet/core/tools/telemetry

Re: The Case for C# and .NET

#283
post #5

> For the front-end, JavaScript is unavoidable (for now) Author really needs to give Blazor a try. I wrote some comments last week speculating that I'd use Dart or TypeScript with C# .NET on the client because WebAssembly doesn't do DOM manipulation, but turns out I should have waited to learn it better before making a comment. I've learned I can add events and event handlers to elements without ever leaving C#. Then…

Author here.

I tried Blazor. We used it for one mission critical project.

We found that the development cycle is too long and it has too much friction compared to Node for front-end development.

Back to Node for frontend (Vue)!

Re: The Case for C# and .NET

#284
post #279

Earlier quoted context omitted.

Rider does not have a community edition unlike IDEA. It was created due to a combined threat of VS Code and Roslyn and is the reason ReSharper is almost neglected these days.

ReSharper isn't a heavy focus because it's not worth it anymore. To get the same performance as other tools they'd need to throw out a ton of work and rewrite it for Roslyn. With Rider, they get to continue to use their existing ReSharper codebase to power it.

They don't forget to charge same (even increased) fee for minimal updates, though.

Re: The Case for C# and .NET

#285

I also think that C# and .NET are awesome. Especially latest releases dotnet 6 and upcoming 7 have a ton of new things to be even more productive. I like the fact, that you can develop command line apps, Web APIs, Desktop Apps and smartphone apps all with the same toolset, including the fact that deployment is possible on nearly every major platform for every major platform (except iOS and macOS Apps, as always only…

I tried writing a simple crud api with asp.net, which should parse and respond json. It was the worst development experience I ever had while writing json apis. Validation? Not existent. OpenAPI/swagger documentation generation? Not existent. Then it also tried to force me into using MVC, while acting that it is express with its middlewares. I switched back to node.js with fastify and wrote my app in an hour. I reall…

You did something wrong.

  dotnet new webapi -minimal
This will scaffold a project which is more or less the exact same as Flask, Express, or any other "easy" framework.

OpenAPI output is built-in, but tooling for development does require a bit of knowledge (agree that Microsoft would benefit from making this work out of the box).

A small repo here showing how to connect OpenAPI and front-end TypeScript client generation: https://github.com/CharlieDigital/dotnet6-openapi

Re: The Case for C# and .NET

#286

C# and TypeScript seem to be far and away the most popular programming languages today. At least from the perspective of recruiting in Australia. Python is on the way up and third most popular but well behind C# and TypeScript. Golang is on the way up but very small in terms of number of developers. Java is on the way down but will never vanish, it's just not super popular any more. Ruby is small enough to just be a…

Perhaps in Australia, but certainly not worldwide. C# is way smaller than even Go in total, and Java is a lumbering giant. Slow perhaps, but there's no David around at the moment.

>C# is way smaller than even Go in total

TIOBE has C# much larger than Go and growing, and it also has Go slightly shrinking over the past year.

https://www.tiobe.com/tiobe-index/

Same results on Stackoverflow https://insights.stackoverflow.com/survey/2021

Same results on IEEE Spectrum https://spectrum.ieee.org/top-programming-languages/

Same for PYPL https://pypl.github.io/PYPL.html

I cannot find a single place that looks at a large dataset and a decent number of languages that gives the result you claim.

Care to list where you got your data to support this claim?

Re: The Case for C# and .NET

#287
post #25

Mostly agree with the author. But just wanted to point out that if we're doing C#/Java style OO patterns in JS (as in the Repository example shown), the value of using JS diminishes to almost nothing. JS works better without classes (and interfaces against them if using TypeScript).

If you look at how major backend projects structure their code, it's almost always object-oriented TypeScript.

I submit for the record:

- Apollo Client: https://github.com/apollographql/apollo-client/blob/main/src...

- Storybook: https://github.com/storybookjs/storybook/blob/next/lib/chann...

- Nest: https://github.com/nestjs/nest/blob/master/packages/core/nes...

- MongoDB Driver: https://github.com/mongodb/node-mongodb-native/blob/main/src...

- Prisma: https://github.com/prisma/prisma/blob/main/packages/engine-c...

Re: The Case for C# and .NET

#288

Earlier quoted context omitted.

You don't have to use Nuget.org, it's just the public community version of a Nuget package repo. You can use your own private repos like MyGet[1] or Github Packages [2]. 1. https://www.myget.org/ 2. https://docs.github.com/en/packages/working-with-a-github-pa...

Yeah I know all this, you can even use BaGet[1] symbol server to cache or manage private dependencies in an enterprise network. That is not the point... I think that the most used tool / platform should provide more flexibility for non-enterprise or less expierienced developers. No offense, I like nuget, but I recently made a typo and checked in 0.0.23 instead of 0.0.2. Now, everytime I add a dependency that is I als…

FYI Nuget also work with folders.

Drop nupkg in a folder, use it as a source, you now have a "feed".

Re: The Case for C# and .NET

#289
post #167

Earlier quoted context omitted.

I'm not entitled to a best-in-class IDE experience, I'm just happy using one of the dozens of equivalent languages that do have them with an open community.

Those are not best-in-class. Pretty much the entire industry is now VS Code by default - which is very good but not a full IDE like VS or Rider/IntelliJ series.

I'm extremely happy writing Rust with neovim and rust-analyzer. There are plenty of long time rust users who will absolutely tell you that rust-analyzer beats IntelliJ Rust, and I find it very much comparable to writing Java in IntelliJ, which I do professionally. Likewise, Elixir's open source and community developed LSP is incredible and easily an IDE-class experience with neovim or VSCode.

Re: The Case for C# and .NET

#290
The article mentions it, but I'll reiterate: the .NET CLR is fantastic. C# is a great language for the backend: GC'd, lots of libraries, fast runtime, and expressive enough. Do I wish it was more functional? Absolutely. But it doesn't aspire to be that.

The ecosystem deserves mention. There are some high-quality libraries that work well, even if they aren't the most popular. Take objectional relational mappers, for instance. You can go whole hog and have an ultra-coupled, er, cough, "batteries-included" ORM much like every other ecosystem, or experiment with a multitude of options between writing your own SQL but letting the ORM handle hydration, and a full-blown ORM.

Tooling support has always been top of the line, too. It is only in the past few years that other languages have caught up with the quality there (Eclipse/IntelliJ excepted).

Post reply on HN