There's never been a better time to be a young programmer.
At its Worldwide Developers Conference on Monday, Apple debuted a new tutorial app for iPads called Swift Playgrounds that will ship this fall. Students learn basic programming instructions to control an animated character named Byte, like writing for loops that get Byte to repeat his gem-collecting actions. At the heart of the app is Apple's Swift programming language, which the company urges programmers to use when writing software for Macs, iPhones and other Apple devices.
"Because Swift is so easy to learn, it has the potential to bring many more people into coding," Apple Chief Executive Tim Cook said. "Swift Playgrounds will revolutionize how people learn to code."
Cook sounds earnest about his company's efforts to improve computer literacy and seemed genuinely pleased that WWDC's youngest attendee is 9 years old. But there are sound business reasons for the push, too. Two of the company's top rivals, Google and Microsoft, are trying hard to attract the attention of bright young coders. Today's primary-school students are tomorrow's college students, engineers and business decision-makers, and making a good impression on them now can pay dividends for decades to come.
Google and Microsoft also eager
Microsoft is testing Minecraft Education Edition, a school-specific variation of its immensely popular video game. Schools already have embraced Minecraft's blocky and endlessly adaptable virtual world to teach everything from math to art history, but it's particularly popular because curious and motivated kids often teach themselves to take advantage of Minecraft's programmability.
And then there's Google's cooperation with the Massachusetts Institute of Technology on a new version of the popular Scratch tool for introductory programming. MIT is upgrading Scratch so it can run in browsers and mobile devices.
Swift Playgrounds has slick animated 3D graphics but hearkens back to the 1960s programming language Logo that let kids control an on-screen or robot turtle. It was a popular education market option in the 1980s on the Apple II computers that vaulted the company to business success.
Apple's approach emphasizes nuts-and-bolts programming concepts like if-then-else conditionals and the difference between text and numeric variable types. But Apple's rivals are starting at an even more basic level, said Jonathan Eunice, an independent developer and consultant who's also helped younger coders through the Codementor service.
"The Google and Minecraft work seems to me much more in line with that next-gen vibe of 'teach the kids the concepts,'" Eunice said. In contrast, tools like Swift Playgrounds are easy to set up and produce results almost immediately, but still appeal to people who have already decided they want to program.
There's another new dimension to today's programming lessons: hardware.
With the $35 Raspberry Pi, a capable computer the size of a credit card, schools and students can tinker with hardware without breaking the bank. The Raspberry Pi's core purpose is to get more students into programming, but it does so by offering hands-on physical activities like controlling LED lights and gathering weather data from electronic sensors.
That's well-suited to today's students.
"Young or new programmers are infinitely more ambitious" nowadays, Eunice said. "They often want to build something of substance," including software that incorporates data from the outside world or that controls robots and cameras.
Apple offers discounts to educational customers, and the physical intuitiveness of iPads can be great for young children. But Apple has plenty of competition at schools. Chromebooks, inexpensive laptops powered by Google's Chrome OS software, have surpassed Apple Macs and iPads as well as Windows computers in recent purchases by US schools.
Part of the Chromebook appeal is that Google offers schools free use of its Google Apps services, which combine tools like Gmail and Calendar with its browser-based tools for word processing, presentations and spreadsheets. And Microsoft, trying to keep up with the Joneses, offers its online version of Office free to schools and students.
But educators should be careful about committing to today's freebies. Software moves fast, and today's tech giants can lose interest in their own projects.
For example, Google hoped to tap into the Raspberry Pi excitement with a project called Coder designed to introduce students to the basics of web programming. But with no updates in the last year, the project is languishing.
But guess what? Nothing is perfect. The reality is that kids and schools embracing coding have better choices than ever.