Appleは、誰もがコーディングを学ぶことが極めて重要だと考えています。仕事に直接役立つわけではないかもしれませんが、役立つスキルを身につけ、私たちが日々使っている製品やツールの基本的な仕組みに関する基礎知識を身につけることができます。プログラミングは、子供たちが学校で学ぶべきことだけでなく、大人にとっての継続的な教育の重要な一部です。
そこで同社は、「Everyone Can Code」という取り組みを立ち上げました。これは、子供から大人まで誰もが簡単にコードの基礎を学べるようにすることを目的としています。当然のことながら、C++やJavaScriptではなく、Appleのプログラミング言語Swiftを中心としています。そして、そのすべてはSwift Playgroundsから始まります。Swift Playgroundsは、小さな子供でも理解できるほどシンプルな方法でコーディングの基礎を教えてくれる、可愛らしいiPadアプリです。
私はもう若い子供ではありません。43歳で、初めてApple IIを買った時からずっとコンピューターに釘付けです。Swift Playgroundsのアクティビティを実際に試してみて、老犬にも新しい技を教えられるかどうか試してみることにしました。
ゼロから始める
プログラミングに全く馴染みがないわけではありませんが、「久しぶり」と言うのは控えめな表現でしょう。中学校時代にApple IIで簡単なBASICプログラムを書いて育ちましたが、コードを数行でも書いたのは20年以上前です(大学時代のC++の授業以来です)。この課題に取り組んだ当初は、本物のモダンな開発環境を使うのがどんな感じなのか、Swiftのようなモダンな言語がどんなものなのか、全く分かっていませんでした。
完全な初心者というわけではありませんが、最初から始めるのが一番楽です。さあ、iPadにSwift Playgroundsを読み込む時間です…
わあ、かわいい!しかも簡単!本当に簡単。これは明らかに小さな子供でも理解できるように作られています。小さなアニメーションキャラクターのByteを操作して、プログラムの基本概念を理解させるのは問題ないのですが、Swift Playgroundsのあまりにも単純すぎることには、どうしてもうんざりしてしまいます。もし私が8歳だったら、これは大喜びしていたでしょう。43歳の私にとっては、良い小説を丸くなって読んでいたら、それが「おやすみなさいお 月様」になってしまったような気分です。
IDGSwift Playgrounds は、最初は驚くほど基本的なものですが、最後までやり遂げてください。
幼稚な見た目は決して色褪せることはないものの、その退屈なほどの単純さはすぐに消え去ります。ほとんどの大人は最初の数回のレッスンをあっという間にこなせるでしょう。ネストされた関数からForループ、そして条件付きコードへと進む頃には、本格的な論理パズルを解けるようになっているでしょう。(これらの用語に戸惑ったとしても、安心してください。Swift Playgroundsの目的は、これらの用語を皆さんに紹介することなのです。)課題自体はそれほど難しくありません。アプリはうまく機能するあらゆる解決策を受け入れ、皆さんは問題を解決するために自分の解決策をいくらでも調整できます。しかし、実際に頭を働かせる必要があります。
簡単に言えば、Swift Playgroundsの遊び心のあるプログラミングパズルは、1時間もすれば大人でも夢中になれるはずです。これは大きなメリットです。親子で一緒にこれらのアクティビティに取り組むことで、どちらも大きな収穫を得ることができるでしょう。
すべてが崩壊する場所
最初の数レッスンは退屈な内容でしたが、Swift Playgroundsは大人の興味を惹きつけるほどに深く考え抜かれ、魅力的なものへと進化しました。プログラミングを全く知らない平均的な中年でも、毎晩1時間このアプリを使えば、わずか2週間で「Learn to Code 1」と「Learn to Code 2」の全レッスンを終えることができるでしょう。
これだけあれば、たくさん学べます。そこまで到達すれば、プログラミングの真髄を理解できるでしょう。複雑なタスクが、必要に応じて繰り返し実行される非常に単純なタスクに分解され、ループされる仕組みや、プログラムが「もしこうなったらあれを、そうでなければあれをする」という命令をどのように実行するかを理解できるでしょう。これらのタスクを使って小さな論理パズルを解き、Byteを小さな3Dの世界で操るのは、魅力的で、概念をしっかりと定着させてくれます。
最終的には、Byteを道に沿って誘導するだけでなく、彼の小さな3Dワールドを修正したり作成したりできるようになります。Learn to Code 3を学習すれば、座標やグラフィックの配置、タッチイベントなど、実際のアプリ開発に近い内容を学ぶことができます。
IDGSwift Playgrounds を十分に学習すると、配列などの高度な概念を学習できます。
でも、その後はどうなるのでしょう?Swift PlaygroundsはSwiftの概念を教え、実際のSwiftの構造を使っていますが、実際のコードではありません。アプリを作るわけではなく、Byteを動かしてパズルを解くだけです。collectGem()そもそもSwiftには、実際に呼び出されるコマンドはありません。
Swift Playgroundsは、コーディングとは何か、どのように機能するのかという好奇心を満たしてくれますが、実際にアプリを書けるわけではありません。ごくシンプルな基本アプリすら書けません。書いたコードはアプリから出ることすらできません。パズルのページから出ることさえできないのです!実際にアプリを作りたいなら、Appleは全く別のカリキュラムを用意しています。
ギャップを埋める
ループ、if-else文、関数に関する新しい知識を活かしてアプリを作りたいと思いませんか?iPadを取り出して…Apple Storeアプリを開いてMacをご購入ください。
そうです、Appleの本格的なコード作成プログラムであるXcodeはMacでのみ利用可能です。無料で、Mac App Storeからダウンロードできます。その後、iBooksストアで『Swiftによるアプリケーション開発入門』を入手してください。このeBookを読み始めると、本を読み進める際に使用するプロジェクトファイルをダウンロードするように促されます。
これは従来のプログラミング教育で、本当にひどい。本を読みながら、サンプルコードを読み込んで少し変更を加え、概念の理解度を確認するための簡単なクイズに答える…これが長年の自宅学習コースのやり方だ。Appleは本とプロジェクトファイルを分かりやすくインタラクティブなものにすることには成功しているが、Swift Playgroundsと比べると、退屈で事務的な作業に過ぎない。
IDG本物のアプリを作りたいなら、Mac に飛び乗って、従来型の退屈なコースを受講しなければなりません。
Apple が、子供も大人も、コードとは何かを 学ぶだけでなく 、実際にコードを書くように人々を刺激したいのであれば、Swift Playgrounds のカラフルなパズルを解くことと、Xcode の開発者中心の環境との間の溝を埋める必要があります。Byte を捨てて仮想 iPhone 画面に切り替える移行フェーズを教えてください。非常にシンプルなアプリの作成手順を説明してください。チップ計算機のようなアプリで、ユーザーが金額を入力し、2 つのボタン (15 パーセントまたは 20 パーセント) のいずれかを押してチップを計算します。これが App Store への最初の提出物になるわけではありませんが、Swift Playgrounds の卒業生なら理解できる種類のもので、自己完結型のパズルで漫画のキャラクターを操作するのではなく、現実世界のタスクを実行します。
Macを買う必要があるって言いましたっけ?Swift PlaygroundsがiPad専用で、XcodeがMac専用だなんて、全く意味不明です。高価なものをまた買わなきゃいけないなんて、習得のハードルが高すぎる。早熟で聡明な少女がiPadを何でも使いながら「コンピューターって何?」と尋ねる、話題のテレビCMを放映したばかりの会社が、こんなことをするなんて。
IDGご存知の通り、Apple。コンピューターはアプリを書くために使うもの。
プログラミングを学びたい大人の方、Swift Playgrounds が子供向けだからといって諦めないでください。Swift Playgrounds はすぐに洗練されたものになり、プログラミングの基本概念を学ぶ価値があり、満足感も得られる方法になります。
しかし、実際に使えるコードを書きたいのであれば、実際に取り組む必要があります。学んだSwiftの知識を活用するには、MacとXcodeを使うか、あるいはJavaScriptのようなより移植性の高い言語に概念を変換してみる必要があります。いずれにせよ、プログラミング教育を長年悩ませてきた「本とサンプルコード」のような古臭いレッスンに縛られ、まるで高校時代に戻ったような気分になるでしょう。