The Xcode cliff: Is Apple teaching kids to code, or just teaching them about code?

“Swift Playgrounds is a wonderful introduction to programming,” Paul Miller writes for The Verge. “It introduces imperative logic, functions, methods, loops, and many of the marvelous APIs that are available to iOS developers.”

“But it’s called a ‘playground’ for a reason: you can’t make an app with Swift Playgrounds,” Miller writes. “You play with code, you learn about code, and you do indeed code. But if you want to build something useful and distributable, you need to look elsewhere.”

“Inside the Apple ecosystem, this ‘elsewhere’ is called Xcode. It’s a huge and complicated application that runs only on Macs, and requires an Apple Developer account to effectively distribute the software you build,” Miller writes. “I probably wouldn’t recommend a kid learn Swift as their first programming language, not because it’s not a great and interesting language, but because the barrier to distribution and the creation of useful software is so high. The Xcode cliff is a steep one.”

Read more in the full article here.

MacDailyNews Take: Miller is right in that “Apple would do its learners a huge service by providing them an Xcode equivalent on the iPad… because it would give iPad-bound learners a chance to engage that challenge and grow into true application developers in time.”

Perhaps something like that is coming for WWDC 2018?

After all, Apple, “What’s a computer?”

70 colleges and universities in Europe adopt Apple’s Everyone Can Code initiative – January 19, 2018
Apple opens ‘Everyone Can Code’ initiative to students around the world – November 9, 2017


  1. I started with BASIC on a PDP-11 on a teletype. I had something like 28kilobytes of RAM to use. Storage was a 5 hole paper tape.

    Six years later, I thought I was bada$$ running the beginnings of what is now known as an “Integrated Development Environment” by installing a Z80 co-prossesser and a 1 meg RAM card in an Apple II and using Wordstar to create dBase II programs. Oddly, I made over $20,000 over a 30 month period writing dBase II stuff. It was called dBase II version 2.43*. That “star” was important because dBase was so buggy.

    By comparison what you have to do to get Xcode going is easy…… 🙂

  2. Ever since Swift playgrounds appeared, I’ve been waiting for it to morph into a HyperCard-like application which would allow people to easily create stand-alone apps.

    I tried using HyperCard on a company computer and it was so impressive that HyperCard became the key feature which persuaded me to buy my first Mac in 1989.

  3. There’s a old saying – “I can explain it to you but I can’t understand it for you”. I think Apple is taking the right approach exposing kids to the “concepts” and getting them curious. I took basic Pascal, advanced Pascal, ADA, and C classes but I eventually realized that the way I (and most programmers I know) “learn to code” is have a problem you want to solve and then figure out how to solve it with a book on the language, some example code, several late nights and a compiler – oh and caffeine…lots of caffeine.

  4. I meant to finish and say that I think Computer programing is a lot like Math. You can’t learn it until you WANT to learn it and I think Apple is helping kids get that important step of WANTING to learn Xcode. Compliers like a lot of advanced math are both intimidating and unlike anything else most kids are exposed to. NOW Apple how about helping with Math Education in the US and save us from these ninkinpoop Teachers who think Math is “supposed” to be hard and is a “rite of passage” to survive (Yep I got my degree in Applied Mathamatics and I’m STILL bitter 🙂

    Love Math – hate that so many kids and adults fear it.

  5. ^ Corporate IT professional with 20 years of experience with 2 teenage daughters.

    I understand what Tim is saying in regard to exposing kids to coding, but I’m not a big proponent of it. Programming is not for everyone and it’s one thing to play around in a playground and make a game or whatever. It’s another thing to spend 2 weeks debugging some legacy code over some arcane bug.

    Programming can be a very solitary experience that requires deep thought without producing a tangible result and there’s not many people who want to do that day after day. Do I want my kids spending their free time wondering why Xcode crashed for the 6th time? Not really.

  6. This is where recent Chromebooks with Google Play access for Android Apps may make headway. Android has long had Apps that allow you to code and compile fully functional App APK files using a variety of languages. You can then share/distribute those Apps if you wish. The Development Apps are not as colorful or fun as Swift Playground, but they do introduce the user to the full gamut of coding, debugginn, compiling and distributing Apps.

Reader Feedback

This site uses Akismet to reduce spam. Learn how your comment data is processed.