2011.04.18
今年の春から入社しました。新人エンジニアのyasuiです。
今までphpだったりjsを書いてきましたが、他の言語とどう違うの?と聞かれると明確に答えられません。
これはまずいなと思って、自分の勉強がてらそれぞれの言語ってどう違うの?というのをWEBで使われる言語に関わらずまとめてみたいと思います。
機械語
CPUが直接理解、実行できる言語のことを言います。人間が直接書くことはまずありません。
アセンブラ
CPU固有のプログラム言語です。機械語と1対1で対応できるきめ細かいプログラムが可能となります。
昔のパソコンはメモリも少なく処理も遅かったので、何かの処理を速くやりたい場合や、ドライバなどの常駐プログラムを作る場合はアセンブラが主流だったそうです。
趣味でアセンブラをやる人は少なくなりましたが、この世の中には必要な言語です。
Fortran
IBMが科学技術計算用に開発した言語です。
FORTRANの長所はその単純さにあります。方程式を表現するために作られたため、各種組込み関数や強力な配列操作など、数値計算に便利な機能があらかじめ組み込まれています。
Fortranには新しいプログラミング言語にはない、莫大な遺産があります。
大抵のことは誰かがやっているので、非常に効率よく組めます。
COBOL
事務処理計算用に使われる言語です。英文に近い記述が可能で、汎用性が高くなっています。
現在でも稼動しているCOBOLによるコードは2000億行に上るとされており、これはFortranとアセンブラを合わせた数十億行に比べても圧倒的に多いです。
このように誕生から半世紀たっているにもかかわらず、今なお主流言語として使用されており、他の初期の言語とは大きく異なります。
現在でも基本情報技術者試験などの国家試験にも出題されていますね。
C言語
C言語はもともとOSを作成するのを目的として開発された言語です。
処理速度が速い、メモリ管理がしやすい、などの理由により、非常に多くのアプリケーションソフトが C言語で書かれています。
ちなみにUNIXなどもC言語で書かれています。
PHPも、C言語を参考にして作られているそうです。
BASIC
文法が簡単で扱いやすく、初期の8bit/16bitのPCで広く採用され、普及しました。
コンパイラも存在しますが、多くはインタプリタとして実行される為、実行速度が遅くなっています。
BASICには亜種が非常に多く、あるBASICと別のBASICでは同じことをするのに手順が違うということもあります。ちなみに亜種の中で最も有名なものがVisualBasicとなっています。
しかし本来のBASICは設計が古いため、現在では普通になっている構造化やオブジェクト指向といった概念を持っておらず、今ではほとんど使われていません。
Python
オブジェクト指向スクリプト言語であるPythonは、ちょっとしたスクリプトから、商用サイトや大規模Webシステムまで幅広く適用できる非常に便利なプログラミング言語です。
日本ではあまり認知度は高くありませんが、欧米を中心に幅広く利用されており、米Googleなどの有名企業でも採用されています。
Pythonはインタプリタですが、Javaのように中間コードにコンパイルされ、比較的高速に実行されます。
JAVA
プログラム実行環境(プラットフォーム)に依存しないように設計されています。
インターネットのような、様々なコンピュータやOSの混在する環境であっても、同じものが実行できます。
アプレットの他にサーブレット、JSPなどもあります。
スクリプト言語
プログラムの記述や実行を比較的簡易に行うことができる言語です。
コンパイルの手間をかけずにプログラムを実行できるインタプリタという点や、データの型付けを実行時に行う動的言語であることが特徴となります。
代表的なスクリプト言語としては、JavaScript、Perl、Python、PHP、Rubyなどがあります。
ちなみに一番歴史のある高級言語はFortranだそうです。
プログラムにも歴史や流行があり、面白いですね。
これからのプログラムの流行を追っていきたいと思います。
https://dis.ne.jp/blog/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e3%81%ae%e3%81%93%e3%81%a8/2160.html/trackback