レポート抜粋(6月2日)
<テーマ>
「初めて学習するプログラミング言語としては、文法が厳密でエラーを未然に防ぐタイプのものが良いですか、それとも、記述の自由度が高く融通が利くタイプの方が良いと思いますか?」に関する5/26の厳密文法派と自由度・融通派の意見について
あなたはどちらの説を支持しますか?その回答と、そう支持する理由を、できる限りHPに掲載している意見を参照(引用)する形で説明して下さい。
回答へ
<全般的な感想>
- 文法厳密派、自由度・融通派ともに言っている意見は一理あるのに、その理由となっていることが同じようなことなのが面白いと思いました。
- 今回の授業で、実際にエラーチェックレベルを重視しているDelphiと自由度重視のJavaを具体的に比較していてわかりやすかったと思います。変数の宣言の違いなどを見ていると、私は去年からJavaを使っていたので、変数の宣言をする場所が決まっているというのはすごく不便な気がしましたが、最初からこうゆうものだと身についていれば、使用している変数がすぐにわかって、すごく見通しがよくなるので、見た目にわかりやすくて、意味を理解しやすくなると思うので、変数一つをとっても初心者にはエラーチェックレベルが高いほうがよい気がします。
- 時代の流れなのでしょうか、規定された文法でプログラムを書くのも古いこととなってしまった気がします。
- 今日の講義の中で興味を持ったことは、C++ではエラーが出ないのに、Javaだとエラーが出てしまうという違いの部分に興味を持ちました。a=0というように書くとC++だと間違っているのでJavaだと表示されないのですが、C++だと値は"0以外です"というようにでる理由などを聞いておもしろいなと思いました。もっとより深く知りたいなと思いました。
- (言語の選択については)最終的には、人の好みによると思いました。私は今日知った限りではDelphiよりJavaのほうが好きですが(適度に硬くて柔らかい気がします)、変数の型についての取り決めは、Delphiのルールの方が気に入っています。割り切れない整数型同士を割れば実数型になるのは当たり前ですから、実数型になる答えのための変数をintでなくdoubleと宣言するのは、後から読み返すときに流れが把握しやすいと思います。
<プログラムの開発効率を上げるには>
- 開発効率のためには、再利用を考えるなら厳密な言語がよいと思います。自由文法で書かれているということは、まず十人十色のコーディング法があるということです。開発効率を上げるということは、書かれたプログラムの再利用という点もありますから、もし自由文法言語のソースコードを再利用しようとしたら、どうなるでしょう? 十人十色のばらばらの文法で書かれたソースコードを読みたいと思うでしょうか? 自分の書いたソースコードですら分からなくなるのに……。社会に出てからのプログラミングはスタンドプレイではないので、私は自分にも他人にも親切な、読みやすいコードを読みたいです。
また、エラーチェックも厳密なほうがいいです。実際にクライアントへ納品した後でバグ連発では、目も当てられません。それでは会社と自分の生活が危うくなってしまいます。ですが開発速度に限っては、やはり自由文法のほうがよいでしょうし、クローズドなシステムの開発なら他人に理解してもらう必要性は高くないので、厳密文法で分かりやすく……など考えなくても構わないと思います。