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
Andrew created Bits & Bytes, a fun card game to teach kids computing skills: logic, problem solving, and critical thinking.
Tim describes how he created his game company, Glide Games, and with his young son created two video games, Elevator Adventures and Subway Adventures.
A 4,000 year old Chinese magic squares puzzle is both fun and a way to learn basic problem solving skills. Plus turtles.
Can you name the first video game? The first game likely was Tennis for Two in 1958 but it could be Space Wars! in 1962 or other games. It's complicated.
The story of an English-speaking person learning a little Japanese by playing the latest Harvest Moon game, Connect to a New World, in original Japanese.
Wendy Norman, the Director of Social Good at Microsoft, talks about the history and features of the Skype in the classroom service for teachers.
You can use the concepts of game play to turn almost any task or information into a game. Assuming you can define game play.
The Greatest Show and Tell on Earth turned out to be tons of fun for kids and parents, plus a place to wander and find new technology. Links and video.
Links from the bottom of all the October 2014 articles, collected in one place for you to print, share, or bookmark.
This language lets you modify the Skyrim game to learn game coding plus have fun adding objects and functionality to the game.
Interesting stories about computer science, software programming, and technology for the month of September 2014.
Three game creation software tools you can use to create games. Includes a brief description and lots of links to these and other game creation tools.