Apple's new Swift programming language includes Playgrounds, an interactive space that continues a long line of innovations in the history of software development tools.
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)
Why Apple's Swift Language Will Instantly Remake Computer Programming
Why Coders Are Going Nuts Over Apple's New Programming Language
A List of Software Development Tools
Also In The November 2014 Issue
It's that time of year: time to start thinking of summer tech camps for 2015. Here are a few ideas where to begin looking.
Rachel Manning talks about her life as a freelance software developer building websites and web applications from her home in Mammoth Lakes, California.
Here are lots of ideas for computer science and programming toys kids might like, based on different age groups.
Wix.com is a free online tool you can use to create a website. Here's a basic tutorial to get started, as well as files to build a test site.
The C programming language is used often in operating systems and has influenced other languages for decades.
Chris talks about his journey from TRS-80 computers to websites to the game business to teaching kids to code in summer camp.
How do programming languages control the flow or processing of instructions? Here's how control flows work in several languages.
Designers of products, content, and software use the concepts of destinations and systems to create content and apps for all our devices.
Links from the bottom of all the November 2014 articles, collected in one place for you to print, share, or bookmark.
Interesting stories about computer science, software programming, and technology for October 2014.
FTP is a mysterious yet extremely useful way to send data across computer networks. Here's a short overview with links.
No Starch Press sent along four books for kids. If you don't have them already, look them up at the library or buy online or in a bookstore.