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

That is true of so many products. Notepad++, Paint.Net, Everything search.

Products which would cost Microsoft absolute peanuts to acquire. Or even just use that as a model and rip it off entirely with an in house version.




Everything search is the most befuddling one. The delta between Everything and the built-in Windows search can only be described as monumental. A vast gulf. They do not even deserve to be mentioned in the same sentence. Just fucking buy the thing and integrate it, what could they possibly be thinking?


It's because Microsoft isn't really serious with C#. For years it has advertised other languages (e.g. JS on WinRT) or runtime (wasm), support in VS Code is still rather interesting, UI frameworks were never made truly multiplatform and the one which supposedly is is still buggy as hell (maui). C# 12 is a pile of crap (C# 13 looks interesting tho).

So in the end it's good all those tools stay independent and focused.


I don't think it's true that C# isn't taken seriously at Microsoft - some of the frameworks on top of C# come and go, but I worked on JS on WinRT briefly and can say it was never, ever "taken seriously" in the way the core C# language and runtime is. If you want to work with azure or windows, C# will be the obvious best choice for the foreseeable future, and if you want to work with C# outside of those verticals I don't think it's a bad or dead end choice either.


> It's because Microsoft isn't really serious with C#

OP is speaking out of thin air. It's one of the best programming languages out there.


Best at what exactly? I can’t think of a single thing you would pick C# for instead of Java/Go, C/C++/Rust/Zig, Python or JavaScript/Typescript.

Not because C# is a bad language but because it’s not particularly good at anything. It’s a jack-of-all trades which isn’t even the best jack-of-all trades. So unless you have a lot of years put into it, either in your software stack or in your employees there is very little reason to use it in 2024.

But maybe you know of reasons to use that I’m not aware of?


> Best at what exactly? I can’t think of a single thing you would pick C# for instead of Java/Go, C/C++/Rust/Zig, Python or JavaScript/Typescript.

C# was the first to get async/await, generics, LINQ, PLINQ etc - the path-breaking features that shoot up not only productivity but the ability to do certain things in a much better way.

Just because kids have caught up, it doesn't mean we are going to abandon the daddy.


That’s sort of what I said though. You use C# because you used to use it. It’s like that for a lot of languages. I think it’s largely why Java is still around, and the wait paid off considering Java has overtaken C# on many aspects.

but if you were going to pick a tech for a new project without a history of using C#, why would you pick it in 2024? If you’ve got a large .Net stack and a lot of experience with it, it’s still a great choice. I was a c# developer for a decade mind you, and I’m not sure I’ll ever use it again because it sort of lost its foothold despite being in a really great place.


> it sort of lost its foothold

I think you're just in a bubble. dotnet is widely used, and keeps getting better. I can program in many languages and yet csharp will very often be my go to for backend stuff because it's just the best.


Java and Go are both almost unusable at, for example, writing games unlike C# which has rich ecosystem for this, and it has been gaining performance oriented features in every recent version that make it able to compete with C and C++, be it compiler improvements or SIMD API. Meanwhile Java: https://x.com/lemire/status/1803101802700664955?s=46&t=QDsm5...


Very good lang, coherent ecosystem, great tooling, well designed std lib

By far the best developer experience I ever had was in C#.

I wish other langs like cpp or c were at least half as good at those as C#


> it’s not particularly good at anything

It's extremely good for web APIs, for one.


I’m not sure I agree with C# being the only first class citizen in Azure. A lot of the Azure stuff like the whole automation is done with Powershell (or Python, but what Microsoft ops people does that?). On the development side of things Microsoft is pushing their container apps platform over their app/function platforms and it integrates with virtually everything.

Even on something like their MSGraph SDKs we’re often getting better performance out of the JavaScript SDKs.

I think it’s a little silly to say that Microsoft isn’t taking C# serious. If you look at Azure DevOps, which has not been taken very serious by Microsoft since they acquired GitHub and then compare it to C# there is just a world of difference. I do think it risks going that way. I’m not sure I think Visual Studio is taken fully serious anymore, but it’s still getting much more attention than Azure DevOps and C# is just… miles ahead of every product in terms of seriousness. I do think they are making it more and more like Typescript, I’m sure we’ll eventually see classes replaced by Types and functions being capable of living on their own, but that’s not really a bad thing.


DevDiv, nowadays part of Azure, is serious about .NET.

Unfortunelly WinDev and XBox[0] only cares about C++ and COM nowadays, after they won over the whole Longhorn drama.

[0] - Managed DirectX and XNA were projects pushed by key engineers, folded after they weren't any longer around to argue for their projects.


I agree that MS is not completely serious about C#. They spend too much time on adding new language features but not enough on the essentials: There are big holes and missing bits in the Windows API wrapper that have been there for two decades. Most new MS apps like Teams of VS Code are not written in C#. I suspect it will limp along with hot and cold support from MS.


The Windows API is no longer the focus for .Net. They are very clearly pushing large scale web apps.

I’d be curious to know what percentage of people are still writing windows clients. I suspect there’s a lot of legacy code still out there, but it’s clearly not the future


What language do you program in?

You can use CsWin32[0] and CsWinRT[1] both of which provide rich generated bindings for their respective APIs. A colleague of mine recently got rid of C++ component thanks to the former, simplifying the solution build.

[0]: https://github.com/microsoft/CsWin32

[1]: https://github.com/microsoft/CsWinRT


Thank you for that!




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

Search: