作者: 機械伯爵
日時: 2007/9/26(13:44)
 機械す。

 入門者のイメージの相違が、多分話の食い違いに出てきてるような気がします。

 ……なんか前にも似たような話を、某御大としたような気が……

> >  いや、醍醐味は良いのですが、それを「プログラム入門者」に見せたら引く
> > のでわ?(大汗)
> 
>   えー。十分短いし、いいと思うんですけど。結構マジです。これで最初のイ
> ンパクトを与えておいて、プロパティへの代入だけでいろんなことができます
> (プロパティの説明は後回し)、という方向に行って、document.title とかで
> 練習を重ねる感じにするかな?  まぁ結局代入から入るつもりのようです。
> (あんまり考えてなかった)

 入門者/初心者のイメージにもよると思いますが、一行の代入構文でさえ、
はじめての場合は理解するのにしばらくかかると思われます。

 ましてや、for構文が面倒なJavaScriptで、配列で、しかもインクリメントとか
使われた日には……

 身近なブラウザをプログラミングの材料とするのは面白いと思うのですが、
もうちょっと敷居を低くしないと、しょっぱなからあきらめてしまう人が
出そうじゃないでしょうか?

 CとかJavaだと、Hello Worldすらとんでもなく敷居が高いと思われる
のですから……

>   最終的には GeekMonkey を使ってブックマークレットを作りましょうって方
> 向に持っていくかなぁ。HTML や DOM の知識は最低限で済むように持って行か
> ないとどっちがメインだか分からなくなりますが。

 HTMLはともかく、DOMは私も未だ全く手探りです(Pythonで時々いじったり
するのですけど……)

>   ブックマークレットにするのは
> 
>  * 実際に動かすために HTML を自分で用意する必要がない
>    * アレなら素材として使いやすそうな HTML をこちらで準備すればよい
>    * 特定の HTML でしか動かなくてもヨシとする
>  * しかし http で公開されている領域に置く必要がある
>  * したがって課題の提出が自動的に強制される
>    * GreaseMonkey にしないのはこのため
>  * そのため学習者がお互いの作品をすぐ動かして相互評価できる
>    * パクりやカンニングは一目瞭然

 いや、情報の授業で生徒に作らせるんじゃないんだから(汗)

 そも大学や専門学校の情報科とかに入学してきた生徒ならともかく、一般の
生徒向けのプログラミングであれば、そこあたりは絶望的ではないでしょうか。

※今年Zopeを使って、まだページ登録どころか、ログイン方法すら理解して
 ないヤツ、居るしなぁ。

 一応、入門者というのは、任意でプログラミングに興味を持ったが、
プログラムを組んだ経験が無い人間、を想定しています。

>   教材として考えるとなると JavaScript はやめるかもしれません。こちらで
> 地雷を避ける工夫をしにくいので。そうなると Ruby かな。

 Rubyも、プログラミング入門者がいじるなら、良いんじゃないかと思いま
す。

 Rubyが難しく(面倒くさく?)なるのは、正規表現だの、オブジェクトだの
関数プログラミングだのが関わった時から、だと思いますから。

※これは実は、Pythonも同じ。メタプログラミングやデコレータあたりの話に
 なると、さすがに簡単とは言えない……あと、py3kで強力になるマクロ機能
 も、間違っても入門者や初心者がいじるもんじゃない……

 そういえば先のJavaScriptのコードを見てて思ったのですが、JavaScriptで
for-each構文に相当するモノって無かったでしたっけ?(Pythonなんかだと、
forはコレしか無いんですが)

 /機械伯爵/

蛇足:
 私の入門者のイメージがかなり低レベルなのは、昔の自分を基準にしてるから
だと思う……