Visual Studio (VS) is the most common tool used by software developers who use Microsoft technologies. The most recent version, VS 2017, was released a few days ago. Because I use VS a lot, I figured I’d better check out the new VS to see how it compares with the previous VS 2015.
VS is an extremely complex program and can take many, many months or even years to master. So, my quick investigation was meant only to get a feel for what is new. The biggest change seems to be that VS can now create programs that use the new “.NET Core” framework. Loosely speaking, the classic .NET Framework, which was released in 2002, is a huge library of code. The new .NET Core framework is more modular and is open source.
I did a quick Console Application that runs in a shell, using the .NET Core and my reaction was pretty much a yawn — sure there were lots of changes but nothing I can’t figure out. I believe VS 2017 will continue to be a great tool (much better than, say, Eclipse) for creating desktop applications and code libraries, using the C# language.
And then I gritted my teeth and took a look at the nightmare called ASP.NET to create a simple Web page. The history of ASP.NET is a sad one. Microsoft can never seem to get it quite right while less sophisticated platforms like PHP and NodeJS keep things relatively simple and gain market share. First there was classic ASP, then Web Forms with ASP.NET, then Web API and MVC, and then there was Razor, and on and on and on. Each change to ASP.NET required a massive investment in time to learn. I mean, really, Web applications aren’t that complicated! It’s response-request for crying out loud!
And now we have ASP.NET Core. I wish I could be optimistic and say something like, “At last! Simple and effective and I’m sure it’ll be stable for at least a few years!”
I wish I could say that. But my initial reaction was, “Here we go again.”
Of course, after only a few hours of poking around with ASP.NET Core, I could well be completely wrong, but my initial experience wasn’t good. My problem with ASP.NET isn’t the technology — which is actually pretty awesome. It’s the constant and infuriating flux and platform instability which creates mountains of irrelevant and apparently contradictory documentation (because you can’t always be sure about which version you’re dealing with).
Bottom line: VS 2017 looks good. Many of the new features are related to the overall development process (such as collaboration and integrated testing). I haven’t formed an opinion on the .NET Core yet, but the Web part of Core, ASP.NET Core, feels overly complex.