In writing this issue of the magazine, I researched then wrote a Plan B article about Swift, Apple’s new programming language. Plan B articles are backup articles written to replace the main Plan A article if it doesn’t arrive, in this case, an article by Jean-Francois Nguyen about the C programming language.
While the Swift article will appear in a few months, my research turned up a mostly hidden aspect of Swift worth calling out. It is a milestone in the history of mass market software development tools programmers use every day.
The tools software programmers use vary. Twenty or thirty years ago, most developers used text editors to code. More recently, they use integrated development environments, called IDEs, which include a text editor with the ability to connect with databases, organize folders and files into projects, check folders and files into and out of version control systems, and much more time-saving functionality.
Many IDEs these days also include syntax coloring and inline help. If you code Python with the PyCharm IDE, for example, colored text and code elements help you quickly focus on parts of your code. And a small light bulb icon, when clicked, displays contextual information about the Python language based on how you’ve used the language at that point in your code. PyCharm also will evaluate how well your code meets coding standards in the Python community, for example, units of four space indents for each line of code.
This incremental evolution of software development tools is about to change, dramatically.
Apple’s new programming language, Swift, got lots of attention this past summer for obvious reasons. Swift improves on Objective-C and Cocoa, the two languages used to create apps for Apple’s operating system on computers, tablets, and phones. However, Swift also introduces a new way to code to a much wider audience of developers.
Swift includes an interactive IDE, called Playgrounds, which lets you work on your code in a left side pane and see changes immediately on the right side of the screen which runs your application. Until now, this required several steps to achieve. Swift playgrounds make it part of the main tool developers use to code.
Playgrounds owe a lot to projects like Light Table, one of my favorite IDEs. The Light Table project began on Kickstarter and has evolved into an open source project. It’s primary goal was to challenge most, maybe all, ideas about how programmers use tools to code. Instead of multiple screens, Light Table presents one screen with the ability to code and see your work immediately in the same screen. Details about functions can be displayed inline as you code. There are several other improvements. The result is faster, more accurate coding.
Apple’s adoption of Playgrounds brings this ground breaking work to a much wider audience. And hopefully it will lead to more innovation as smaller software tool vendors adopt ideas like Light Table and go beyond. While the creation of software development tools for programmers might seem arcane, perhaps boring, it can lead to better tools that are easier and more fun to use.
Indeed, one of the more interesting technology jobs for programmers is the creation of software development tools for companies like Apple, Google, Facebook, Microsoft, and others. You get to forge digital wrenches and hammers used by thousands of your peers.
http://vimeo.com/36579366 (Bret Victor)
http://vimeo.com/66085662 (Bret Victor)