This Week in Programming: Visual Studio Code Arrives on the Web
Microsoft continued its march toward developer dominance this week with the launch of Visual Studio Code for the Web, a lightweight version of the company’s highly popular (mostly) open source code editor that runs fully in the browser.
“Since VS Code for the Web is running completely within the browser, some experiences will naturally be more constrained, when compared to what you can do in the desktop app. For example, the terminal and debugger are not available, which makes sense since you can’t compile, run, and debug a Rust or Go application within the browser sandbox (although emerging technologies like Pyodide and web containers may someday change this),” Microsoft explains, adding that code editing, navigation, and browsing are “a bit more nuanced”.
Caveats aside, VS Code for the Web does, indeed, offer a lightweight, available-anywhere code editor for things like your tablet, your Chromebook, and heck, even your XBOX.
Microsoft have just released https://t.co/7orb0TjChd, an online version of @code in your browser.
But I wanted to show you something, so far it’s working on @Xbox @MicrosoftEdge
I’m coding on an Xbox. 🤯 pic.twitter.com/XplXHvTHy0
— Cyris – HTML Decoder (@sudo_overflow) October 20, 2021
Now, all that said, we have to ask — where are all the other major cloud providers in this transition of the development environment to the web? While we’ve heard nothing but remote this and remote that for the last year and a half due to COVID, it almost seems like Microsoft is the only one paying any real attention. Every move the company makes seems to be working to get their hooks sunk deeper into that ever-present “developer experience” you hear so much about.
While companies like Amazon and Google seem to be sitting idly by in this arena, Microsoft is not the only company focused on providing remote developer experiences. The Eclipse Foundation, for example, last year offered what it said was “a true open source alternative to Visual Studio Code” with Eclipse Theia and Eclipse Foundation executive director Mike Milinkovich said he expects this to be just the beginning.
“We have been saying for years that the future of developer tools is the browser. Developers already use their browsers for the vast majority of their day-to-day tasks, with code editing being amongst the last to move,” Milinkovich wrote in an email. “Microsoft’s recent vscode.dev announcement is a recognition of this trend. I expect that every serious cloud vendor will be following suit over the next few quarters.”
GitPod, meanwhile, has been hard at work in this very same arena, with its own launch just last month of the open source OpenVSCode Server, which also lets developers run upstream Visual Studio Code in the browser. Gitpod co-founder Johannes Landgraf points to GitHub1s as the original inspiration for these projects, and points to their lack of compute as a defining characteristic.
“Inspired by GitHub1s, github.dev/vscode.dev put the web workbench of VS Code in the browser without access to compute,” Landgraf wrote. “While this is yet another validation that we reached a tipping point of how and where we develop software, platforms such as Gitpod and Codespaces are so much more. Think orchestration and provisioning of compute, operating system, language servers and all other tools you require for professional software development in the cloud.”
While Landgraf obviously has a point, VS Code for the Web is like that $5 rotisserie chicken on Fridays — dang it smells good, it gets you in the door, and the next thing you know, you’ve spent $100 on other things…like GitHub Codespaces, which is, after all, pretty much the same exact thing, except it provides all those back-end services and, more importantly for Microsoft, is not free to use. And more important still, once you’ve got all those developers fully hooked on VS Code, Codespaces, GitHub, and the rest of it, Azure isn’t too far down the line now, is it?
Microsoft’s building the ‘full developer stack’ of the future, and all the pieces are coming together:
– Linux on Windows
– VS Code, the most popular web dev IDE, now in the cloud
– GitHub for code storage/deploys/etc
– npm for packages
– Azure for everything else
— Owen Williams ⚡ (@ow) May 6, 2020
This Week in Programming
- GoLang Taps the Brakes on Generics in Go 1.18: While the addition of generics to Go was finally approved earlier this year, Gophers may have to wait just a little bit longer for them to make their way fully into the languages core libraries. Rob Pike, one of Go’s original designers, submitted a proposal earlier this month suggesting that they don’t change the libraries in 1.18, and instead move the changes into the golang/x/exp repository for the time being. The exp repository is where the language houses “experimental and deprecated” packages that are not included in the binary downloads of the Go installation, which means they are still available to those who go a little out of their way to get them, but not included by default. Pike argues that generics is “by far the biggest change to the language since its creation” and that “how to use these ideas in the standard library requires great thought and planning.” Rather than putting the changes directly into the core library now, Pike says that putting them into the exp repository will make it so that they “can be tested in production, but can be changed, adapted, and grown for a cycle or two, letting the whole community try them out” and then, “once they have soaked a bit, and updated through experience, we move them into the main repo as we have done with other externally-grown packages, but with the confidence that they work well in practice and are deserving of our compatibility promise.” A quick look at the comments on the proposal seems to signal that this will be the way forward for the official addition of generics, but nothing appears to be set in stone quite yet.
I love this so much. The engineering restraint, the patience, the desire for quality.https://t.co/85iTEt7BxO
— Ukiah Danger Smith ⚡ (@UkiahSmith) October 13, 2021
- IBM Intros Guide to Open Source Hybrid Cloud: Rather than learning the proprietary skills required for using a single type of public cloud, IBM says that it recently found that developers should focus their time on honing their open source skills instead. After all, “every major cloud platform uses open-source software in their infrastructure.” As such, the company has introduced “the Open Source Cloud Guide, which highlights various use cases that are important in hybrid cloud environments, features the important open source projects in those areas, and discusses how various clouds are using open source in their offerings.” For each use case, the guide provides an overview, an explanation of a traditional solution, key open source projects, and then highlights how cloud providers are doing it with open source. The guide, IBM says, is intended to answer questions around how developers’ skills translate to developing for hybrid cloud environments, inclusive of the major cloud providers and what open source technologies are most used. The guide, however, is not complete, and IBM is looking for developers to contribute.
- Get Ready for GitHub Universe: That’s right, next week is GitHub’s annual developer conference, GitHub Universe, and this year the event is fully virtual and has a bunch of different sessions. In the lead-up to the conference, GitHub has posted a brief Q&A with the GitHub Universe hosts, which includes some suggestions for sessions to bookmark. Suggested sessions include getting started with Codespaces, coding in the cloud with GitHub Codespaces and VS Code, a look at what’s new with GitHub Enterprise, getting work done on the go with GitHub Mobile, enforcing information security policy through Github Enterprise, and CISCO perspectives on modern application security. First things first, if you’re not already, head over and register for the Oct. 27-28 event.
Dijkstra: goto considered harmful
also Dijkstra: i made a whole algorithm to goto any point in a graph,
— Kate (@thingskatedid) October 21, 2021