Did you know that at one time there were an estimated 3.5 million Visual Basic developers that outnumbered C++ developers by ten times the amount world-wide?
The expansion of Linux technologies along with UNIX and how they enabled the global Internet, dotcoms, the world-wide web (websites) and later mobile apps changed this. The popularity of open source, free software and the removal of restrictions on innovation direct to the customer created massive technological fragmentation and competition. All this growth saw the eventual rise of dozens of programming languages such as JavaScript, Python, and later Go, Kotlin, TypeScript, and yes, C#.
I was originally a web developer in the 1990s who switched from Perl/CGI to Microsoft ASP and VBScript on my way to Visual Basic while still hand coding JavaScript and HTML with occasional help from tools like Microsoft FrontPage, Adobe Dreamweaver and others. You have to know that being a Visual Basic developer in those days was the "original impostor syndrome" because C++ developers made sure you knew they were better and made the best technologies as the heirs of C developers. Eventually, I became a C++ developer in 2012 for pragmatic reasons as that was the best language I could find on Linux while I was simultaneously an exceptionally proficient C# developer at the dawn of .NET which was exclusively Microsoft Windows only.
I begin the video explaining some of my journey into .NET and later discover the .NET 9 on Linux is faster and superior to C++ and gcc. The results speak for themselves. What this does is open up a whole new Vista for me in the Linux and open source space to create like never before as I have 23 years of .NET experience.
Keep in mind, my experience did not impact the results. What happened instead was that the way Microsoft approached .NET on Linux produces programs that run faster than those written in C++ out of the box. Sure, you can go all hacker or PhD performance tuner and trick out C++ to have better results shown here. However, I show in the video, the C++ community itself does not stand behind that way of doing things.
For years, perhaps decades, the highest leaders in C++ preached using high-level abstractions and to avoid writing low-level code in C++. What they preached was use third-party libraries and the STL and your code is going to get optimized well by the compilers. As it turns out, time went on and the design of C++ and related tools while still valid in terms of AOT compiling and their approach to high-level programming, does not match those platforms that not only do a better job in high-level syntax, libraries, and programming model, but compiling as well.
Stephen Toub who is considered, THE .NET programmer supreme, has led his team at Microsoft to produce implementations of the .NET SDK and runtime compilers to achieve exceptional performance without requiring an end-to-end performance mindset on the part of the programmer. As a result, out of the box, C# version 13 and .NET 9 on Linux beats out technologies on Linux that had a 30+ year head start.
I began my technical re-invention in 2009 with Ubuntu Linux quickly favoring C++ above all alternatives. That meant giving up my use of C# and .NET when it came to Linux projects. You had the Mono project from years earlier, but without official support from Microsoft, Mono was not a great idea as would be proved years later when the main developer himself transitioned to Microsoft. Yet, a surprising thing happened in 2016 and .NET became officially available on Linux from Microsoft fully supported and with full commitment. I waited until that version matured preferring the Windows version for any .NET projects I did. Now, with .NET 9, the platform and language I invested 23 years in grants me tremendous superpowers in the Linux space.
Note, this is the last technical video I will publish on this channel because I've branched out and made two other channels to explore technology. I did this to make things easier for the audience and make things more organized. On this channel, I'd rather discuss politics, religion, spirituality, holistic health and wellness and adding technical videos was creating confusion. I tried to manage that with playlists but I ultimately decided that separate channels was a better approach.
The video here is cut down by half. A more in-depth version of this same video is on @GautierTalksMicrosoft where I discuss everything seen in this video in more detail.
Timecode
00:00 I was an ASP developer
01:06 Classic Visual Basic
01:34 3 million Visual Basic Developers
04:44 My 2002 Amazon review of .NET
05:30 C# versions
07:00 Cleaning up .NET confusion
14:00 Let's run a simple benchmark
17:00 Performance observations
19:40 End
Информация по комментариям в разработке