環境構築に時間がかかって、実際にコードを書く段階までなかなか行けない。

勉強しているが成果が見えにくい。エラーで心が折れる。。

これらはプログラミングを学び始めた人が直面する悩みかと思います。僕も大学1年生の時にプログラミングを学び始めた頃は、上記の悩みを抱え自分の成長を実感しづらい時期がありました。

多くの人が最初にぶつかる壁を解決しやすくしてくれるのが、今回ご紹介するProcessingという言語です!プログラミングの基礎を学ぶのに最適なProcessingについて語っていきます。

Processingについて

Processingバナー

Processingは、アートやデザインの領域からプログラミングを学べるように開発された言語です。もともとはビジュアルアートやインタラクティブな作品を作るために、アーティストやデザイナー向けに設計されました。

C言語やPythonといった言語と比べると知名度は低いかもしれませんが、文法自体はJavaに近く、後々本格的なプログラミング言語を学ぶ際の橋渡しとしても優秀です。何より最大の特徴は、書いたコードの結果がすぐに画面に表示されるという点にあります。

他の言語では簡単なものを画面に表示するだけでも、設定をあれこれと書かなければならず、環境構築の手間が省けることはプログラミングを始めたての人にとって、挫折を防ぐのに大いにプラスに働くと思います。

Processingで実際にどのようなものが作れるのか見てみたい方は、以下のサイトなどをチェックして見てください!

Processing 公式ドキュメントのExamples

OpenProcessingというコミュニティ

Processingがおすすめな理由

1. 環境構築が簡単

Processingは無料で利用でき、公式サイトから専用のエディタをダウンロードするだけで、すぐに利用を開始することができます。

複雑な環境構築の手順を踏む必要がなく、インストールしてから最初のコードを書くまでの時間が、非常に短かくすむのが嬉しいポイントです!

以下にProcessingの公式サイトのリンクを貼っておきます。こちらのサイトからダウンロードできます。

https://processing.org

2. ビジュアル表現に優れている

Processingでは、数行のコードを書いて実行するだけで、円や四角形などの図形が画面に表示されます。

文字だけの結果ではなく、目に見える形でフィードバックが返ってくるため「自分のコードが動いた」という実感を得やすいのが大きな魅力です。この体験の積み重ねが、学習のモチベーションを支えてくれます。

僕が大学に入って一番最初にProcessingを利用した際も、授業の課題でスイスの国旗を描画したのですが、簡単な図形を組み合わせるだけながら、自分のコードが動いて国旗が表示された時には非常に嬉しかったのを覚えています!

最初は簡単なものでも実際に書いて、表示させてみるのがおすすめです!その積み重ねが力になっていきます。

スイス国旗の描画の仕方に興味がある方は、ぜひこちらの記事もどうぞ!

[第1回: 図形の描画] Processingでスイス国旗を描くProcessingを使ってスイス国旗を描く方法を初心者向けに解説します。図形の描画の仕方や色の付け方など基礎が学べます。...

3. 文法がシンプル

Processingは、複雑な設定や記述を省いても動くように設計されています。文法もシンプルなため、初めてでも簡単に図形などを画面に表示させることができます。

他の言語では何十行も書かないと実現できないような表現が、Processingなら数行で完結することも珍しくありません。

また書く量が少ないということは、それだけエラーの起きる箇所も少なくなるということです。挫折になりやすい「原因がよくわからないエラー」に遭遇する頻度を、自然と減らすことができます。

4. 数学的な概念を学べる

プログラミングでは、座標・角度・変数といった数学的な概念を扱う場面がでてくることがあります。

Processingではこれらの概念を「画面上の動き」として目で見ながら学べるため、抽象的な概念であっても直感的に理解しやすくなっています。

ここで身につけた感覚は、他の言語でアニメーションやグラフィックスを扱う際にもそのまま活きてきます。

5. コミュニティが活発で作例が豊富

Processingはアートやデザインの分野で長く使われてきた歴史があり、世界中の作品例やサンプルコードがインターネット上に数多く公開されています。

何かわからないことがあっても、似たような作例を参考にしながら学習を進めやすい環境が整っています!

実際に動くものを見てみよう

百聞は一見にしかずということで、実際に動くものを見てみましょう!以下は画面に跳ね返るたびに、色が変わるボールのアニメーションです。

こちらがそのコードになります。

float speedX = random(5, 7);
float speedY = random(5, 7);
float ballX;
float ballY;
int diameter = 40;
int countCollusion = 0;

void setup() {
  size(400, 400);
  ballX = width/2;
  ballY = height/2;
}

void draw() {
  background(255);

  noStroke();
  // 壁に衝突した回数に応じて「赤 → 緑 → 青」とボールの色が変わる
  if (countCollusion % 3 == 0) {
    fill(255, 0, 0);
  } else if (countCollusion % 3 == 1) {
    fill(0, 255, 0);
  } else if (countCollusion % 3 == 2) {
    fill(0, 0, 255);
  }
  circle(ballX, ballY, diameter);
  
  ballX += speedX;
  ballY += speedY;
  
  // ボールが画面の枠外に出そうになったらスピードを反転させる
  // 壁と衝突したらcountCollusionを増やす
  if (ballX + diameter/2 > width) {
    speedX = -speedX;
    countCollusion++;
  } 
  if (ballX - diameter/2 < 0) {
    speedX = -speedX;
    countCollusion++;
  } 
  if (ballY + diameter/2 > height) {
    speedY = -speedY;
    countCollusion++;
  } 
  if (ballY - diameter/2 < 0) {
    speedY = -speedY;
    countCollusion++;
  }
}


Processingで学んだあと次にどうつなげるか

Processingで学んだ知識は、他の言語を学ぶ際の土台になります。

・Java: Processingの文法はJavaがベースになっているため、スムーズに移行しやすい。

・JavaScript: 文法など似ているところが多い。同じオブジェクト指向言語のため移行しやすく、Web系の開発で広く一般に使われている。

・Python: Processingでプログラミングの基礎を学んだ後であれば、文法に違いはあるものの、スムーズに習得できる。AI開発や機械学習などで使用されるイメージがあるが、ゲーム開発やWeb開発もできるなど万能な言語。

有名で名前を聞いたことがあるもの、実用的な言語から始めたい気持ちもわかりますが、いきなり難しい言語から入るとプログラミングに苦手意識が付いてしまいます。

僕も高校生の時に、図書館にあったC言語の本を手に取って勉強し始めた際に、エラーが解決できず挫折してしまったことがありました…。

まずはProcessingで動くものを作って「プログラミングって楽しい!」という感覚を得てから、目的に応じた言語へとステップアップしていくのがおすすめです。

プログラミング学習は長い旅になるかと思いますが、その道中をぜひ楽しんでいってください〜!自己表現のためのいいスキルになると僕は考えています。