アカウント名:
パスワード:
皆さん、できる人とできない人のレベルの差を知らなさすぎ。関数(メソッド)はおろか、ループすら理解できない人も世の中にはいます。一説には「代入」が最初のハードルになるとか。だからと言って別に頭が悪いとかやる気がないとかじゃないし、もちろん普通に仕事もできます。勉強してそれなりに動くモジュールの作成までできるようになったりもします。でもプログラマが考えるプログラミングの概念はどうも理解できていない。一方では新しい知識をスルスルと吸収して、平均的な新人の数倍以上のスピードでどんどん書けるようになっていく人たちもいます。まあどちらも両極端のレアな例ですが、一般の学習者のレベルはこの間に広く分布しているわけで、これほど習得に個人差のある技術について、「簡単か?」というこれまた個人の感覚的な評価をするのは、ずいぶんナンセンスな話だな、と。
ループすら理解できない人も世の中にはいます。一説には「代入」が最初のハードルになるとか。
はい。最初のプログラミング(大学の夏期講習)では、どちらも全く理解できませんでした。あまり説明もない、「BASICなんてとにかく手を動かせばそのうちわかる」的なポリシーの講習でした。フロッピーディスクをフォーマットしたことと、打ち慣れないキーボード操作に肩が凝って目が疲れたことくらいしか覚えてないです。
だってa=bが代入でA==Bが左右が同じと示すんだぜ。そのくせ同じか小さいと同じか大きいは=なんだ。どう考えても狂ってる。
BASICだとどちらもA=Bですが。まあ本来は代入はLET A=Bとか書くらしいですが省略可能だし。通常はIF文の中なら比較とか判断するんですが、たまにA=(B=C)みたいなのが。
なぜ?lispの代入やループだと理解しやすいってこともないと思うのだが
それは教え方が悪いとしか…。代入は確かにどう教えるのか教師側にもギロンがあって。つーか変数を箱と捉えるか名札と捉えるか流儀があるようだが。ループなんて日常生活でも使うだろうに。単に「同じことの繰り返し」プログラミング言語にLOGOでも使えば幼稚園児でも…。
数学で変数や代入を教えるように教えればよい。中学生なら数学と同じと教えればよい。ポインタや参照は変数ではありません。
ポインタや参照は変数ではありません。
言語により色々。同じ事象も人により解釈が異なる。様々な文化思想、色々な文脈、沢山のニュアンス。それら異なる諸々を表現するために様々な言語が出来て存在する。そういった異文化の存在を知り、理解するのもプログラミングを学ぶことの一つだと思うよ。
普通にプログラムで飯を食ってる人でさえ「やり方を知っている」だけな人は多いですしね値渡しと参照渡しの違いなんか良い例で、彼らは「そういうもの」で理解が止まっていて「なぜそうなのか」は知らないし知ろうともしない。
確かにそれでも仕事はこなるけれど、それで済んじゃう現状は気に入らない
そんな基本的な話で上から目線みたいなのやめれよ。そんなのは優しくスルーして上を見ろ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
ここまでのコメントを見て思ったんですが (スコア:0)
皆さん、できる人とできない人のレベルの差を知らなさすぎ。
関数(メソッド)はおろか、ループすら理解できない人も世の中にはいます。一説には「代入」が最初のハードルになるとか。だからと言って別に頭が悪いとかやる気がないとかじゃないし、もちろん普通に仕事もできます。勉強してそれなりに動くモジュールの作成までできるようになったりもします。でもプログラマが考えるプログラミングの概念はどうも理解できていない。
一方では新しい知識をスルスルと吸収して、平均的な新人の数倍以上のスピードでどんどん書けるようになっていく人たちもいます。
まあどちらも両極端のレアな例ですが、一般の学習者のレベルはこの間に広く分布しているわけで、これほど習得に個人差のある技術について、「簡単か?」というこれまた個人の感覚的な評価をするのは、ずいぶんナンセンスな話だな、と。
Re:ここまでのコメントを見て思ったんですが (スコア:1)
ループすら理解できない人も世の中にはいます。一説には「代入」が最初のハードルになるとか。
はい。
最初のプログラミング(大学の夏期講習)では、どちらも全く理解できませんでした。
あまり説明もない、「BASICなんてとにかく手を動かせばそのうちわかる」的なポリシーの講習でした。
フロッピーディスクをフォーマットしたことと、打ち慣れないキーボード操作に肩が凝って目が疲れたことくらいしか覚えてないです。
Re:ここまでのコメントを見て思ったんですが (スコア:1)
だってa=bが代入でA==Bが左右が同じと示すんだぜ。そのくせ同じか小さいと同じか大きいは=なんだ。どう考えても狂ってる。
Re: (スコア:0)
BASICだとどちらもA=Bですが。
まあ本来は代入はLET A=Bとか書くらしいですが省略可能だし。
通常はIF文の中なら比較とか判断するんですが、たまに
A=(B=C)
みたいなのが。
Re: (スコア:0)
Re: (スコア:0)
なぜ?
lispの代入やループだと理解しやすいってこともないと思うのだが
Re: (スコア:0)
Re: (スコア:0)
それは教え方が悪いとしか…。
代入は確かにどう教えるのか教師側にもギロンがあって。つーか変数を箱と捉えるか名札と捉えるか流儀があるようだが。
ループなんて日常生活でも使うだろうに。単に「同じことの繰り返し」
プログラミング言語にLOGOでも使えば幼稚園児でも…。
Re: (スコア:0)
数学で変数や代入を教えるように教えればよい。中学生なら数学と同じと教えればよい。
ポインタや参照は変数ではありません。
Re: (スコア:0)
ポインタや参照は変数ではありません。
言語により色々。
同じ事象も人により解釈が異なる。様々な文化思想、色々な文脈、沢山のニュアンス。
それら異なる諸々を表現するために様々な言語が出来て存在する。
そういった異文化の存在を知り、理解するのもプログラミングを学ぶことの一つだと思うよ。
Re: (スコア:0)
普通にプログラムで飯を食ってる人でさえ「やり方を知っている」だけな人は多いですしね
値渡しと参照渡しの違いなんか良い例で、彼らは「そういうもの」で理解が止まっていて「なぜそうなのか」は知らないし知ろうともしない。
確かにそれでも仕事はこなるけれど、それで済んじゃう現状は気に入らない
Re: (スコア:0)
そんな基本的な話で上から目線みたいなのやめれよ。そんなのは優しくスルーして上を見ろ。