自由度・融通派を支持

0.全般的に支持

  1. 私はやはり今回の講義を聞いて、初めて学習するにふさわしいのは自由、融通がきくプログラミング言語だと思います。ホームページに掲載されている自由度・融通派の意見である「プログラミングの楽しさを覚えてから」「エラーの原因を追求し、判断、修正する」というのはプログラミング言語を初めて学習する上で一番重要であり、何事にもいえる事ですが、その物事に対して「興味」をもつという点で一番大切な要素なのではないでしょうか。まず自由にプログラムを作ってみて、作る楽しみ、エラー発生時の要因を考える、などの事(の方)が、厳しいエラーチェックで縛られて取り組む事より、初心者には必要なのだと思います。厳密文法優先派のプログラミング形式に対しての理論がどうとかいう意見は初心者の目線からの意見ではないのではないでしょうか。

T.初心者には、最初のハードルを低くして、まず慣れることが先決

  1. 先週のレポートで私は厳密なプログラム言語の方が良いと思っていましたが(厳密な方が正確性があるので)、今回の授業で出てきた色々な意見などを聞いていると、初めて学習するにふさわしい言語は、厳しさも必要ですが、最初のうちはやさしい言語で慣れさせる「自由度・融通派」の説の方に考えが傾きました。なぜその説を支持するかというと、最初のうちから厳しい言語を学んで、エラーが沢山出てプログラムに対するモチベーションが下がってしまうよりも、やさしい言語からはじめて徐々に慣れていき、それから厳しい言語(Delphiなど)にチャレンジしていけば良いと思うからです。
  2. 自分が支持するのは、自由度・融通派です。なぜかというと今回のテーマが「初めて」学習するのにふさわしいプログラミング言語はどちらかという事だからです。やはり最初はプログラミングの文法や言語の厳密性を理解するのではなく、プログラミングという事に触れてそれがどんなものか、どういうことができるのかなどプログラミングということについてなんとなくでもいいので知る事が大切だと思うからです。これはプログラム言語だけに限った事ではないとおもいます。
  3. "最初のハードルを低くしてまず慣れることが先決"←その通り!!やり込めばやり込むほど個人の力がアップするのは確実。"できる"という感覚を実感しなければ何も始まらない。水泳の初心者にいきなり一キロ泳げ!と言ったら正直部活を続ける気は無くなる。それと同じだ!
  4. 初めて学習するのにふさわしいプログラミング言語として、"自由度が高く、融通の利くもの"を支持させてもらいます。 重要なのは、どちらの説を採るにしても、まず"慣れる"ということで、その中でも特にキーボードを使うことに慣れるということは、最優先してもいいのではないでしょうか。 その次として、どんなものでもいいから、"とりあえず走らせてみる(run,実行する)"ということだと思います。その結果から、"どの部分をいじってどうなった"など考えていけば、あとは個人の力量に応じてステップアップする。そういうプロセスの方が重要ではないかと考え、プログラム学習の初めにふさわしいのは、"自由度が高く、融通が利くもの"という説を支持します。
  5. 最初は、厳密文法派の方が、効率よくプログラミングを学べるのではないか、という考えでしたが、回答1の「初心者には、最初のハードルを低くして、まず慣れることが先決」というのを見て、確かにそうだと感じました。それにも書いてあるように、初めて学ぶのだから、まずプログラミングに慣れるということが大切だと思いました。まだ慣れてもいないのにエラー表示ばっかり出てしまうと嫌になります。
  6. 初めて学習するプログラミング言語は自由で融通が利く方が良いと思います。
    「初めて」ということなら、最初から厳密にエラーを防ぐタイプより、プログラミング言語になれるという方が大事だと思うからです。} と講義用の自由度・融通優先派@の人の意見にもある通り私自身も人間物事に興味を持ちそれについて深く学ぼうと考えるに至るには、「とっつきやすさ」が重要だと考えているからです。

<厳密文法派からの反論>

  1. プログラムに「慣れるために」自由文法のプログラムを習うほうが良いというのは、若干間違っていると思います。確かに厳密文法は記述が面倒ですが、今日出てきた中でだけ判断するなら、言語の特徴は変数や演算子、制御構造の仕様に集中しているように見えます。ならばそれぞれを厳密に細かく考えて、頭を整理してくれるほうが初学者には優しいように思います。更に、『変なくせ』をつけてもらっては後々他の言語に移るときに困るということもあります。厳密なのは正確さを求めるが故なので、正確さ=プログラムの基礎知識を身につけてもらえればそっちのほうがいいです。『厳密だと大変』と書かれる人もいますが文法が厳密になると、そんなに大変でしょうか? 純粋に「慣れるため」のプログラムなら、大して難しいものでもありません。せいぜい数十行です。「慣れる」とは「段階を経て学習していく」ことでしょうから、あまり関係あることだとは思えません。
  2. 記述自由度の高い方が良い方の意見に「初心者には、最初のハードルを低くして、まず慣れることが先決」とありますが、自由度の高い言語から入るとプログラミングの根本的な基礎を理解せずに慣れてしまい間違ったまま覚えてしまう恐れがあると思うので、初心者こそ文法は厳密なものを学ぶ方がよいと思います。

U.エラーを出すより、とにかく動作させる楽しさを知ることが大切

  1. 先週と同様に私は記述の自由度が高いほうを支持します。なぜなら、"初めて学習する"のならより楽しく、より好きになるということが大切だと思うからです。 また、『自由度が高く、融通の利くプログラミング言語なら「こういう書き方はどうだ?」みたいに、色々試してみたくなりますし(興味をそそる)、それでエラーを出さずにコンパイルされたら楽しいと思うからです。』という意見には共感できました。色々試してみたくなったらハマッてる証拠ですから。そうなったら後は楽しいはずです。楽しさを知ってしまった後の苦労というのはそれほど辛くはないと思います。以上のことから私は記述の自由度が高いほうを支持します。
  2. 私は、今回の講義を聞いて意見が変わり初めて使うプログラム言語は自由度の高いものが良いと思いました、それはエラーを出すより動く楽しさを体験するという意見に賛成するからです、去年プログラムを習いエラーが出るとやる気が無くなるのを思い出したので、やはりやる気を出させるためにもプログラムを動かしているという自信をもたせるためにも自由度の高い言語が良いと思いました。
  3. 私は、自由度・融通派を支持します。なぜなら、「はじめから文法的に厳しくしてしまうと、プログラミングの楽しさを知る前に嫌いになり挫折してしまう」(HPから引用)ということが一番大事だと思ったからです。何を学ぶにしても、スポーツをするにしても、一度苦手意識を持ってしまうと、そこからスキルアップをするには大変なことだと思います。プログラミングは難しいことですが、自分のやる気と努力次第で無限大にまで広がる知識だと私は思っています。こういったことを考えると、まずプログラムを作る楽しさ、完成した作品を実行したときの達成感を知り、次はもっと大きなプログラムにチャレンジしよう、といったチャレンジ精神を掻き立てることが大事だと思いました。

<厳密文法派からの反論>

  1. 実行してみて、プログラムが動く楽しさを知るという意見があった。確かに、プログラムをとりあえず動かすことができるのがJavaだが、正しく動かすことができなければ楽しくないと思うし、学習するという点からは課題を的確に解いて自信をつけることが大切だと感じます。
  2. 初心者にとっては自由度を高くさせて楽しいと思わせてからプログラミングを習わせたほうがいいから「自由度が高く融通の利くタイプ」の方がいいとも思えるのですが、最初にきちんとした書き方を身につけないと楽しむものも楽しめなくなるのではないかと思います。楽しんでプログラミングをするというのはまず文法をきちんと覚えてからだと思います。

V.未然に防ぐよりもエラーを体験する方が、理解が深まる

  1. 厳密文法が適すると回答した人の中で、何も知らないうちから厳密なプログラムを書くほうが、後々役に立つと回答しているけど、最初から厳密なプログラムを経験するよりは、ある程度エラーや間違いを経験してからでも遅くないと思いました。なぜなら、エラーというものを経験しないまま学習するのは、それこそ後々役に立たなくなってしまうような気がするからです。間違いをしながら学習することは自分のためにもなるし、間違いを正すというのも勉強になるからです。まずはハードルを低く設定したものから始めて、厳密文法に取り組む方が柔軟な考え方が生まれると思います。
  2. 回答のなかで、自由度が高く融通が利くタイプのほうがエラーを起こした部分を理解するためにプログラム上で認識するよりも実際に動かしてみて、そのエラーが起こった原因を追究し判断、修正を行うほうが知識として身に付くと思うという意見がありましたが、私もそのとおりだと思います。やはりエラーがなぜ起きたのかを自分で考えることによって、これからそれが起こったときにでも対処が出来るようになると思います。

<厳密文法派からの反論>

  1. 「前略…エラーを未然に防ぐよりも、エラーを体験し、そのエラーの解消法について自分で考えることによってプログラミングの書き方を学べるし、そちらの方が(なぜ)エラーが起こったのかを自分で考えるのでより身につくと思われ、…後略」という意見があります。しかし、「記述の自由度が高い」場合、どこにエラーが発生しているのかなぜエラーが発生しているのかがわからないといったことが起きると思います。そうなってしまうと、解消法を考えるという前に行き詰ってしまい、投げ出したくなると思います。
    また「エラーを体験することにより、プログラムの文法も内容も覚えていけると思います。エラーを厳密にしてしまうと、どうしてエラーになってしまったか調べたり理解したりする機会が減ってしまうような気がします。極端にいえば、数学の勉強をするのに公式を暗記して、式の中身を理解していないのと同じことだと思います。やはり学習するという点で見れば、エラーをみつけてどうしてエラーになったのか考える場を与えたほうが良いと思います。」という意見もありますが、これはエラーが出た際に、面倒でもデバック作業やトレース作業を行うことで十分に対応できると思います。デバック作業やトレース作業もプログラミングの一環であるので、初めての学習の際にもこのような作業をしておくことで、実践的な力がつくと思います。
  2. エラーを体験する方が、理解が深まるというのも当然のことですが初心者にそんなことができるとも思えません。体験する前にエラー表示を見てエラーを回避していき、なぜそのようなエラーがでてくるのかを発見していくという方が初めて学ぶ場合にはいいと思います。
  3. (ここの)意見にはあまり同意できません。(例えば)「文字リテラルが閉じられていません」というエラーがありますが、初心者がこれを読んで理解できるでしょうか? 初心者同士が『どうしてエラーになったのか考え』ても、エラーの原因が分かるとは思えないのです。
  4. うまく動作せずエラーがどこかも分からないという場面に遭遇したら、やはりプログラムの難しさを実感するのではないかと思う。そしてそれは初めてプログラムを学ぶ人にとってとても難易度が高いと思う。 簡単なプログラムを実行するのなら、多少の間違いがあっても自分で直せるだろうし融通も利くかと思うが、ちょっとしたエラーのせいで上手く実行されないとき、つらくてたまらなくなると思う。エラーが未然に分かればその行やその行に関連のある行を確認するだけでエラーが見つかる。なので初めて学習する言語は、やはり厳密なプログラムがいい。