今巷で流行っているプログラミング教室 行くならば
プログラミング教室に行く前にプログラミングの歴史を学んでほしい。なぜ?コンピュータの本質を理解するため!
本質を理解するということは、そのもの(事)自体の正しい意味を知ることであり、わかりやすく伝えたり、深く考えたり、洞察力を高めたりするために必要なスキルです。
本質を理解すると、理解の深さと早さが違ってきます。 それでは行ってみましょう
まず、プログラミングの歴史はとても長く、プログラミング言語は、コンピュータの発展とともに進化してきました。今も進化し続けている
最初のプログラム言語は、機械語やアセンブリ言語と呼ばれる (初期) 低水準言語でした。 これらは、コンピュータが直接理解できる命令を表すものでしたが、人間にとっては読み書きが非常困難なものでした。
例 機械語(バイナリ)
0100100001000000010000110010000001000101010011000100111101001110
0100111101101111011011100110010101110010011001010111001101110100
0000110100001010000011010000101000001101000010100000110100001010
そこで、人間にとってわかりやすい(最近)高水準言語が開発(作られた)されました。これらは、英語に近い単語や記号を使ってプログラムを記述することができました。だから英語ができると得をする!
C言語で書かれたプログラム
int main() {
int x = 10;
int y = 20;
int z = x + y;
return z;
}
機械語とアセンブリ言語の違いは、機械語はコンピュータが直接理解できる0と1のバイナリで表される言語で、逆に言ったら0と1しか理解できないwww
アセンブリ言語は人間が読み書きしやすいように機械語に対応する単語や記号を使った言語です。
アセンブリ言語(x86) 初期と最近の間ぐらい
push ebp
mov ebp, esp
sub esp, 12
mov DWORD PTR [ebp-4], 10
mov DWORD PTR [ebp-8], 20
mov eax, DWORD PTR [ebp-4]
add eax, DWORD PTR [ebp-8]
mov DWORD PTR [ebp-12], eax
mov eax, DWORD PTR [ebp-12]
leave
ret
どちらも同じ動作をするプログラムですが、アセンブリ言語の方が人間にとってわかりやすいことがわかります。
しかし、アセンブリ言語はまだ低水準な言語であり、高水準な言語に比べて記述量が多くなったり、移植性が低くなったりするデメリットもあります。
現在では、数百種類以上のプログラミング言語があります。それぞれに特徴や用途があります。 to be continue