7 ms·
.NET, Java, etc. all sound so 1990-ish.
by epx 8y ago
.NET, Java, etc. all sound so 1990-ish.
- ct520 8y agoI could see how people could say that. As someone that loves to explore languages and frameworks. My opinion is if you haven't checked out the new .NET ecosystem it's worth a look/revisit.
- epx 8y agoPerhaps I will. I have a huge bias - PTSD from frameworks and I could not swallow why GNOME tried to steer to .NET/Mono at one point.
- CodeCube 8y agoCan you expand a bit on what you mean by "PTSD from frameworks"?
- epx 8y agoSure. Basically, fear from lock-in, fear from having to do major rewrites because version+1 is completely different, or because vendor ditches the whole thing or goes bankrupt. To be fair, Java and .NET fared well since then - both still exist and it it is very convenient to e.g. drop an old JAR in a project and just use it without issues.
- benaadams 8y ago.NET Core has pretty strong backwards compatibility rules: https://github.com/dotnet/corefx/blob/master/Documentation/coding-guidelines/breaking-changes.md https://github.com/dotnet/corefx/blob/master/Documentation/c... > We generally don't accept change proposals that are in bucket #1. ... > Bucket 1: Public Contract Clear violation of public contract. > Examples: > - Renaming or removing of a public type, member, or parameter > - Changing the value of a public constant or enum member > - Sealing a type that wasn't sealed > - Making a virtual member abstract > - Adding an interface to the set of base types of an interface > - Removing a type or interface from the set of base types > - Changing the return type of a member > - ...or any other incompatible change to the shape of an API
- manigandham 8y agoMicrosoft is arguably the best in the entire software industry at maintaining backwards compatibility. They go to extreme lengths to maintain support for older code and it's relied upon by many major enterprises so you're not going to run into issues unless you're planning on having something running for 50 years.
- setquk 8y agoNo it’s really not. We’ve been left SOL on numerous occasions and the churn rate is so high that it’s literally only safe to use the bits right at the middle of their products. And we’re talking on a relatively short three year window here.
- manigandham 8y agoWhat are you talking about specifically?
- setquk 8y agoWPF, WCF churn, silverlight, appfabric/velocity, the disaster that was windows workflow etc etc
- magicalbeans 8y agoIs WPF dead? And what's it been replaced with?
- CodeCube 8y agoWPF lives :) https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/ https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-...
- manigandham 8y agoWPF is still supported and developed. Appfabric/velocity is now Service Fabric which has much more functionality, runs many Azure and MS cloud services, and is open source. Silverlight was unfortunate but overall good for the web. You must realize that even Flash, the vastly larger competitor, also died and gave way to much better browser native APIs. I don’t know about Windows workflow but it’s important to keep in mind the difference between abandoned products vs the changing software trends landscape.
- simooooo 8y agoBecause it would be faster than JS?
- 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.