プログラミング学習の筋道

「ビットから始めるプログラミング」は数多あるプログラミング言語のいずれにも当てはまる基本機能について述べています。

この基本機能だけでプログラムの中枢となる部分は記述できますが、処理結果の表示、データ入力、データベースの使用など、外部機能は用意していません。

多くのプログラミング言語は、オブジェクト指向やライブラリを用いて、処理結果の表示、データ入力、データベース操作などを可能としています。

また、強化機能を用意し、処理系を整備しています。

下の図は、そうした一般のプログラミング言語の大枠を示しています。

「ビットから始めるプログラミング」を学習した後は、自分が選んだ言語について、「オブジェクト指向」、「ライブラリ」、「強化機能」、「処理系」などを学ぶ必要があります。

では、どの言語を選んだらよいのでしょうか。各プログラミング言語には得意領域があります。

現在広く使われているプログラミング言語は、COBOL(コボル)、FORTRAN(フォートラン)、C(シー)、C++ (シープラスプラス)、JAVA(ジャバ)、Ruby(ルビー)、Python(パイソン)、PHP(ピーエイチピー)、JavaScript(ジャバスクリプト)などです。

COBOLは汎用機で広く用いられている事務処理用言語です。今では、事務処理用として、COBOLに代わってJAVAが用いられるようになりました。

FORTRANは科学技術計算用言語です。スーパーコンピュータ上のプログラムはFORTRANで記述されることが多いです。

CやC++ はOS(オペレーティング・システム)など、性能が要求されるシステムのプログラムを記述するために用いられています。

COBOL、FORTRAN、C、C++ はコンパイラ方式を採用しています。それに対して、JAVA、Ruby、Python、PHP、JavaScriptはインタープリタ方式を採用しています。インタープリタ方式は原資プログラムを直接解釈実行するという特徴があります。そのため、コンパイラ方式に比べて高度な機能を盛り込むことができます。これらの中で、JAVAはインタープリタ方式でありながら、内部ではコンパイラ方式も使用しており、性能への配慮もされています。

JAVAは多くの機種のコンピュータで動作するように設計されています。得意領域はアプリケーション開発ですが、他のインタープリタ方式の言語に比べて、大規模システム開発に向いています。

Rubyはアプリケーション開発に向いています。Ruby on RailsというRuby上で動作するフレームワークが多数サポートされているため、それらが適用できるなら開発コストを抑えることができます。

Pythonは軽快なプログラミング環境を提供しています。多くの研究者が利用しているため、機械学習など、先端の技術を搭載したモジュールが利用できます。

PHPとJavaScriptはWebプログラミング用に設計された言語で、多くのWebアプリケーションはこれらの言語を利用して作成されています。

プログラミング言語のカテゴリには入りませんが、HTML(エイチティーエムエル)、CSS(シーエスエス)、XML(エックスエムエル)、JSON(ジェイソン)というWebプログラミングで使用される言語があります。HTMLとCSSはWeb画面のデザイン用に使われます。XMLとJSONはアプリケーション間で情報を交換するための手段になっています。