プログラミング言語
コンピュータ上で動くプログラムには様々な目的のために,様々な動きをするものがあります.その動きによって,プログラムの書きやすい書き方が異なります.そのために,これまで様々なプログラム言語が考え出されてきました.
プログラム言語の分類
プログラム言語を書き方の種類で分類すると,手続き型言語,関数型言語,論理型言語, オブジェクト指向言語に分けられます.
手続き型言語は,命令文を実行する順に並べます.その順を変えるには繰り返し文や分岐文などの制御構造を利用します.手続き型言語には FORTRAN や COBOL,PASCAL,C などがあります.
関数型言語は,関数を定義することで動作を指示するもので,LISP や ML が代表的な例です.
論理型言語は,形式論理,数理論理に基づいたプログラム言語で,事実を定義することである問題を解決することができます.論理型言語には Prolog などがあります.
オブジェクト指向言語は,データとそのデータに対する操作をまとめたオブジェクトの性質を定義することで動作を指示します.オブジェクト指向言語には Smalltalk,C++, Objective-C,Java などがあります.
上記の高水準プログラム言語を実行するためには,アセンブリ言語で書かれたプログラムを実行するためにアセンブラで機械語に変換するように,機械語に変換しなければなりません.この変換作業を行うプログラムを言語処理系と呼びます.代表的な言語処理系にはコンパイラとインタプリタがあります.
コンパイラ
コンパイラは高水準言語を機械語に変換して出力する言語処理系です.実際にはコンパイラはアセンブラ言語までの変換を行います.その後アセンブラによって機械語への変換を行います.また,アセンブラが作成するのはオブジェクトプログラムと呼ぶもので,実際に実行するためには実行時ライブラリと結合する必要があります.この結合にはリンカを利用します.市販されているプログラム開発環境では,コンパイラ,アセンブラ,リンカを意識することなく利用できるようになっています.
インタプリタ
インタプリタは高水準プログラム言語で書かれたプログラムを順次解釈しながら実行していきます.コンパイラの場合,実行するときには機械語にすべて変換してから実行するため,実行速度が速くなるメリットがあります.一方,プログラムを作るたびにコンパイラを使って変換しなければならないという面倒もあります.
Javaとは
◆Sun が開発したプログラミング言語
Java は、1995年頃に Sun Microsystems 社によって発表されたプログラミング言語です。プログラミング言語には他に BASIC、COBOL、FORTLAN、LISP、C、C++、JavaScript、Perl、PHP、Ruby などがあります。
◆オブジェクト指向プログラミングが可能
Java は、オブジェクト指向 的なプログラミングが可能な言語です。オブジェクト指向とは継承機能を持つクラスに基づいてインスタンスを生成することで記述性を高める・・・と言っても 説明しきれないので、どこか別の場所で詳しく説明します。オブジェクト指向プログラミング言語には他に、Smalltalk、C++、C# などがあります。
◆ 中間コードへのコンパイル言語
プログラミング言語は、プログラムを逐次解析しながら実行する インタープリタ型言語 と、あらかじめマシン語コードに変換しておく コンパイル型言語 に大別されます。Java は基本的にはコンパイル型言語ですが、CPU に依存したマシンコードではなく、CPU に依存しない 中間コード にコンパイルするのが特徴です。
Processingとは
Processingは比較的新しいプログラミング言語だ。どのくらい新しいといって、正式版が公開されたのが2008年11月のこと。
◆Java を単純化したプログラミング環境
Processing は Java という言語をベースとしたオープンソースのプログラミング言語です.プログラムのソースコードを入力する,実行する,デバッグするというプログラミングの一連の作業を行うための一つのソフトウェアとして動くものですので,プログラミング環境といった方がよいかもしれません.公式サイトでも environment という語を使っています.
The syntax isn’t alien, actually, Processing code is Java code, just hiding some syntax points unnecessary to start a quick sketch (wrapping in a class, declaring a static main function to create the object from the class and call it, etc.).
Processing は Windows でも Mac でも Linux でも利用できること,作ったプログラムを,どのような OS でも動作する Java アプレットやプログラミング環境なしでも実行可能な形式に変換できることも大きな特徴です.
簡単に記述できるのですが、文法はJavaやC言語などと同じような形になっているので、プログラミング言語のアルゴリズムの学習に最適となっています。
◆視聴的な表現を得意
Processing は、 画像やアニメーションを用いた視聴的な表現を得意としています.そのため,対象者の中にアーティストやデザイナ,建築家が含まれています.また,Processing を対象とした書籍も,「ビジュアライジング・データ ―Processingによる情報視覚化手法」,「Built with Processing デザイン/アートのためのプログラミング入門」,「Processing: Creative Coding and Computational Art」など,視覚表現に関連したものが多くなっています.
ProcessingはJavaを単純化し、グラフィック機能に特化した言語といえる。
学習環境
- Gmail account : https://mail.google.com/
- Google Plus (Community) : https://plus.google.com/
- Google Keep (Memo) : https://keep.google.com/
- Java on Win/Mac : http://java.com/ja/download/
- Processing on Win/Mac : http://processing.org/