The Future of .NET Languages

Introduction

Have you ever wondered where .NET is going? Well, this article will hopefully shed a bit of light on your concerns.

I am a Visual Basic guy. I always have been. I always will be. Yes, currently I am working in C# mostly these days, but this is not because C# is 'better' than Visual Basic. Each language has its own strengths and weaknesses and, unfortunately, Visual Basic has received a lot of unnecessary flack, in my opinion.

.NET Has Come a Long Way Since Its Introduction in 2002

Who would have thought we would have had terms such as Functional Programming, Meta Programming, Async, and Open Source as part of our everyday vocabulary? No one. I would hazard a guess to say that not even Microsoft knew back in 2002 what .NET would become.

The .NET monster has grown so much, and by the sound of it, it will keep on growing not only to improve our day-to-day performance but to compensate for whichever future technology comes out next.

C#, C++, VB.NET, and F# are the most supported and used languages to build .NET applications. But, there are actually a lot more languages that are supported by the .NET Framework. You have to remember, the .NET Framework is much larger than a few languages. Some of the languages that are supported by the .NET Framework are:

  • Ada
  • APL
  • AsmL
  • BETA
  • COBOL
  • CULE
  • Eiffel
  • FORTRAN
  • Haskell
  • Java
  • JavaScript
  • LISP
  • Mercury
  • Oberon
  • Pascal
  • Perl
  • PHP
  • Prolog
  • Python
  • RPG
  • Ruby
  • Smalltalk
  • XAML

C# Language Enhancements

Let's face it; C# has always been the favorite child in the .NET family. So be it. Some C# language enhancements are coming our way soon:

  • You will be able to write C# in any editor you want.
  • C# will be open source.
  • C# will run on Windows, Mac, and Linux
  • C# can be used to build Windows client apps, Windows Store apps, iOS apps, and Android apps.
  • It supports all IDEs and editors.
  • C# 7 comes with new features including tuples, record types, and pattern matching.

Microsoft talked about some of the enhancements coming to C# at the Microsoft Build conference earlier this year. Here is the video of that presentation:

Visual Basic Language Enhancements

Sorry, haters, but it seems as if Microsoft has no plans of forgetting about Visual Basic completely. On the contrary, it seems as if Microsoft's plan for Visual Basic is to become a more distinguished language. Microsoft has concentrated on it a lot, and spent a lot of time to give VB features that C# and even F# has, and vice versa. But, it seems as if C# and VB are set to diverge. Microsoft wants to quicken the pace of C# feature releases instead of holding off until a complete feature set is ready.

"We are realizing that this approach of doing everything to Visual Basic that we're doing to C# just sort of automatically doesn't seem like the right approach," Mads Torgerson, Microsoft's program manager for C# said.

Microsoft talked about the future of the .NET Languages at their Build conference earlier this year. Here is the video with Dustin Campbell, David Stephens, Mads Torgersen, and Seth Juarez talking about the futures.

Another article you might find interesting is "What's New for C# and VB in Visual Studio."

Conclusion

Visual Basic is still hanging in there! Even though C# is getting more new features, it does not mean that Visual Basic will die. Yes, it may not get all the same features as quickly as C#, but I personally think allowing the two major languages of the .NET Framework some breathing space might actually be good.



About the Author

Hannes DuPreez

Hannes du Preez is a Microsoft MVP for Visual Basic for the eighth consecutive year. He loves technology and loves Visual Basic. He has a lot of experience in .NET and loves to share his love, pain and musings about Visual Basic

Related Articles

Comments

  • VB Programmer

    Posted by Ern Miller on 07/12/2016 12:02pm

    Like you, I am a VB programmer in a C# world. Add on top, I have to program ASP in C#! On top of that, I am running cleanup on a couple apps created by other programmers who left before the project is complete. Good thing I have been programming since age 12 in 1977. I went from mainframe BASIC to Apple Basic, to QBASIC to VB. In 2002, when VB went .NET, without much in support from Microsoft, I took a step back and focused on TSQL. The first couple iterations of data connections of VB.NET were clunky. I wanted nothing to do with it. Around 2007, despite all of Microsoft's efforts to do so, VB refused to die. This was mostly because it was the programming language behind MS Office, and MS Access in particular. We highly skilled VB programmers took work where we could, and kept VB alive in the form of VBA. The stuff we developed rivaled much of C++ at the time. I suspect Microsoft recognized that we VB programmers are like ticks, dug in and hard to root out. Fact is, C# is not that great of language. The inheritance of it's heritage has made it clunky and archaic, while still making it powerful. But, the reality is, if Microsoft drops VB altogether, there is an army of programmers who will need to learn a new language. By dumping VB, that army will scatter. All the things VB does well, attracts programmers of different sorts. If VB is gone, they will go to other languages. C# is the least likely new home for them. They will seek an easier to learn language that is similar to VB. C# is not it. My only reason for being in C# is a paycheck. I HATE IT.

    • Well Said

      Posted by Hannes on 07/26/2016 05:06am

      Hi Ern. Thanks for reading my article. And thanks for your very well put message

      Reply
    Reply
  • C# will run on Windows, Mac and Linux

    Posted by Marco T. on 06/20/2016 11:34pm

    Very interesting article, but a question crosses my mind: is it ONLY C# that will run on Windows, Linux and Mac or any .NET language? I.e.: isn't C# complied into IL, just like any other .NET language? Maybe I lost something along the road...

    • Thanks

      Posted by Hannes on 06/24/2016 04:46pm

      Hi Marco. Thanks for your comment. Both will be able to run on linux and mac because, as you rightly stated, both gets compiled into IL

      Reply
    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date