ソフトウェアの全体像
差し当たって、 ソフトウェアは基本ソフトウェアと応用ソフトウェアに二分されるということをしっかり覚えよう。
ソフトウェア
プログラミング言語
皆さんは、人に何かお願いする時、言葉でその内容を伝えますよね。しかし、コンピュータは人間の言葉を理解できません。 コンピュータは流れる電流の電圧の大きさをもとにCPUというハードウェアで処理を行い、 何かしらの成果を生み出します。 極論を言えば、私たちが手で電流の大小を調節すれば良いのです。 しかし、毎回手でそれを行うのは面倒な上、ミスを引き起こします。 そこで、処理をまとめて記録しておいたものをプログラムといいます。 そのプログラムを参考に実際に電圧を上下させているものを便宜上プロセスと呼んでいます。 プログラミング言語は、人間がやって欲しいことを電流に翻訳するために存在します。
機械語(バイナリ)
0
と1
だけで記述されます。0
は電圧が低い状態、1
は電圧が高い状態を表します。
つまり、0
と1
だけで記述したファイルが完成すれば、もうコンピュータはすぐに処理を始められます。
コンピュータができた当初は、人間が頑張って機械語を書いていました。しかし、人間にとって理解しづらく、効率も悪いです。
ここから、機械語をなるべく人間が描きやすいようにする努力が始まります。
「プログラミング言語」の歴史は、0
と1
でしか表されない機械語をなんとか人間にもわかりやすくするための苦闘の歴史です。
まずは、せめて文字だけでも人間にも理解できるようにしたのがアセンブリ言語です。
アセンブリ言語
とはいえ、アセンブリ言語は、0
と1
だけで書かれた命令を置き換える呪文のようなもので、複雑な処理は全くできませんでした。そこで、より人間にとってわかりやすい言語の開発が始まります。
上級言語と言語プロセッサ
このように、人間はどんどん自分達がわかりやすい形でコンピュータに命令を送ることができるようになりました。
自然言語
そして生成AIの進化によって、もはや自分達が普段話す言語(自然言語)で命令を送ることができるようになってきています。英語圏でバズったXの投稿では、
The hottest new programming language is English
今最もアツいプログラミング言語は英語だ
と言われています。