数値計算・設計に使用できるプログラミング言語
(その歴史と概要)
2020/09 大幅改訂

はじめに 

 
 年々、コンピュータソフトウエアは高機能化している。現在、簡単な設計計算(とはいっても一昔前には複雑な計算)は表計算ソフトで済ませることができ、かなり高度かつ複雑な計算(材料強度計算、熱流体解析など)は専用のソフトウエアを用いることが多い(時間的にもコスト的にも優れているといえる)。しかし、研究者・開発者(機械工学系の学生と読み替えてもよい)は、計算部分を自分で組むことに意義がある場合が存在し、汎用(市販)のソフトウエアだけでは成し得ないことも多い。したがって、今日においてもコンピュータ・プログラミング言語の初歩を学ぶことには意義があると考えられる。

 このプログラミング言語は、非常に種類が多く、一般にそれぞれの応用分野は異なっている。ここで取り上げる言語とは、コンピュータが最終的に理解できる機械語などを除いた高水準(高級)言語を示す。また、この高水準言語のなかでも数値計算・設計に比較的適しており、初学者が容易に学習・実行できる環境が整っているものを対象として解説する。

 上記に則し、ここでは、CC++BASICJavaScript、Python、JAVA、FORTRANPascalの各言語の歴史と概要についてまとめる。

C言語


 C(シー)言語は、1972年頃にAT&T社の研究機関・ベル研究所でD.RitchieがUNIXを異なる機種に移植しやすくする目的で開発した。この言語名は、B 言語から発展してきたことに由来する(Bは、BCPL[Baic Combined Programming Language]から発展し、その頭文字をとったものといわれている)。その言語仕様は非常にコンパクトであり、アセンブラ(機械語を構築するための言語)のような使い方から、ハードウェアを意識しない移植性の高い使い方まで幅広い使い方ができる。また、構造化プログラミングが可能で、すべての処理を関数の集まりとして記述する。これまで、パソコン・ワークステーション・ミニコン・スーパーコンピュータなどのほとんど全てのコンピュータの主要言語として使われてきた。現在では、これを拡張したC++を用いることが多いが、その基になった言語であるため依然重要な位置にある。

C++

 
 C++(シープラスプラス)言語は、C言語を拡張したオブジェクト指向言語である。この言語名は、C言語のひとつの特徴でもあるインクリメンタル演算子(すなわち、増加・発展を意味する)に由来している。この言語では、様々なデータとそれを処理する手続き・関数をクラスにまとめ、これを組み合わせてプログラムを構築していく。クラスの内部で用いられる変数は、クラスの外から直接変更されることがないので、安全性の高いコードを記述することができる(カプセル化)。また、基になるクラスを派生させることにより、機能を追加・変更した新しいクラスを作成可能である。現在では、ほとんどのコンピュータシステムやアプリケーションソフトは、この言語を用いて開発されているのである。
 

BASIC

   
 BASIC(ベーシック:Beginner's All-purpose Symbolic Instruction Code=初心者のための汎用記号命令コード)言語は、1964年、ニューハンプシャー州ダートマス大学でJohn Kemeny, Thomas Kurtzによって同校のタイムシェリングシステムのために開発された。もともとは、インタープリタ言語(1文ずつ翻訳実行する言語)であり、FORTRAN言語の表現を単純化して用いていた。この言語は、1980年代までのパーソナルコンピュータのほとんどに標準で搭載され、広く普及した。ただし、インタープリタ言語であるためプログラムの動作速度が遅く、構造化プログラミングができないなど本格的なソフトウエアを記述するのに不向きであった。また、一般ユーザーがプログラムを行う必要性が減少したため、急速に衰退した。しかし、近年では、構造化プログラミングを行えるように改良され、アプリケーションソフトのマクロ機能に使用されるなど再び用いられるようになってきた。
 

JavaScript

 
 JavaScript(ジャバスクリプト)は、WebブラウザであるNetscape Navigatorに搭載(1995年)され、その後、マイクロソフト社のIEにも搭載されたため、急速に普及した。さらに言語仕様がECMAScriptとして標準化されたため、多くのブラウザに搭載されることになった。以降、発展し続けて、様々な用途に利用されるプログラミング言語となっている。
 

Python

   
 Python(パイソン)は、グイド・ヴァン・ロッサムにより、1991年に発表された。ホワイトスペースの使用によってコードの可読性が重視されており、小規模から大規模なプロジェクトまで、論理的なコードを書くのを支援するとされている。Pythonインタプリタは、多くのOSに対応している。基本機能を拡張するためのプログラムは、インターネット上にライブラリとして提供されており、これが非常に充実している。特に、理工系においては高速な数値計算、機械学習などのライブラリが揃っているため注目を集めている。
 

Java

 
 Java(ジャバ)言語は、1991年頃、Sun Microsystems社が家電製品用のソフトウエアシステムを記述する目的で考案し始め、1995年5月に正式発表したものである。この言語名は、コーヒーを片手に誰もが簡単に扱える言語をめざして、コーヒーの種類であるジャワコーヒーからとったものといわれている。この言語は、C++を基に、安全(メモリ保護、セキュリティ面)かつ可読性に優れたものに変更されたものであり、ソースコードが機種に依存しない中間言語(仮想マシン上で実行される機械語)に変換されるため、異なるプラットフォーム(OSなど)で同じコードが実行できる。また、このコードはインターネット閲覧ソフト(ブラウザ)上で実行可能であり、その開発ソフトが無料であったために急速に普及した。
 

Fortran

 
 Fortran(フォートラン:FORmula TRANslation=数式翻訳)言語は、1954年頃にIBMのJohn Backusによって主に数値計算用プログラム作成の効率化を行う目的で開発された。この言語は、数学的表現に優れており、各種計算ライブラリが構築されるなど、長年に渡って改良されてきた。しかし、GUI(グラフィカルユーザーインタフェース)やシステム開発に優れたC言語などの登場によって、1980年代には一般的なプログラム作成言語としては衰退した。しかし、その後も機能を拡張したFortran 90が標準化されるなど科学技術計算分野では頻繁に用いられている言語である。

Pascal


 Pascal(パスカル)言語は、1971年、スイス連邦工科大学のNiklaus Wirth教授がプログラミングの基本となるアルゴリズム教育のための学習用言語を作成する目的で考案した。この言語名は、現存する世界最古の計算機を発明した17世紀のフランスの数学者ブレーズ・パスカルからとられたものである。教育用の言語が出発点ではあるが、構造化プログラミングによる表現が可能であり、1980年代から優れたコンパイラ(プログラムソースを機械語に翻訳するソフト)が存在している。その後、機能が拡張されたコンパイラが利用されてきたが、2020年現在では終息しているといえる。
   

 戻る