C# 7 and Beyond!


The Future is Now


I watched an interesting YouTube yesterday about the Future of Microsoft C#. I have to admit that I've been on a spurt lately (starting this last February) of being interested once again in software development and a lot of my interest is due to C# (the instigator was getting back into Microsoft MVC with C#).

I've been writing software to one extent or another since about 1980. Yeah, I'm an old dude - I'll turn 60 this year. I've been developing software as a primary occupation since 1997. 20 years. Before that I had always written software to some level to assist me in my jobs. In the Navy I wrote a small program on my HP-41CV programmable calculator that would solve passive targeting solutions for anti-submarine warfare (TMA if you're familiar with it). Since I was also tasked with being the secret materials officer, I wrote a database tool for tracking the secret materials. And it did not use an off the shelf database - I wrote my own semi-relational database using the native file structure.

I wrote plotting software that printed data points on automatically scaled prints. No big deal, but I have since run in to people that the only way they think that can be done is to use a plugin that someone else developed.

I don't claim to be a wizard, but I do claim to have had experience doing a lot more programming by hand than by using plugins.

The bulk of the software development I've been doing for the last 15 years or more has been pretty stable and common-place and mainly using older technologies. I've been okay with that to an extent. But for some reason I decided to start looking into Microsoft MVC and C# again, with the hope or intent of migrating into a position that I can use the new languages.

One thing that has really spurred me on is working on a pet MVC project (re-working the main software application I work on for my employer) and noticing that to create the display of one of the pages in MVC 5, it took me maybe a couple of hundreds lines of code. The classic ASP, JavaScript, and XSLT that we use to implement the same page at work involves about 20k lines of code or more. Yes, a factor of about 100 times as much code!

That is a significant code reduction and greatly enhances maintainability while reducing bugs. Granted since this code is about 15 years old there aren't a lot of bugs lurking any longer but we generally have to implement various changes every year due to federal or state mandates and trying to factor in new functionality into the spaghetti code base is often a nightmare.

Consequently I get very excited when I see how concise C# is now and is becoming.

The YouTube I watched was from one of the top Microsoft C# Language Team crew, Dustin Campbell, speaking at TechEd Europe, published on June 24, 2017.

Here's the link to the video:

    https://www.youtube.com/watch?v=HamA9qYBFMU

He describes some wonderful features released in C# 7.2 as well as some upcoming features of C# 8.0 (which he describes with caveats stating that upcoming features are their intent but can't be taken as gospel).

I haven't had a use for tuples yet but after seeing his video I will at least keep my eye open for places where they might be useful. They seem like a quick way to create a somewhat complex data type and allow you to work with them in a very concise manner. I like it! Keep it coming Microsoft!

Comments

Popular posts from this blog

A better mouse trap - issues with a Logitech Wireless Marathon Mouse M705

Implementing IDisposable Properly

Driver Training - cleaning up unused USB drivers