This Week in Programming: Real-Time Collaborative Coding Comes to Atom and Visual Studio
Most office workers these days couldn’t imagine their modern workplace without real-time collaboration tools like Google Docs or Microsoft Office 365. For many developers, however, real-time collaboration often comes in the form of Slack, siloed IDEs and screen sharing. While there has been an increasing number of IDEs that offer real-time collaboration in recent years, some of the most popular have lagged behind — until now.
While new versions of languages and features come out all the time — and this week is no exception — the highlight of programming news this time around just might be the arrival of real-time collaboration to Atom and Visual Studio. As the Atom blog post notes, “the logistics of writing code with another programmer can be such a hassle that many people don’t bother.” This week, both GitHub and Microsoft announced (on the same day, at that!) Teletype for Atom and Live Share for Visual Studio and Visual Studio Code, respectively.
Already a popular open source code editor, Atom just earlier this year saw the release of a full set of IDE features. Now, Teletype for Atom offers “a new way to dive right into code with remote collaborators […] in real time with your own configurations in your own programming environment on any file you can open in Atom.”
Everything is free and open source, as usual, and fully encrypted, so none of your files or edits are shared with GitHub’s servers. Perhaps most excitingly, the entire thing is built with an editor-agnostic library called teletype-client, which should make inter-operation between different text editors possible in the future. While still in beta, Teletype for Atom is available for download and the Atom blog post walks you through installation.
As for Visual Studio Live Share, real-time code editing is just the beginning. Not only can your teammate “read the code you shared without having to clone a repo or install any dependencies your code relies on,” but “they can use rich language features to navigate within the code; not only just opening other files as text but using semantic analysis-based navigation like Go to Definition or Peek.” Beyond that, you can even debug code collaboratively. Unfortunately, Live Share isn’t yet available, but you can sign up for a sneak peek preview. Until then, you can also take a look at a video of the new features in action:
This Week in Programming News
- Kotlin/Native v0.4: Last week, Kotlin creator JetBrains announced that it would support iOS with the next version of Kotlin/Native. This week, the company announced the full release of Kotlin/Native v0.4. Highlights of the release include support for accessing Objective-C APIs on iOS and macOS, experimental support of WebAssembly, and “major changes making app development in Kotlin/Native way easier.” For everything that happened with Kotlin last week at its conference, refer to last week’s edition of this column, titled “This Week in Programming: Kotlin Eats Your Lunch.”
- GitHub Security Alerts: Further delivering on some promises it made last month to help developers keep track of and fix known flaws in dependencies, GitHub has announced security alerts, which it says will help with the “over 75 percent of GitHub projects that have dependencies.” The feature relies on one released at GitHub Universe that helps track dependencies. With the dependency graph enabled, GitHub will notify users when it detects a vulnerability in one of their dependencies and offers suggested known fixes from the community. The new feature will also include vulnerabilities that have CVE IDs (publicly disclosed vulnerabilities from the National Vulnerability Database).
- TensorFlow Lite: Google is also offering some follow-up on past promises with the developer preview of TensorFlow Lite, which “enables low-latency inference of on-device machine learning models.” The “lightweight solution for mobile and embedded devices” works on both iOS and Android. TensorFlow Lite supports the Android Neural Networks API to take advantage of “purpose-built custom hardware to process ML workloads more efficiently,” but “falls back to optimized CPU execution when accelerator hardware is not available, which ensures your models can still run fast on a large set of devices.” Google says that “going forward, TensorFlow Lite should be seen as the evolution of TensorFlow Mobile, and as it matures it will become the recommended solution for deploying models on mobile and embedded devices.” The Google Research Blog also offered some peripheral insight, looking at on-device conversational modeling with TensorFlow Lite. To help give developers a kick start, they have released an on-device conversational model and a demo app.
- NumPy to Drop Python2: NumPy, the fundamental scientific computing package for Python, announced a timeline for dropping Python 2 support. Official support for Python 2 is slated to end in 2020 and NumPy plans to follow a similar schedule, fully supporting Python2 and Python3 until December 31, 2018. Then, on January 1, 2019, any new feature releases will support only Python3, and long-term support (LTS) for Python2 will continue until December 31, 2019.
- Fortran Turns 60: First introduced in 1957, Fortran is celebrating its 60th birthday. Despite “approaching retirement age,” the language is going strong. The blog post explains that “as the name implies, Fortran is designed to translate mathematical formulas into computer code. That explains its strong presence in fields that deal with a lot of mathematical formulas (particularly partial differential equations and the like).”
- Go Turns 8: Meanwhile, it has been 8 years since Go was released as an open source project and in that short time it has gathered nearly a million users worldwide and secured the #9 spot in GitHub’s 2017 Octoverse list of popular programming languages. Since its initial release, it has seen “10 releases of the language, libraries and tooling with more than 1680 contributors making over 50,000 commits to the project’s 34 repositories.”
This Week in Language Trends
- Dramatic Technological Shifts: Stack Overflow is continuing with its series of data-driven blog posts examining the shifting terrain of technologies, this time trying to suss out the most dramatic shifts. The two standouts for the last year include Swift, Apple’s language for iOS apps, and Angular, Google’s web framework. “Both of these technologies grew incredibly fast to have a big impact,” they reason, “because they were natural next steps for existing developer communities.”
- Java Devs Love Kotlin: The SDTimes reports that Java developers are most excited to work with Kotlin, citing a report by RebelLabs. According to the report, which surveyed 2,000 Java developers, Kotlin was “the number one exciting technology for 2017 followed by Docker, Java 9, Spring, Angular, Java EE 8, Spring 5, Java 8, Kubernetes, and React.”
Microsoft is a sponsor of The New Stack.
Feature image via Wikimedia Commons.