This week, Microsoft explained how it plans to evolve its current crop of software development languages. And fans of Visual Basic may want to sit down and collect their thoughts before reading any further.
“We haven’t always been good at sharing how we make decisions,” Microsoft’s Mads Torgersen writes in a post to the .NET Blog this week. “Our language strategy, the framework for how we think about each of our .NET languages and chart their evolution.”
Here’s a quick rundown of Microsoft’s current thinking around its most popular development languages.
Microsoft’s stated strategy for C#:
“We will keep growing C# to meet the evolving needs of developers and remain a state of the art programming language. We will innovate aggressively, while being very careful to stay within the spirit of the language. Given the diversity of the developer base, we will prefer language and performance improvements that benefit all or most developers, avoiding over-focusing on a given segment. We will continue to empower the broader ecosystem and grow its role in C#’s future, while maintaining strong stewardship of design decisions to ensure continued coherence.”
This one is a bit complicated for me. I literally got my start writing about Visual Basic, and wrote three books about this language—covering VB 3, 4, and 6—plus several about Visual Basic Script and Active Server Pages (ASP). But that was before the controversial switch to Visual Basic.NET, where Microsoft’s starter language was redesigned to work as much like C# as possible.
The idea was that VB developers would be able to easily make the leap to the more professional C# language. But the real leap was from classic VB to VB.NET, and many amateur users of the language never did come along for the ride. Today, Microsoft says that VB is used by hundreds of thousands of people. But Stack Overflow notes it is also the “most dreaded” programming language in the world. “Developers wouldn’t miss it if it went extinct,” the site notes. Ouch.
So Microsoft is taking a belated step to focus VB as “a good, approachable entry language for people new to the platform and even to development.”
Microsoft’s stated strategy for Visual Basic:
“We will keep Visual Basic straightforward and approachable. We will do everything necessary to keep it a first class citizen of the .NET ecosystem: When API shapes evolve as a result of new C# features, for instance, consuming those APIs should feel natural in VB. We will keep a focus on the cross-language tooling experience, recognizing that many VB developers also use C#. We will focus innovation on the core scenarios and domains where VB is popular.”
To the future
Microsoft is also actively developing and improving its F#, with which I am not familiar. It’s fairly new, is only used by tens of thousands of developers, but is apparently well-liked.
Anyone pursuing a career in programming, or just seeking to better understand how software is made, would do well to learn C#. It is clean and well-designed, as are the .NET libraries that work with it. There’s an interesting case to be made that Apple’s Swift takes a further step forward into modernity, dropping some of the C-type complexities of C#, C++, Java and other similar languages. But anyone who learns on C# can make that sideways step easily enough.