Pythonとサラリーマンと

2020年6月にPythonを始めたサラリーマンのブログです。

『痛快!コンピュータ学』を書き留める

この本で学べること

  • コンピュータが生まれた背景
  • コンピュータの発展の歴史
  • コンピュータが行っていること

1999年に出版された本。20年前に生まれた本。
しかしながら読み応え抜群。
一言で言うと、「この本を読めば、スマホが出て来たことの必然性が分かる。」と言う感じ。
キーワードは情報理論。あらゆる情報は0と1で表現できるという発明。
この情報理論の本質の理解には至っていないが、コンピュータが0と1で動いているということがどういうことなのか、その概要を知ることができる。 以下に印象に残ったポイントを書き留める。

コンピュータを産み、育てたのはアメリ

コンピュータの誕生には"戦争"と"天才"が必要だった。
戦争に勝つための必要に迫られて行われた巨額の投資の上で初めてのコンピュータが誕生した。
この巨額の投資と、20世紀中盤に活躍した天才達によってコンピュータは形作られていく。
その後、アメリカは1999年の大統領白書でデジタルエコノミーを提唱した。
21世紀も経済大国No.1を維持するため、IT産業に投資し、インターネットを全国に配備し、次世代を担う子供達に最高水準の教育を提供するのだと。
アメリカは戦争で勝つためにコンピュータを発明し、経済戦争に勝つためにコンピュータを発展させた。

クロード・シャノン

1948年。クロード・シャノンが『情報理論』と呼ばれるようになる論文を発表する。それまで万能の学問のように捕らえられていた物理学でも解き明かせない"情報"の重要性を初めて論じた。世界は物質とエネルギー、そして情報と言う三大要素で構成されていると。

ENIACノイマン

世界最初のコンピュータは ENIAC。その発明に大きな貢献をしたのがノイマン
ソ連の核弾道の軌道を超高速で計算するために、ENIACが発明された。

ブール代数

19世紀イギリスで数学者ジョージ・ブールがブール代数を生み出した。
それまでは言葉でしか表現されていなかった論理学を数学を用いて表現したのがブール代数
0と1で論理の数学化に成功した。

言語の進化

コンピュータは0と1しか理解できない。これが機械語
ちょっとだけ人間にとって分かりやすくしたのが、アセンブリ言語。それを機械語に翻訳するのがアセンブラ
さらに人間にとって分かりやすくしたのが高級言語コンパイラ or インタプリタによって機械語に翻訳する。

CPUとメモリ

CPUは演算を担当。記憶は苦手。 記憶はメモリが行う。

アルゴリズムでコンピュータを効率よく使う

コンピュータは逐次処理(順番にタスクを処理する)ことしかできない。
その生まれ持った癖を理解して、コンピュータが効率よく処理できるように指示することが大事。
その指示書のことをアルゴリズムという。

UNIXLinuxWindowsMac

コンピュータをみんなで一緒に扱えるようにしたのがUNIXベル研究所で作られた。
UNIXは高性能コンピュータでしか使えないOSだった。パソコン用UNIXを開発しよう!とリーナス・トーバルズが開発したのがLinux
マイクロソフトIBMに提供していたOSはMS-DOSMS-DOSCUI操作だったが、GUIで操作できるOSとしてWindowsが登場。
MACゼロックス社のALTOを参考に開発された。
MACは自社ハードにこだわり、WindowsはOS売りを下から覇権を握れた感じ??。

インターネットの始まりもまた、戦争

アメリカは「ソ連から核爆撃食らって、コンピュータ壊されたらヤバイやん!」と言うことで情報を分散させて保管する必要性に迫られる。 そこでARPAネットと言うネットワーク技術を作り上げた。一つの経路がやられても、迂回路から情報を運べる設計。

WWW

研究論文を効率的に管理するためにハイパー・テキストが考案される。
クリック一つで、他の文書に飛べる。
世界初のグラフィック表示可能なWWWブラウザは「モザイク」。
そこから商用ブラウザの「ネットスケープ・ナビゲータ」が生まれた。

以上

www.amazon.co.jp