ソフトウェア工学Ⅱ - 小テスト

パラダイムシフト

Q1. 最近のプログラミングの傾向に対して、あなたはどんな対処をしていますか。または、これからどんな対処をしてゆこうと思いますか

 最近のプログラミングの傾向に対して、最近は翻訳言語よりも解釈言語が増えていると聞くので、私はスクリプト言語を中心に学び、時代の流れに乗れるように励んでいきたいです。。ただ、気になるのは翻訳言語の方が実行速度は早いのになぜ、スクリプト言語が普及しているのかという点です。また翻訳言語、解釈言語の間でどういう部分にメリットがあって、どういう部分にデメリットがあるのか、まだ理解できていないので、スクリプトに関する文献を読んでみたいと考えています。 また今後どのような対策をするのかについては、Ruby、Smalltalkをちょっとずつ学んでいきたいと思っています。なぜなら、Rubyに関しては先輩だったり、身内のプログラミングできる人が使っているから(単に興味本意です)で、Smalltalkは今日講義を聴いていたときに、Javaよりもオブジェクト指向な側面が強くて、真のオブジェクト指向プログラミング言語であると知ったためです。

Q2. なぜ手続きからオブジェクト指向的へという流れでプログラミングを学んできたのか、その理由を考えて記入してください。

 手続きからオブジェクト指向的へという流れでプログラミングを学んだ理由は、2つあると私は考える。1つ目はおそらく時代の流れを追うためで、プログラミング言語の歴史を調べてみると、1967年まではプログラミング言語が構造化言語の概念で作られていたが、1967年以降はオブジェクト指向の概念へと移行していった。つまり、手続きからオブジェクト指向的へと移行した意義を考えさせるためであり、「発生を理解しろ」ということを伝えたかったのだと考えられる。2つ目は手続き型を学んだ後に、オブジェクト指向に移ったとき、手続き型だと表現しにくい、または使いにくい部分が見えてくるはずである。それに気づいたとき、オブジェクト指向の概念を理解することが出来、オブジェクト指向特有の利便性を学ぶことが出来る。もしもオブジェクト指向から学習し始めた場合、オブジェクト指向のメリットがわからない。そのため、手続きからオブジェクト指向的へという流れでプログラミングを学んできたと私は考える。

Q3. その他、感想など

 今日、オブジェクト指向の発生に関して、細胞からヒントを得たことを知りました。そして、人間が決して作れない細胞をコンピュータで実現させ、それをオブジェクト指向の概念に位置づけたことを知って、なるほどと思いました。どう、なるほどと思ったかというと、細胞自身は1つ1つがそれぞれ個々の意思を持っているということです。だから、その細胞の意思を無視して、その細胞に対して「直接操作」することは決して許されなくて、細胞1つ1つの意思を尊重しつつ、細胞と細胞がコミュニケーション(メッセージとレシーブ)して、細胞の塊という社会集団(プロジェクト)を成り立たせることが出来る。それこそがオブジェクト指向であると思ったからです。 それから話は逸れますが、青木さんは良くタイピングミスをしない方が良いと言われますが、私は最近レポートを書いているとき、タイプミスをします(例えば「オブジェクト」を「オブジェクオt」というように)。ですので、DownloadImageの感想の部分も、コーディングに置いても、少し間違った部分がありました。今後は、ゆったり確実系男子を目指してタイプしたいと思います。