Live data from Hacker News

The Case for C# and .NET

chrlschn.medium.com

301–310 of 376 posts

Re: The Case for C# and .NET

#301
post #162
post #109

Earlier quoted context omitted.

> The sheer amount of concepts in C# is overwhelming Agreed. But F# is one of the best designed languages around.

I don't disagree, and I love F# but I think it owes a lot of that to OCaml. That said, since we're talking about C#, F# and VS Code I'm gonna vent a little about something that arises when you use all three :D If you open a C# project in VS Code when the "Ionide" extension (basically the F# extension for VS Code) is installed then the extension thinks it's a F# project and will open some F# stuff after a few seconds…

I still need to get into OCaml. I of course know bits by virtue of having used F# and SML, but OCaml definitely has its own unique features. For F#, I appreciate how well it sits upon the host VM for the CLR and .NET. It just integrates almost seamlessly while still being a functional-first ML. When I use F#, it's by far the easiest code I write. I find myself just writing out the domain and boom, I got a working program. Recently, I wrote some bindings for a C/C++ DLL, and F# really made that easy. It's the easiest time I've ever had creating such bindings in a language.

For the Ionide stuff, I agree. I don't use it, even though I use Visual Studio Code for other languages, and am happy enough with Visual Studio on Windows and Visual Studio for Mac on macOS.

Re: The Case for C# and .NET

#302

Earlier quoted context omitted.

This obsession of dynamically typing vs static typing is not useful. ASP.net is used to develop web applications. C# does have better performance than Python, but I highly doubt most applications will ever need or care about that. Choosing C# over Python (or Ruby, JS etc) for performance reasons is premature optimization at best. Maybe you have some legacy codebase in C# that you need to leverage. All other reasons t…

I certainly hope that the Python language maintainers do not see C#,Go or Java as their competition. I like Python as is.

They definitely see Go as direct competition, or did at various points. Some of the work that was done in Python 15 years ago is now done in Go, mostly because of its superior support for highly-parallel workloads; so Python developers have reacted and improved the parallelization story in various ways (yes, it's still not as good as it could be, but it's undoubtedly better than it was when Go took a significant bite off the ecosystem).

As for Java and C#, it is a fact that all of them joustle for the backend market together with Python. Java and C# were there first and have massive commercial backing pushing them, but Python has slowly carved a larger and larger role on the back of technical merit. As long as it continues to do that, I don't think you need to worry.

Re: The Case for C# and .NET

#304
post #176

Earlier quoted context omitted.

.NET core can run on any platform it wants, but as long as it's from Microsoft, the company as we know it, I won't even write "Hello, World!" with it. A language can't be the fastest at everything in today's mature language ecosystem. OTOH, Debian's "Programming Language Games" benchmarks shows it's on par with Java (which is not slow in any means), and not as fast as you claim [0]. In the page I shared, some C# benc…

Curious, what is it with Microsoft that makes it so poisonous for you that you won't touch anything they make with a ten foot pole? As an example, I'd say Facebook (Meta) is a way more toxic company but I've never heard of a developer have moral arguments against using React

us old farts remember Microsoft (and Gates) as true villains. Things have changed but those wounds run deep and the scars remain. Every time i see the Bill and Melinda Gates foundation in the news all i can see is Bill trying to buy his way into heaven.

Re: The Case for C# and .NET

#305
post #200

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…

I'd love to watch that talk if you're comfortable posting a link

Unfortunately, because it contains proprietary source, I cannot :(.

Re: The Case for C# and .NET

#306
post #268
post #212

Earlier quoted context omitted.

F&O, sadly...

F&O would be former AX? That seems highly rewarded field. I know it only from SQL point of view - It helped grow my SQL skills when SQL would be brought to it's knees (along with the business) due to skewed data distribution and occasional query plan invalidation.

Yep, it's the replacement for AX. I can't say I love working in it, but the clients are massive and as such, it can be a rewarding financial choice. The tooling is poor and the APIs are a bit difficult but it's made for some fun workarounds :)

Re: The Case for C# and .NET

#307
post #291

Earlier quoted context omitted.

Only if we consider the language in itself, without the .NET ecosystem for GUI, databases, code generators,... Where it is pretty much DYI.

Depending on what code generation you are doing you have alternatives. Biggest one being Type Providers which are arguably better than anything I've seen from source generators so far (which I found incredibly buggy when I used them, and at one point I had to reinstall visual studio it bugged out my environment so much when messing with writing my own). And see above for database, Type Providers are great at least fo…

You mean the traditional World Data Bank example that we got to see at each F# conference with little relevance for .NET shops?

What I care about are the code generation libraries that get served alongside NuGet packages with attributes, e.g. the ones used by MVVM, MAUI or Blazor.

Re: The Case for C# and .NET

#308
post #293

Earlier quoted context omitted.

> That proves my point even further, because I don't develop anything remotely web-related, hence that performance scenario is completely moot for me. I hope you realize non-web development is a niche nowadays. So it's perfectly reasonable to prioritize .NET benchmarks that target ASP.NET Core web apps/APIs.

I hope you realize that web-development in my discipline is a niche nowadays. So, it's perfectly reasonable to prioritize bare metal and micro performance benchmarks that target naked performance, OS and GPU apps/APIs. Our vantage points are different, and these different vantage points need not to see the complete ecosystem as a whole. It's too big to generalize from a single vantage point, and just because our view…

And that's fine. Your niche is valid. Just no need to point out that a benchmark targeted at web frameworks focuses on... web use cases.

Re: The Case for C# and .NET

#309
post #176

Earlier quoted context omitted.

.NET core can run on any platform it wants, but as long as it's from Microsoft, the company as we know it, I won't even write "Hello, World!" with it. A language can't be the fastest at everything in today's mature language ecosystem. OTOH, Debian's "Programming Language Games" benchmarks shows it's on par with Java (which is not slow in any means), and not as fast as you claim [0]. In the page I shared, some C# benc…

Curious, what is it with Microsoft that makes it so poisonous for you that you won't touch anything they make with a ten foot pole? As an example, I'd say Facebook (Meta) is a way more toxic company but I've never heard of a developer have moral arguments against using React

They have strategy called Embrace, Extend, Extinguish.

They are still running this strategy, but now also buy good PR buying paying high profile developers thru their developer advocate positions.

""" Microsoft finally is fulfilling its dream of EEE to Linux. Windows Subsystem for Linux (WSL) embraced the API – letting you run Linux binaries (and GUIs!) on Windows natively. Next, WSL extended the kernel with GPU driver support. "" " - https://matt-rickard.com/embrace-extend-extinguish/

Re: The Case for C# and .NET

#310
post #299
post #293

Earlier quoted context omitted.

> That proves my point even further, because I don't develop anything remotely web-related, hence that performance scenario is completely moot for me. I hope you realize non-web development is a niche nowadays. So it's perfectly reasonable to prioritize .NET benchmarks that target ASP.NET Core web apps/APIs.

> I hope you realize non-web development is a niche nowadays. That's a terrible attitude. If you want a certain ecosystem to get a better rep, you have to be ready to talk with different communities, and accept their feedback. Python is what it is largely because it can cater to a large number of these very different communities, which has ensured its long-term success. Compare with Ruby, which became effectively a w…

> If you want a certain ecosystem to get a better rep, you have to be ready to talk with different communities, and accept their feedback.

Hard disagree. I prefer specialized tools over jack-of-all-trades. Otherwise we would be coding web applications in assembly.

Your example, Ruby, wouldn't even be a blip in history radar if it wasn't for Ruby on Rails, a specialized and very productive toolkit.

Just because RoR now has more competition doesn't mean it isn't/wasn't awesome.

Post reply on HN