Microsoft Outlines Its Development Language Strategy

Microsoft Outlines Its Development Language Strategy

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.”

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Here’s a quick rundown of Microsoft’s current thinking around its most popular development languages.

C#

C# is Microsoft’s most popular language and is used by millions of people, Torgersen says. (According to Stack Overflow, C# is the 3rd most popular programming language in the world behind JavaScript and Java.) It was launched alongside .NET over a decade and a half ago, and will remain Microsoft’s primary focus.

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.”

Visual Basic

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.

As always, I will recommend Bob Tabor’s excellent video series for those new to C# and Windows development: C# Fundamentals for Absolute Beginners and Windows 10 Development for Absolute Beginners.

 

Share post

Please check our Community Guidelines before commenting

Conversation 33 comments

  • 5914

    Premium Member
    03 February, 2017 - 11:24 am

    <p>I also recommand Bob Tabor’s videos. I learned alot with the Windows 10 Dev. series.</p>
    <p>&nbsp;</p>
    <p>I just hope with Visual Studo 2017 that the WPF designer will be better.</p>

  • 169

    Premium Member
    03 February, 2017 - 11:30 am

    <p>I’m glad to know they are continuing development, but&nbsp;I don’t think visual basic makes too much sense anymore.&nbsp; Newer versions work a lot like C# but they have clunkier syntax.&nbsp;&nbsp; How is that easier?&nbsp;&nbsp;&nbsp; I do appreciate the nostalgia for basic.&nbsp;&nbsp; My favorite was GFW Basic (a german variant) on my old Atari ST.&nbsp; Some of the later DOS versions of BASIC were great too.</p>

    • 456

      03 February, 2017 - 1:19 pm

      <blockquote><em><a href="#40850">In reply to </a><a href="../../users/tbtalbot">tbtalbot</a><a href="#40850">:</a></em></blockquote>
      <p>I love a few job listings I ahve seen recently….. They want an expert C# coder willing to spend large amounts of time in VB.Net……. been there for months.</p>

      • 2394

        Premium Member
        03 February, 2017 - 3:07 pm

        <blockquote><em><a href="#40882">In reply to </a><a href="../../users/GotCobol">GotCobol</a><a href="#40882">:</a></em></blockquote>
        <p>I had a recruiter begging me to work (for ever increasing amts of $) on a project that was VB.Net only. I took a C# job for less.</p>

    • 172

      Premium Member
      03 February, 2017 - 2:07 pm

      <blockquote><em><a href="#40850">In reply to </a><a href="../../users/tbtalbot">tbtalbot</a><a href="#40850">:</a></em></blockquote>
      <p>Actually – there is a huge active codebase that exists&nbsp;for VB.&nbsp; As professional developers – we live in it every day.</p>
      <p>Folks may have fun belittling it – but you’d be&nbsp;surprised how much is out there.</p>
      <p>&nbsp;</p>

  • 5592

    03 February, 2017 - 11:41 am

    <p>Not sure why "fans of Visual Basic may want to sit down and collect their thoughts before reading any further" when the article and this week’s reactivation of&nbsp;the separate&nbsp;<a href="https://blogs.msdn.microsoft.com/vbteam/">VB Team blog</a>&nbsp;after a year and a half retirement show an important&nbsp;improvement of support for Visual Basic moving forward. That’s reason for fans of VB to jump up and cheer rather than sit down.<br /><br />As to F#, that’s, by far, the leading functional programming language and has been getting amazing traction lately. Several corporations I have had business relations with lately have, at a minimum, pilot dev projects in F# and have found the learning curve is a small price to pay for the much more stable code than in traditional languages.</p>

    • 399

      Premium Member
      03 February, 2017 - 12:30 pm

      <blockquote><em><a href="#40853">In reply to </a><a href="../../users/MikeGalos">MikeGalos</a><a href="#40853">:</a></em></blockquote>
      <p>I’d say Scala has a better claim to be the "leading FP language" (where by leading I take it we both mean popular and in commercial use – Haskell and OCaml tend to win on the "invented here first" type of leadership).</p>

      • 10177

        03 February, 2017 - 1:35 pm

        <blockquote><em><a href="#40864">In reply to </a><a href="../../users/maethorechannen">maethorechannen</a><a href="#40864">:</a></em></blockquote>
        <p>&nbsp;</p>
        <p>As far as I understand it, Scala has lost a lot of momentum.&nbsp; The type system is so complicated that compile times are slow even with excellent machines.&nbsp; It also makes syntax highlighting hard to get right, even the best tools have problems.&nbsp; The build tool SBT uses so much operator overloading that they should make NO_CARRIER one of the function calls (that’s an old modem joke).&nbsp; Major version upgrades often include breaking changes to ABIs and APIs.&nbsp; It’s still popular and it still has its fans, and I wouldn’t turn down a job that used it.&nbsp; But in 2010 I think we all expected it to conquer the world, and it’s growth has slowed.&nbsp; Some high profile users have moved away from it.<br />Clojure is gaining popularity, though I’m not sure where it ranks with respect to Scala or F#.&nbsp; But crucially F# and Clojure both have fast compile times, excellent tooling, and build tools that are simpler to use than SBT.</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>

  • 5611

    03 February, 2017 - 11:56 am

    <p>Personally, I much prefer VB.NET to C#. I can code in both, but when I’m thinking through a problem, I think in VB and not in C#. If VB.NET disappeared, I would certainly miss it.</p>
    <p>Technically speaking, it doesn’t really matter which one you use because they both compile to the same thing.</p>

    • 172

      Premium Member
      03 February, 2017 - 2:13 pm

      <blockquote><em><a href="#40855">In reply to </a><a href="../../users/WP7Mango">WP7Mango</a><a href="#40855">:</a></em></blockquote>
      <p>Agreed!&nbsp; ;-)</p>

  • 10014

    03 February, 2017 - 12:17 pm

    <p>I don’t get it.&nbsp; Why do you write "fans of Visual Basic may want to sit down and collect their thoughts before reading any further."?</p>
    <p>I didn’t read anything other than that&nbsp;Microsoft will continue to support and enhance VB (Vb.Net).</p>
    <p>You must be literally talking about the original legacy Visual Basic rather than Vb.Net.&nbsp; I can understand why they might let that one die.&nbsp; Once I made the switch I have never looked back.</p>
    <p>Productivity = Profits!&nbsp; Three cheers for Vb.Net!!!&nbsp;</p>

  • 399

    Premium Member
    03 February, 2017 - 12:24 pm

    <p>I’d really like to see Swift#.</p>
    <p><em>"Anyone pursuing a career in programming, or just seeking to better understand how software is made, would do well to learn C#."</em></p>
    <p>You’d also do well to learn F#&nbsp;or one of the other Functional languages. &nbsp;</p>

  • 469

    03 February, 2017 - 12:36 pm

    <p>Is VBA in Office&nbsp;going anywhere, or is that being left alone?</p>
    <p>&nbsp;</p>

    • 456

      03 February, 2017 - 1:18 pm

      <blockquote><em><a href="#40865">In reply to </a><a href="../../users/Redbreva">Redbreva</a><a href="#40865">:</a></em></blockquote>
      <p>I highly doubt it, to many macros and Access DB apps use it.</p>

      • 469

        04 February, 2017 - 7:29 am

        <blockquote><em><a href="#40881">In reply to </a><a href="../../users/GotCobol">GotCobol</a><a href="#40881">:</a> Exactly my worry – we would be screwed at work if VBA was replaced, but it would be interesting if "C#A" was an option…</em></blockquote>
        <p>&nbsp;</p>

    • 1377

      Premium Member
      03 February, 2017 - 5:55 pm

      <p><em><a href="#40865">In reply to </a><a href="../../users/Redbreva">Redbreva</a><a href="#40865">:</a></em></p>
      <p><em>Left alone</em>. That’s one way to put it. Left to stagnate would be another.</p>

  • 217

    03 February, 2017 - 12:53 pm

    <p>I predict F# will become their most popular language in 2 years.</p>

    • 1377

      Premium Member
      03 February, 2017 - 5:54 pm

      <p><em><a href="#40866">In reply to </a><a href="../../users/dcdevito">dcdevito</a><a href="#40866">:</a></em></p>
      <p>ML’s descendants rise to the top?</p>

  • 5842

    03 February, 2017 - 1:08 pm

    <p>C# is beyond awesome. It’s closest competitor would be Java which feature-wise is lagging behind C# quite a bit.</p>
    <p>As for Visual Basic I am not holding any hopes. Switch from VB6 to VB.NET was a radical change that pretty much killed attractiveness of VB.</p>
    <p>With all that said I really miss VB6 UI development tools. Almost 20 years later there is no UI development environment that is as easy as VB6 was. You cannot just fire up Visual Studio and create semi-professional looking app with a few mouse clicks. There is either XAML/Blend path that requires PhD in UI, XAML, MVVM patterns and IOC or an amateur path that leads to uber-ugly UIs. </p>
    <p>&nbsp;</p>

    • 5592

      03 February, 2017 - 1:35 pm

      <blockquote><em><a href="#40878">In reply to </a><a href="../../users/illuminated">illuminated</a><a href="#40878">:</a></em></blockquote>
      <p>Absolutely. The ability of a person to quickly throw together a real application to solve a problem is sorely missing and a reason why there hasn’t been a hit like when VB drove Windows adoption in the early 1990s.</p>

    • 8578

      03 February, 2017 - 1:55 pm

      <blockquote><em><a href="#40878">In reply to </a><a href="../../users/illuminated">illuminated</a><a href="#40878">:</a></em></blockquote>
      <p>I think bringing VB to .Net was just another example of the compromises inherent in trying to make a "one-size-fits-all" solution. Just as MS hasn’t moved all their applications to UWP, they didn’t rewrite them using MFC or later .NET. There’s a long history of MS trying to sell developers on the "next big thing" only to fail to follow their own advice.</p>

    • 6358

      03 February, 2017 - 3:03 pm

      <blockquote><em><a href="#40878">In reply to </a><a href="../../users/illuminated">illuminated</a><a href="#40878">:</a></em></blockquote>
      <p>Windows Forms does what you want and it’s still there, thank goodness.</p>

  • 10177

    03 February, 2017 - 1:29 pm

    <blockquote><em><a href="#40866">In reply to </a><a href="../../users/dcdevito">dcdevito</a><a href="#40866">:</a></em></blockquote>
    <p>In two years?&nbsp; No way.&nbsp; Maybe someday, but not that quickly.&nbsp; </p>

  • 943

    Premium Member
    03 February, 2017 - 1:58 pm

    <p>C# is going to be THE compiled language of choice, but we have to keep an eye on JavaScript. I’ve never taken a look at F#, so I can’t say anything one way or the other.</p>

  • 8578

    03 February, 2017 - 1:59 pm

    <p>One of MS’s biggest miscalculations was to emphasize Javascript as a way to develop Windows 8 apps. Traditional Windows devs weren’t into that approach and web devs didn’t suddenly become interested in developing for Windows just because they could write in JS.&nbsp;</p>

  • 9201

    03 February, 2017 - 2:46 pm

    <p>Well C# is the premier language for productive code. Certainly my language of choice, as I&nbsp;am&nbsp;evangelist &nbsp;belief in strongly typed languages.&nbsp; At times it seemed that Xamarin supported C# better than Microsoft.&nbsp;&nbsp;Couldn’t care less about Visual Basic.&nbsp; But yeah they need to sort out the awful XAML syntax, its a mess&nbsp;and the robustness of the Visual Studio XAML designer.</p>
    <p>I pretty much hate JavaScript (loose robustness and a horrible debugging experience) but Scott Hasleman recommends, promotes an&nbsp;understanding JavaScript is essential skill.&nbsp; See his awesome NXTA presentation on Javascript.&nbsp; Microsoft seems pretty strong on supporting&nbsp;Javscript&nbsp;so its curious to know where Typescript fits into Microsofts future intentions.</p>

  • 5714

    03 February, 2017 - 2:51 pm

    <p>Just when I thought C++ skills were obsolete, new technology came along (Emscripten/AMSjs) to take all of our 3D code and move it to the web. &nbsp;Web Assembly (WASM) promises even better tools, and better performance with planned support for multiple threads. &nbsp;I’m learning Javascript to improve my web development skills and to interface with our new plug-in free ..er.. plug-in … for lack of a better word. &nbsp;I’m also exploring ELECTRON technology to bring our Web Applications back to&nbsp;the desktop … ANY DESKTOP. &nbsp;I really think this is the best&nbsp;of all&nbsp;worlds in software development</p>

  • 131

    Premium Member
    03 February, 2017 - 3:04 pm

    <p>I was one of those people who felt the leap from classic VB to .NET was too much to bother with (I’m an IT pro and only develop for fun). &nbsp;I guess I need do what I’ve said I’m going to do for the past 15 years and finally learn C#.</p>

    • 2851

      05 February, 2017 - 1:25 am

      <blockquote><em><a href="#40914">In reply to </a><a href="../../users/wbhite">wbhite</a><a href="#40914">:</a></em></blockquote>
      <p>Yep.&nbsp; Me too.&nbsp; I had started with Visual Basic 3 back on Windows 3.1 and went to 4, and then 6.&nbsp; I just couldn’t grasp Visual Basic .Net and just didn’t have time to make the switch.&nbsp; I guess it might be better if I just learn C# as well someday – at least by the sounds of this article, C# will be around for a while longer.</p>

  • 5234

    03 February, 2017 - 3:15 pm

    <p>Lightswitch was a brilliant idea, poorly executed. &nbsp;It was promised to allow business IT consultants to become part-time custom LOB app developers, but fell short of its promise to not require programming skills. &nbsp;Eventually&nbsp;they turned it into a web-app maker, and then they stopped selling it and integrated it into Visual Studio. &nbsp;And now it’s dead.</p>
    <p>Just another point of contention I have with Microsoft’s inability to stick with small business partners. &nbsp;Instead of sticking with them, they’re sticking it to them.</p>
    <p>I have better hopes for Google’s App Maker. &nbsp;I’m not in their preview program for it (I wish I was – I’ve already applied), but from what I’ve seen so far, it looks far better than anything that Lightswitch offered, and it may even become part of the standard G Suite for business plans.</p>

  • 4618

    03 February, 2017 - 3:19 pm

    <p>From my little time of looking into it, Swift has many functional traits of Scala, which itself is also similar to F#, so I agree with many people that are asking MS to move F# forward at a faster pace than the usage base warrants – increasingly parallel CPU architectures will warrant the functionally inclined languages and architectures more and more, and with VS being one of the best IDEs and NET Core being cross-platform, F# is positioned to become the most well supported easiest to use (and non-clunky) functional language.</p>

  • 5281

    06 February, 2017 - 2:47 pm

    <p>Looked at their blog post. &nbsp;Very short on details. &nbsp;Nothing on strategy — Xamarin, Mono, Unity 3D, fullness of the Mobile and cross-platform .NET libraries, support for newer versions of the C# language on non-Windows platforms, timelines for all the above, etc.</p>
    <p>Is there a similar post somewhere about C++ support? &nbsp;Because, quite frankly, even after all this time, the ONLY language that is truly cross-platform is C/C++. &nbsp;Everything else comes with (mostly unacceptable) caveats.</p>

  • Ohuanasis Garcia

    21 February, 2017 - 5:05 pm

    <p><span style="color: rgb(0, 0, 0);">In my company …all and i mean all of our development is made using VB.NET. We know C# but my team has decided to stick to VB.net since we have being developing all of our application in since VB6 migrated to VB.net. We keep developing new applications and processes using VB.net with not problem. there is nothing C# has that we cannot do in VB.net except Xamarin as far as i know. We integrated the VB.net like mobile application IDE B4I(Basic for IOS) and B4A (BAsic for Android) at a very affordable price of $200 for the enterprise edition. so now we develop mobile application in Visual basic like IDE with all features that VS offers. MS needs to understand that VB.net is a very widely used programming language that many ppl love to use for developing.</span></p>

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC