読者です 読者をやめる 読者になる 読者になる

Swift Playgroundsがなかなかおもしろい

プログラミング

前回のブログでSwift PlaygroundsというiOSアプリを紹介したが、これがなかなかおもしろいので改めて書くことにした。このアプリはiPad専用なのでiPhoneではApp Storeで検索しても出てこない。

SwiftというのはiOSやOS Xのためのプログラミング言語のことである。2014年に発表されたばかりなので、比較的新しい言語だ。PlaygroundsはiPadでSwiftを学ぶことができる。学ぶといっても、人形を使って迷路にある宝石を集めたり、スイッチをオンにしたりするパズルゲームのようなものだ。通勤のバスの中や寝る前のちょっとした空き時間にやっている。最初はすごく簡単な問題ばかりなので取り組みやすい。進めていくと、ちょっと考える問題が出てくるが、決して難問ではなく、ヒントを見たりしながら考えれば解ける。難易度的には子供でも十分に取り組めるレベルだと思うんだけど、全て英語で説明されているので小中学生くらいだとちょっと英語の部分が難しいかもしれない。今、28個の課題が終わりConditional Codeが終了したところだ。

プログラミング言語の本などでは、はじめにデータ型の話があり、変数が出てきて、制御文を学んで、オブジェクトとは何かみたいな感じの流れだったりするけど、正直、初心者が楽しんで取り組めるかというとそうではない。ある程度わかっている人が、新しい言語に取り組む時にはむしろサクッと説明された方が効率的なんだと思うが、いきなり初心者がそういうものを見せられても、よっぽど目的が明確か、想像力が豊かじゃないと途中で投げ出すと思う(自分がそのいい例だ)。書籍によってはその辺に配慮してある本もあるけど、基本を解説しようと思うとどうしても網羅的にならざるを得ない。

28個の課題を解いてみて、プログラミングの初心者はこういうアプローチで取り組みを始めた方が時間をかけずにプログラミングとは何かをつかみやすいんじゃないかと思った。Swift Playgroundsは入力支援がしっかりしているので、キーボードを叩く手間は最小限で済む。forというボタンを押せば、構文がズドンと準備されて中の構文を書いてねみたいな感じになるので、いちいち構文を見直さなくても済む。本で勉強しているとまずこういうことを覚えなきゃという意識になりがちだが、そういうのは手続き上のお約束であって、ある意味、本質ではない。パズルを繰り返し解いていくと、覚えるというより、慣れてくる。

重要なのは、課題の構造を見極め、より短い構文でわかりやすいプログラムを書くことだ。28個の課題を解いたのだが、全てがスマートにプログラムが書けたわけじゃない。ベタで書き下しているうちに繰り返しの構造が見えてきたり、関数として書いた方がスッキリすることに気がついたりする。まさにこのプロセスがプログラミングを学ぶ上で大切なのではないかと思った。