beanz Magazine

Playgrounds for Programmers

Seattle Municipal Archives on Flickr

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.

Learn More

Swift

https://developer.apple.com/swift/
https://developer.apple.com/library/ios/documentation/swift/conceptual/Swift_Programming_Language/GuidedTour.html
http://en.wikipedia.org/wiki/Swift_%28programming_language%29

Swift Inspirations

http://www.nondot.org/sabre/
http://lighttable.com/2014/06/10/light-table-and-apples-swift/
http://lighttable.com/2012/06/24/its-playtime/
http://vimeo.com/36579366 (Bret Victor)
http://vimeo.com/66085662 (Bret Victor)

Why Apple's Swift Language Will Instantly Remake Computer Programming

http://www.wired.com/2014/07/apple-swift/

Why Coders Are Going Nuts Over Apple's New Programming Language

http://www.wired.com/2014/06/apple-swift-language/

PyCharm

http://www.jetbrains.com/pycharm/whatsnew/

A List of Software Development Tools

https://www.kidscodecs.com/resources/software-programming-tools/

Also In The November 2014 Issue

Andrew Mills Talks about Bits & Bytes and How to Design Games

Andrew created Bits & Bytes, a fun card game to teach kids computing skills: logic, problem solving, and critical thinking.

Tim Kropp Talks About Creating Games for Kids

Tim describes how he created his game company, Glide Games, and with his young son created two video games, Elevator Adventures and Subway Adventures.

Lo Shu Magic Squares Puzzle

A 4,000 year old Chinese magic squares puzzle is both fun and a way to learn basic problem solving skills. Plus turtles.

History of Video Games

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.

Playing Harvest Moon in Japanese

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 and Skype in the classroom

Wendy Norman, the Director of Social Good at Microsoft, talks about the history and features of the Skype in the classroom service for teachers.

Game Play

You can use the concepts of game play to turn almost any task or information into a game. Assuming you can define game play.

Maker Faire NY 2014

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.

We need storytelling. Otherwise, life just goes on and on like the number Pi.

October 2014 Learn More Links

Links from the bottom of all the October 2014 articles, collected in one place for you to print, share, or bookmark.

Papyrus

This language lets you modify the Skyrim game to learn game coding plus have fun adding objects and functionality to the game.

October 2014 News Wire

Interesting stories about computer science, software programming, and technology for the month of September 2014.

Unity, PyGame, GamePress

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.