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

Find Summer Tech Camps

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 Software Development and the Freelance Life

Rachel Manning talks about her life as a freelance software developer building websites and web applications from her home in Mammoth Lakes, California.

Holiday Toy Ideas

Here are lots of ideas for computer science and programming toys kids might like, based on different age groups.

Create a Website with Wix

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.

Chris Bradfield Talks Coding, Games, and Helping Kids Code

Chris talks about his journey from TRS-80 computers to websites to the game business to teaching kids to code in summer camp.

Control Flow

How do programming languages control the flow or processing of instructions? Here's how control flows work in several languages.

Destinations and Systems

Designers of products, content, and software use the concepts of destinations and systems to create content and apps for all our devices.

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.

November 2014 Learn More Links

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

November 2014 News Wire

Interesting stories about computer science, software programming, and technology for October 2014.

FTP

FTP is a mysterious yet extremely useful way to send data across computer networks. Here's a short overview with links.

Coding Books for Kids

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.