目的ベースでプログラミングを学ぶ場合における複数言語アプローチの可能性
- middlander
- 2992
- 0
- 1
- 0
興味を引かれて「がまぐ!」を読んでみたけれど、かなり面食らった。大量の前書きと唐突なソースコード。対象読者を要約すると「覚悟完了してない初学者」だと思われるのだけど、95%は速攻で脱落すると思った。ので全体的な論調と.. http://togetter.com/li/109788
2011-03-10 02:37:40ふと思ったのだけど、目的ベースでプログラミングを学ぶ場合、段階に応じて言語を乗り換えていっても良いのではないだろうか。100%思いつきなので強い根拠はないけど。
2011-03-10 02:47:14言語を乗り換えることに対する批判は容易に想像できる。特に「学習者が今まで学んだ内容を破棄することはモチベーション低下に繋がる」といった類の指摘は避けられないだろう。でも本当にそうだろうか?
2011-03-10 02:50:19少なくとも同じ手続き型言語であれば、思考様式は変わらないのだ。「書き方は違うけど、やってることは同じだね」と学習者に思わせることが可能であれば、全体としてのハードルは下がるはずだ。
2011-03-10 02:54:25例えばHSPなりSmall Basicなり学習が容易な言語で、いちど簡単なゴールに到達させたのち、次のようにアプローチする。「Easyモードはお楽しみいただけたかな?だけどもっと難しいことをやるなら、Hardモードに進んで新しいことを学ばなきゃいけないんだ」
2011-03-10 03:00:52そんなの上手く行きっこない、という疑念は強くあるだろう。ぼく自身も感じる。その源は、少なくともぼくの場合、ひとつひとつの言語を区別して学ぶという学習体系を経て今の自分があるという成功体験だと思う。まぁ無職なうなのがどう成功なのかは置いておいて欲しい。
2011-03-10 03:16:10でもぼくの知る限り、いかなる題目を唱えたにしても、一からプログラミングを学ぶタイプの入門書はすべてひとつの言語のみを扱っている。だから色々な道を模索した上での感覚ってわけじゃなくて、つまり何の根拠もないわけだ。
2011-03-10 03:21:47目的ベースの入門書であってもひとつの言語しか扱わないというのは、特定の言語の入門書をベースにしているという側面が多分にあるというだけで、それがたったひとつの冴えたやり方ってわけじゃないと思う。
2011-03-10 03:26:16文法は異なるけど本質的には同じもので難度が異なる、という関係のものは他の分野にもあって、易しいものから入って難しいものへステップアップしたという経験がぼく自身にはある。
2011-03-10 03:32:34例えばぼくのFPS経験はそのもので、最初に間口の広いものから入って強い興味を覚え、次第に競技性の強いものをプレイするようになっていった。最終的には初心者が即死しまくるような非常にシビアなものを遊んでいた。
2011-03-10 03:41:40他にも、上手く行ってるかは知らないけど、どうぶつしょうぎと将棋なんて例もある。面白いというモチベーションの前では文法の違いなんて些細なものに過ぎないはずだ。だから本当にフォーカスすべきなのは、大いなる面白さをいかに学習者に与えるか、であるべきだ。
2011-03-10 03:55:56@middlander 入門書、プログラムに入門するという点では複数の言語を扱うメリットよりデメリットのほうがかなり大きい気がします。
2011-03-10 03:29:29@kis 仰るとおり、プログラミングそのものに入門する場合、複数の言語を経るメリットは殆どないと思います。一連のtweetは「ゲームが作れるようになりたい」みたいな目的ベースで学んでゆく場合を前提に考えてます。via. http://togetter.com/li/109788
2011-03-10 03:36:22@kis です。あ、創るJava読みました。理屈的な部分よりも、わかりやすさとか楽しさを優先していくべき、というアプローチは大変参考になり、たぶんこの話の着想の元にもなってます。目的次第では複数の言語を跨ぐほうがより入りやすいのでは?というアプローチとご理解いただけると幸いです。
2011-03-10 03:49:54@middlander 読んでいただいててありがとうございます!わかりやすさや楽しさの中に、どう理屈を織り込むかというのが苦労したところでした。複数言語を跨ぐ場合には、よりプログラムとは何かみたいなメタな部分の動機が強くて、その理解力があるというのが前提に必要な気がします。
2011-03-10 03:59:23@kis 確かに学習者の理解に依る部分は大きくなりそうです。ただ、万人にプログラミングの適正があるわけではなさそうなので「君にはHardモードはクリアできなかったようだね」で片付けてしまいたいという気持ちもあります。XD via. http://bit.ly/fxIRfD
2011-03-10 04:04:42@middlander まあ、目的はっきりさせて、ついてこれる人だけを相手にするというのはありでしょうね。そのほうがコンテンツとしておもしろくなると思うし。
2011-03-10 04:15:19昨夜少し書いたけど、Small Basicは初学者にとても向いてる言語だと思う。こんなこと言うと笑われるかもしれないけど、まず見た目がとてもキャッチーなのだ。かわいい。
2011-03-10 13:22:16それにチュートリアルがとても良くできている。何を作るにしてもGUIで何かが動いてくれて、学習者を楽しませてくれる。実際、プログラミングがそこそこできるぼくが触れても、自然とニヤニヤしてしまうぐらい楽しかった。
2011-03-10 13:24:17他にも、ソースコードの共有が簡単にできるのも利点だろう。サンプルコードの入手が容易だし、誰かにコードを見せて相談に乗ってもらうこともできる。
2011-03-10 13:27:20どうやら日本語化もされたみたい。チュートリアルも翻訳されたものがある。みんなSmall Basic触ってみるといいと思うよ。 特に @sfiorire とか。
2011-03-10 13:36:38