これはProcessing Advent Calendar 2018 – Qiitaの5日目の記事です。
この記事では、プログラミング初心者が最初にやる言語として「Processing」がおすすめな理由と実際に僕がやった学習方法を紹介します。
目次
Processingとは
Processing(プロセシング)とは、アーティストやデザイナー向けに作られた視覚的なフィードバックが即座に得られる小難しさを排除した初心者向けのプログラミング言語です。
元々、MITラボで開発されたこともあり、教育向けにもよく使われるプログラミング言語です。
僕のプログラミングデビューも『Processig』だった
ちなみに、僕の本格的なプログラミングデビューが「Processing」でした。
僕が本格的にプログラミングを初めたのは、工業デザイナーとして社会人になって数年後ぐらいのこと。
仕事にも少し慣れてきて、違う表現をやってみたくて気になったのが、中村勇吾さんの作品でした。
当時一番好きだった中村勇吾さんの作品「ecotonoha」
中村勇吾さんの作品は、どうやらFlashでActionScriptを書いていると言うことを知ったのですが、当時すでにFlashは廃れはじみていました。
そこでさらに関連記事を読み漁って行く中で、その時に中村勇吾さんの事務所でも働いていた深津貴之さん(現・THE GUILD代表)のブログで代わりにProcessingを使ったりしていると言う記事を読んだのがきっかけでした。
Processing自体は基礎をやったあと、興味がWeb制作の方に移っていたのでHTML/CSS/JavaScript/PHPあたりを今に至るまで使っていると言う感じですが、プログラミングの基礎は間違いなくProcessingで身につけました。
他の言語も学んだ今だから思うのは
最初に学んだプログラミング言語がProcessingで良かった
と言うことです。
その理由について紹介していきます。
プログラミング初心者には『Processing』がおすすめの理由3選
1. 書いたコードがすぐにビジュアルとして見えるので楽しい
まず、書いたコードがすぐにビジュアル(図形、色)で見えるのが、Processingの大きの特徴です。
この「ビジュアル(図形、色)」で見えると言うのがプログラミング初心者にとってかなり大事なんです。
例えば、PHPを勉強する場合、最初にやるのは変数の代入や演算だと思います。
コンソールやエディターでコツコツ書いて出てくるのは、「文字」と「数字」のみです。これ、控えめに言ってもかなり地味です。
最初こそ、文章を変えたり、数字を変えたりして結果が変わるのを面白がれますが、大体基礎を終える前に飽きます。
そう、プログラミングを学習する上で一番の敵が「飽き」です。
それに対して、Processingはビジュアル(図形・色)が変わるので飽きにくいです。
例えば、あとで紹介するProcessingの入門書「ジェネラティブ・アート」で「間違った円を描く方法」と言う章で、円を色々な方法で描いてみて数式を少し変えてみると言う例題があります。
実際やってみると、最初円だった図形が想像していなかった面白いかたちになります。それが面白くってその日は永遠そのコードをいじっていたのを思い出します。
このように、プログラミンの天敵の「飽き」を避け、プログラミングで大切な自分で色々試してみると言う行動を自然ととってしまうのがProcessingなのです。
2. 開発環境の構築がかんたん
プログラミングを学ぼうとした時に、挫折しやすいポイントの1つが「開発環境の構築」です。
最近は、Cloud 9などクラウドベースの統合環境も出てきて初心者が最初から開発環境の構築を頑張らなくてもプログラミングを初められる環境も整ってきました。
それでも、今だに新しい言語や環境で開発環境を構築すると思わぬところでハマることが多いのもまた事実です。
一方、Processingは公式サイトから統合開発環境をダウンロードして、それに書き込むだけ。
そのダウンロードした統合開発環境に、コードを描き、再生ボタンを押すとビジュアルとして別ウィンドウが立ち上がるというオールインワンにまとまっています。
これで、開発環境を構築するので挫折する可能性も取り除かれました。
3. そもそも初心者向けに作られた言語
そして、Processingがそもそも初心者向けに作られていると言うのもおすすめのポイントのひとつです。
前にも述べたように、統合開発環境で全てまとまっているので他のアプリケーションと連携するための決まり事やブラウザの差分に対して書くコードなども必要ないため、コードがシンプルに書けます。
また、Processingを開発したMITはもちろんアメリカの専門学校のプログラミング初心者向けの授業で使われることもあり、初心者向けの書籍や情報が充実しています。
プログラミング初心者には『Processing』が残念な理由
アウトプットが人に見せにくい
今まで書いてきたようにプログラミング初心者におすすめProcessingなのですが、もちろん残念なところもあります。
その一つが「アウトプットが人に見せにくい」と言う点です。
自分のパソコンで見る分には、統合開発環境からすぐに見えるのですが、多くの人に見てもらうためにネットに公開しようと思うとちょっと苦労します。
下記のサイトに紹介されているように、ブラウザ上に公開する方法もあるのですが、一手間かかってしまいます。
また、一般的なWeb制作ではProcessingを使うことは皆無なため、仕事でそのまま活かせると機会もかなり限られます。
それでも、プログラミングを勉強する上で「継続する」ことが何より大事なので、プログラム初心者にこそ「楽しんでコードが書ける」Processingをおすすめしたいです。
Processingで始める!プログラミング入門の方法とおすすめの本
それでは、具体的に僕がやったおすすめの勉強法(と合わせて本)を紹介します。
1. 「ジェネラティブ・アート」を写経して、コードをいじる楽しさを知る
まず、公式サイトから統合開発環境をダウンロードしたら、読んでももらいたいのが「ジェネラティブ・アート」です。
この本は何と言っても「サンプルが美しい」のが特徴です。
本を読みながらコードを写経していくだけで、表紙のようなジェネラティブ・アート(数式を使った予測不可能なアート)が作れます。
他の言語の参考書でもそうですが、サンプルが魅力的なだけで学習意欲が全然違います。
また、プログラミングの内容としても浅く広く触れられており、最初の一冊として最適です。
ただ途中から一気に難しくなって、後半はただ写してるだけになってしまうかもしれませんが、その部分は次の1冊で補います。
[普及版]ジェネラティブ・アート―Processingによる実践ガイド
2. 「LEARNIG PROCESSING」でプログラミングの基本と英語に慣れる
「ジェネラティブ・アート」でコードを書く楽しさを学んだら、次は「Learning Processing」でプログラミングの基礎を勉強していきます。
こちらの本は、アメリカのプログラミングの専門学校で使われている教科書です。
教科書とは言っても、プログラミングの基礎を丁寧に抑えつつ、コードで絵を描いたり、ゲームを作ったり飽きさせない工夫が凝らされています。
ただ、難点は日本語版がないと言うところ。
しかしプログラミングをやっていこうと思うと英語で情報収集することはいずれ必要になってきます。
この本は英語とは言え、アメリカの専門学校生向けなこともあり、かなり平易な英語で書いてあります。
内容的にも、Processingの特性があるとは言え、日本語の本でこんなにプログラミングの基礎を丁寧に、しかも飽きさせないように書かれた本に出会ったことはないので一読の価値はあります。
3. さらにProcessingを深めるなら「GENERATIVE DESIGN」
上の2つを終えれば、プログラミングの基礎は一通り最低限は分かるようになります。
この次の選択肢としては、
- Processingをさらに深める
- 他の使いたい言語に入門する
の2通りが考えれらます。2は他の言語の入門者向けの記事に譲るとして、1のProcessingをさらに深め行こうとするときにおすすめなのが、「GENERATIVE DESIGN」です。
値段もボリュームもかなり充実した本で、日本語の翻訳本には先に紹介した深津貴之さんも関わっており、Processingを極めていきたいなら読んでおきたい一冊です。
興味のある人は、こちらのサイトでサンプルコードが見れるので、それを見てから検討してみてください。
Generative Design-Processingで切り拓く、デザインの新たな地平
まとめ
何か作りたいものがあればその言語から学ぶのもありですが、とりあえずプログラミング言語が学びたいとのであれば初めてのプログラミング言語にProcessingを選択する価値が十分あると思います。
プログラミングの醍醐味である自分の書いたコードが動くと言うのがいち早く分かりやすく味わえるのは、大きな魅力です。
Processingから楽しいプログラミングライフを初めてみませんか?
[普及版]ジェネラティブ・アート―Processingによる実践ガイド
Generative Design-Processingで切り拓く、デザインの新たな地平