4 ms·
I've been developing on the .net platform for >10 years. Increasingly I get the feeling that I no longer fully understand its extent, how it all fits together,
by andyjohnson0 11y ago
I've been developing on the .net platform for >10 years. Increasingly I get the feeling that I no longer fully understand its extent, how it all fits together, and what is and is not "legacy". Can anyone recommend a comprehensive and up-to-date survey on the platform for someone in my position?
- taspeotis 11y agoYes I share your confusion and I wish there was a guide to all of this, but don't forget DNX/DNU/CoreCLR/CoreFX/new platform targets for NuGet and all that hasn't hit RTM yet. So I am keeping an eye on it, but I will await the release date(s) before committing to learning too much about one thing or the other.
- cm2187 11y agoThe other thing is the move toward command lines, away from GUI. I think it's great to make everything scriptable. But a command line is also many order of magnitudes less discoverable than a GUI. I am not sure how much Microsoft realises that a great part of the success of C# is about making it easy and intuitive, and that involves visual feedbacks. Unless the idea is to make it more of an "elite language".
- insulanian 11y ago> Unless the idea is to make it more of an "elite language". When I think of VB, and how being easy and discoverable produced enormous amount of crap in software world, I almost support this idea.
- cm2187 11y agoI can think of two type of crap you are referring to: 1. VB written in the 90s (VB6 and before), which has mostly do to with VB having been around for so long. To be fair, if you look at code written in the 90s in any mainstream language through today's best practice lens, everything will look shit. Today's VB is a superb language that can be very elegant, and actually quite modern too, relying less on special characters and more on an expressive, english syntax. 2. VB written by non programmers (essentially VBA). You can argue that non programmers shouldn't be allowed to code, but from a business user point of view, there is much to say about the lack of productivity of IT departments in large organisations. Enabling users to automate many of their tasks has a massive productivity impact. A user can automate the production of a report in a couple of hours, instead of having to discuss specs, prioritisations, budgets, tests, etc for months with the IT dept. I think it's absurd to hold the quality of the code produced against the language.
- arethuza 11y agoAlso worth noting that the new web project types in VS 2015 include bower, npm and gulp by default.
- taspeotis 11y agoI tried the new templates and gulp was a welcome addition. I'm sick of finding nice JavaScript libraries that aren't on NuGet or are outdated. Now I can get the libraries and the updates the same as everyone else.
- mariusmg 11y agoAll you need to understand is the *Core stuff are optional . .NET Core is a tradeoff. You give up lots of nice stuff and you'll be able to run on Linux.
- cm2187 11y agoAsp.net is going to be as "supported" as webforms or winforms are, i.e. they will patch them but let them die. I don't think it's just an optional alternative.
- otis_inf 11y agoIf 'core' stuff is optional, it's not core at all, it's optional. Core material is the core of something. So naming things 'core' is stupid if it's not the core of something. Here, the .NET core libraries/frameworks are a different direction. They're not core, but they're not to be seen as 'optional'. They're to be seen as 'alternative' to .NET full. Not a great alternative today, as many features are lacking and they're really rushing things towards a pretty stupidly set deadline (when you're adding features to a RC2, you're not doing it right), but perhaps someday.
- saw-lau 11y agoI'm in the same position, and in fact started a project/blog to try and force myself to learn about the 'newer' features that had passed me by. Like many of my personal projects, I kind of ran out of steam, but maybe I'll try and re-learn everything again one day... https://twelveyearslate.wordpress.com/2014/06/05/professional-net/ https://twelveyearslate.wordpress.com/2014/06/05/professiona...
- arethuza 11y agoI've actually been doing that very thing for the last few weeks - a side project that I had started in Python but decided it would be a good idea to pick up the new MVC stack. Apart from the initial fights with dependencies, which I've now all fixed, it's been very enjoyable - there have been a few glitches but they've been kind of fun to work around.
- NicoJuicy 11y agoThis is what i think. .Net ( normal) is Windows only, there's mono which is based on .Net itselve and supports Mac. .Net Core is a extensions on the origin of Mono. Making .Net available on every platform. But Microsoft underestimated the effort it would take. So they are going the .Net Core way for better cross platform support (i'm not saying Mono is bad, fyi!) .Net core is a fork of .Net framework, with support for all platforms ( Windows, Linux and Mac). It tries to support as many things as possible, the hard part is graphics. Which causes problems for WPF and Image processing. Asp.Net MVC 4 - 5 - ... is based on .Net frameworks. Asp.Net 5 is a refactoring of asp.net MVC which supports .Net core and .Net. Which causes difficulty for cross platform support ( some dll's are in a different location using the .Net Core). Also, .Net Core doesn't support SignalR and image processing ( as mentioned in https://github.com/imazen/Graphics-vNext https://github.com/imazen/Graphics-vNext ) They are now renaming .Net Core to v. 1.0 because there will be some differences between .Net core and .Net and it's more logical, because .Net and .Net core is not the same. But they are looking into it to minimize the differences. Just to be sure, SignalR and Image Processing and graphics problem are going to be solved. Just not yet. Asp.Net Core runs on both .Net framework and .Net core. .Net Core will be used for cross platform development, while .Net framework will be used for Windows Only development ( probably WPF, because it isn't released as opensource yet) Nothing is legacy, Windows has always supported older versions of the .Net framework. I can even run .Net 1.0 on Windows Server 2008... That means a lot. The difficulty for .Net developers is, that .Net core will be using a lot of opensource tools, that they don't have any experience with. You can stick to your old pattern if you want, but i'd advice to learn the new tools, that other frameworks are using ( grunt, gulp, ...) . You would come in contact with them outside of the .Net framework :-)