6 ms·
> .NET, Java, etc. all sound so 1990-ish. .NET 1.0 was released in 2002 ;-) https://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_1.0 ht
by matthewwarren 8y ago
> .NET, Java, etc. all sound so 1990-ish.
.NET 1.0 was released in 2002 ;-)
https://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_1.0 https://en.wikipedia.org/wiki/.NET_Framework_version_history...
- epx 8y agoIt already felt 1990ish back then, a "me too" moment because of Java. At least it was not tied to a PL but they couldn't refrain from inventing yet another one anyway.
- hermitdev 8y agoIt wasn't a "me too", it was a "we can do better", and IMHO, they did. C# as a language is very nice to use. 1.0 was lacking a few crucial features, such as generics (while using 1.1, I was using a code generator to create strongly-typed collections). It sort of felt like Python at the time - Batteries included. Even at 1.0, the standard library was quite extensive. By 2.0, generics were there, and that ameliorated my biggest complain with the language. Every iteration since has been a boon to developer productivity. Some features, such as Linq are hit & miss for me. On one side, Linq is great in that it allows one to succinctly express complicated logic. On the other hand, it also hides a lot of complexity and it can be hard to determine the algorithmic complexity of even the simplest Linq statement, unless you closely examine all of the types involved. Also, not to be forgotten is the tooling. From day 1, tooling for .Net (C# in particular) was top notch, and it's only gotten better over the years. IDE support was great (except lacking edit & continue) - Intellisense was fast and worked incredibly great (and fast), with the built-in support for XML documentation, its was also helpful & informative. Compared to the Intellisense support for C++, which was so bad I've sworn off VS for C++ work (last time I tried was VS 2005, when it'd either hang or crash often) and rely upon command-line Vim instead. I don't do much C# currently, but I still love the language. I'm probably about 1% C# and the rest C++ currently. Edit: I'm aware that C# was largely born after MS's ill-fated embrace of Java (J#, IIRC) and the suit from Sun. I see C# as an embrace what worked, kill what didn't. Java still has some large annoying works (Exception specs), and C# said: we don't want that.Even C++ realized that exception specs sucked and ditched them in 2011, but Java's still clinging to them. Also: objects vs value types.
- ramensea 8y agoI have been using C# a lot recently. I can't stand it. It feels like it it lacks a coherent design. I'm not a huge Java fan either, but at least it feels coherent to me. I have used a lot of different programming languages and can see the values in their different approaches, but I have a hard time seeing it in C#. Also C#'s tooling is only good on Windows.
- jackfoxy 8y agoTry F#. There is a VS Code plugin with about all the tooling you need. Fully supported by dotnet core, so you don't have to use it on Windows.
- ramensea 8y agoI am not a fan of VS Code. It feels clunky and slow. Also Rider's auto complete is much nicer and faster. So I have considered F#, but it doesn't seem that compelling. Also it seems like the tooling is worse on other platforms.
- jackfoxy 8y agoA friend who uses vim says adding the vim plugin to VS Code makes it very fast. Just passing this on.
- keithnz 8y agowhat don't you find coherent about the desgin of C#? On HN there is far more value in being specific about your particular concerns rather than giving no reasons. There is a lot stuff written on the design of C#.
- pjmlp 8y agoSome examples from an old timer. Currently it has three different ways of using event handlers. The original way, anonymous delegates and lambdas. The semantics of for loop which were fixed around C# 6.0, need to hunt down release notes for this one. Something like .NET Native and .NET Core should have been there on v1.0 instead of tying the runtime to the OS.