オブジェクト指向でなぜつくるのか - 第3章

第3章 OOPを理解する近道はプログラミング言語の歴西あり を読んでの所感

 

この章では、機械語からOOPが考案されるまでの歴史を書いています。

機械語アセンブリ言語高級言語→構造化プログラミング言語OOPの流れですね。

自分の中での言語の構造?の分け方は「低級言語(機械語)←→ 高級言語C#とか)」みたいな対立したイメージだったんですが、「低級言語(機械語アセンブリ言語)←→ 高級言語(構造化プログラミング、OOP)」で、構造化プログラミングやOOPの中にC言語Javaなどの言語が存在している感じなんですね。

 

構造化プログラミングの特徴である、①順次実行 ②条件分岐 ③繰り返しは、プログラミング言語自体の特徴という認識だったので、自分の認識違いに気づけて良かったです。

 

文中でサブルーチン、メインルーチンという個人的には慣れない言葉が出てきて、意味もプロシージャや関数の別名のようなので、メソッドって書いてくれた方がわかりやすいなーと思ったけど、メソッドはOOPの用語になるので、ここでは出ないのか!って当たり前のことを思いました。

 

機械語が考案されたのが1940年代(wikipedia参照)で、そこから現在までのプログラミング言語の歴史を知って、当たり前だけど、今使っているOOPが唐突に出てきたわけではなく、それまでの言語の課題を解決するために考案されて改善されてきているんだなと感じた。やっぱり今までの歴史を知ることで、今の技術に対する理解や関心が深まったと思います。

 

次世代のプログラミング言語は、HaskelやScalaなどの関数型言語が推されているらしいです。なかなかそこまで手を出す技量がないので試せないですが、自分が現役の間に、大きくプログラミングの環境が変わったりするのかと興味半分不安半分の気持ちです。