ホーム

コンパイラー入門。コンパイラーとは何かを考えたい

コンパイラーの役割に付いて考えていきたい。ウィキペディアの言葉をそのまま受け取れば、コンパイラーとは「高水準言語をマシン語に翻訳するもの」ということになる。世の中のプログラミング言語には、高水準言語と低水準言語というものがある。高水準言語と低水準言語に明確な線引きがあるわけじゃなくて、これは概念である。高水準言語っていうのは人間が読みやすいプログラミング言語の総称、低水準言語っていうのは間が読みづらいプログラミング言語の総称である。

 

コンピューターの世界では、真面目な話し、全ての表現は二進数で行われる。ホームページはhtmlで出来ているのではない。ホームページは0と1という数字で出来ている。0と1の世界、デジタルの世界。全ての動作は0と1の量と組み合わせ。ハンパではない。読めない。理解ができない。と、いうことで、人間が理解できるようにしよう!ということでコンピュータ言語が発明された。

 

コンピューター言語は、どんな言語であれ最終的にはマシン語にコンパイルされ、0と1に変換される。0と1以外はコンピューターは理解できない。コンピューター初期の時代に、アセンブリ言語というものが開発され、アセンブリ言語で書かれたプログラムはコンパイラーを通りマシン語に翻訳されて、マシンは受け取った命令を忠実に実行することになる。しばらく時間が経過すると「おいおい、なんだよアセンブリ言語って意味わかんね読みづらいな」っていうことになり、C言語だとかが開発されていくことになる。今、我々は、基本的にはC言語っていうのは低級言語っていう風に見ている。それは、jsだとかPythonだとかswiftなんていう高級言語(読みやす・理解しやすい)言語から比べたらC言語は古い言語だし、読みづらいからねという印象を受けるからである。

 

まあ、兎にも角にも、CだとかjsだとかPythonだとかswiftだとか、諸々、全部、最終的には機械語に翻訳される、その翻訳の仕事を担っているのがコンパイラーであり、コンパイルという作業とは、プログラミング言語を、機械語に翻訳する作業ということになる。

Pocket
LinkedIn にシェア

エンジニアにおすすめできる本

Card image cap
リーダブルコード

より良いコードを書くためのシンプルで実践的なテクニック

Card image cap
Webを支える技術

HTTP,URI,HTML,そしてREST

Card image cap
誰でもPythonで作れる

儲かるAIとソフトウェアの作り方

Card image cap
プログラマが知るべき97のこと

現場で使える実践哲学のマスターピース

Card image cap
情熱プログラマー

時代を超えて。ソフトウェア開発者の幸せな生き方

Card image cap
アジャイルサムライ

プログラミング達人開発者への道

Card image cap
Rubyを作った男 まつもとゆきひろ

コードの世界 スーパー・プログラマになる14の思考法

ご提供 sponsor
 

Meee!(ミー)は、ビジネスからプライベート利用まで、個人のスキルを気軽に売り買いできるスキルマーケットです。カテゴリや居住地から、検索することが可能です。

 

ランゲージエクスチェンジは、ネイティブスピーカーと気軽にマッチングできる言語交換プラットフォームです。あなたの地元に住む外国人を探したり、留学や海外移住の前に、現地のネイティブスピーカーと繋がることもできます!

宣伝
 

りょすけトークchは、仕事や私生活をより豊にするYouTubeチャンネルです。文献(本、映画、論文)から役に立つ情報をまとめ、生涯にわたり役に立つ哲学をお届けしています。是非、チャンネル登録してみてね

-ホーム

Copyright© offブログ! , 2021 All Rights Reserved Powered by AFFINGER5.