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

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube