News

From Ada to Azure: 25 Years of Software at Visual Studio Live!

The organizers of the 25th season of the Visual Studio Live! series of .NET training and networking conferences have been justifiably crowing about hitting the quarter century mark this year. That's a good long run for any event, let alone one that lands throughout the year in multiple venues around the world.

This year was also a 25th anniversary of sorts for conference keynoter Laurent Bugnion, Senior Cloud Developer Advocate at Microsoft, who wrote his first line of code in back in 1993. He spoke to attendees this week at the first-ever San Diego edition of VSLive!, which wrapped up yesterday, and took them through an insightful, funny, and sometimes personal overview of the last 25 years of coding.

"I'm not that young," Bugnion said. "I just started late." (He was 23 when he wrote that first line of code.)

Today, Bugnion is one of the foremost experts on XAML and C# based development. He codes in Windows, WPF, Xamarin (iOS and Android), Unity, and ASP.NET. Before joining Microsoft, he was a Microsoft MVP for Windows development from 2007 to 2017, a Microsoft Regional Director from 2013, and a Xamarin MVP from 2015. He's also the author of the open source framework MVVM Light for Windows, WPF, and Xamarin. And he created the Pluralsight reference course about MVVM Light. His blog, "Diary of a Code Trotter," can be found at here.

 Laurent Bugnion at Visual Studio Live! in San Diego
[Click on image for larger view.] Laurent Bugnion at Visual Studio Live! in San Diego

Bugnion started his talk with a couple of slides from back in the day, when VSLive! was the Visual Basic Insiders' Technical Summit (VBITS), monitors weighed as much as car batteries, and his colleagues wore their mustaches unironically. Then he challenged his audience to identify the languages he learned on his personal coding journey from code snippets.

His first language was Ada, and the first computer he touched was a terminal connected to a mainframe. Ada is the structured, statically typed, imperative, and object-oriented high-level language named after Ada Lovelace, he pointed out, who has been credited with writing the first algorithm back in the 1800s.

"I wrote thousands of lines of code on this," he said, "not because I was an efficient programmer, but because I was a really crappy programmer. Nobody had told me. So basically, I was cutting and pasting stuff until I had all this spaghetti code, which actually did the job. So, I graduated."

"Twenty-two years ago, we were doing IoT all over the place. We just didn't call it that."

Laurent Bugnion, Senior Cloud Developer Advocate, Microsoft

The first language he used professionally was Turbo Pascal. When he "started coding for real" he worked on software for HVAC systems, sensors, and controllers. "Twenty-two years ago, we were doing IoT all over the place," he said. "We just didn't call it that."

Eventually, Bugnion found himself programming in C. Along the way, the effects of the "Web Revolution," sparked by Tim Berners Lee in 1989, hit the programming world. But the bandwidth was still tragically narrow, a fact he underscored with the nails-on-blackboard sound of a dial-up modem connecting to the Internet. He also did a bit of "funny math" to demonstrate that, back in 1996, it would have taken 17 days to download the movie Avengers: Infinity War. "That's assuming the connection stayed live the whole time," he said, "which I can tell you it never did. At 98 percent is when it would usually break, and you would have to start from zero again ... In 1994, it would have taken a whopping 103 days ... Today, you could have it in about 20 seconds."

It would be difficult to overstate the impact of broadband on software developers, he said, and the way it would transform whole industries.

His next language: JavaScript, which appeared in 1995. "I loved JavaScript, because it was the very first programming language installed everywhere," he said. "Every computer had it inside the Web browser. Everyone could take NotePad, and start writing and learn to code. Everybody, with no cost, could start programming."

There were no development environments back then, and no debuggers. What developers did have were forums, such as Usenet, which Bugnion said he (and lots of others) haunted to find answers to their coding questions. Eventually, he found himself answering a few questions himself, and he soon became an active member of a growing community.

Bugnion shared a screenshot of a forum discussion from years ago that he found on Google Groups, in which a debate raged over the proper uses of "JavaScript" and "javascript." But mostly, he said, forums were invaluable, and the communities that grew up around them are a precious part of his coding life. During that period, he became friends with some "great people," including Douglas Crockford, who invented JSON, and wrote JavaScript: The Good Parts.

The editors at tech book publisher O'Reilly soon noticed Bugnion and asked him to provide the technical edit for the French translation of JavaScript: The Definitive Guide, by David Flanagan (now it its fourth edition).

Then a period arrived that Bugnion calls "The Great Simplification."

"Programming was really complicated," he said. "Just to set up your machine could take sometimes days. Some engineers noticed that and said, it can't go on like that. We need to do better. We need to make the lives of software developers better."

Douglas Crockford's JSON was one result. Another was C#, which was developed by a team led by Anders Hejlsberg. Bugnion has been using this language for 17 years, he said, and it's still his favorite. Also, HTML was simplified with Markdown, invented by John Gruber and Aaron Swartz; it's another Bugnion fav. (He blogs with it and writes Microsoft documentation with it on GitHub.)

Another simplification example: Microsoft's IIS Express, a lightweight, self-contained version of IIS optimized for developers. "Life changing," he said.

One of the most visible examples of the "Simplification," Bugnion suggested, is the transition from mainframes to cloud VMs. Datacenters are hot and expensive, and servers need maintenance. But virtual machines in the cloud are none of those things.

Azure, of course, fits into the story here, and Bugnion highlighted some of the platform's key capabilities. Azure functions, for example, provide a way to write code without infrastructure headaches. "You write your code, save it, deploy it to the cloud and it's running," he explained. "You don't have to worry about setting up setting up the server, scaling it -- it autoscales as needed -- and it's cheap to run."

Azure's cognitive services are also contributing to the "Simplification," he said, with services that provide AI and machine learning capabilities to any application.

And so is Microsoft's Azure Logic Apps Service, which Bugnion approached anticipating skepticism.

"Now I know how it sounds when a Microsoft person says you can do an application without code," he said. "I've been on your side many, many times. And I was always giggling, saying, ‘Yeah, yeah, that guy.' Because those applications without code are the ones you end up having to maintain, and that's kind of painful. However, I have to say, Logic Apps are pretty cool."

Bringing his walk-through coding history into the present, Bugnion demoed how the Logic Apps cloud service can help automate and orchestrate tasks, business processes, and workflows an organization needs to integrate apps, data, systems, and services across the enterprises.

He gave a shout out to WebAssembly, a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++ with a compilation target so that they can run on the Web. It's designed to run alongside JavaScript, allowing both to work together.

"I'm not kidding, WebAssembly is something you should take a close look at," he said. "It's still experimental. Don't start building mission-critical stuff with it. But it is a way to run code efficiently and fast, when JavaScript is not fast enough. It's a good time to get started with that."

Reaching to the cutting edge, he demoed Microsoft's experimental Blazor Web UI framework based on C#, Razor, and HTML, which runs in the browser via WebAssembly.

"So, what have we learned in 25 years?" Bugnion asked as he wrapped his keynote. "There was a times when everything was slow and complicated. Of course, now, everything is better, but some things are still slow and complicated. So, you might ask yourself, is everything we do just goofing around? For a big part I guess the answer is yes. But every morning when I wake up and sit down at the computer and start writing code, it strikes me that we have the most amazing job in the world.

The next Visual Studio Live! conference will be in Orlando Dec. 2-7.

About the Author

John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube