えーと、物書きにあるまじきこと、と言われそうですが、 私、「年末進行」なるもののこと、すっかり失念しておりました。
正直、普段の月よりもずいぶん早く原稿の催促を受けて、 少々パニクっております。しかも、先月のうちに考えていたテーマについて、 いざ書こうと思ったら、全然筆が進まない、という。
悩んだ揚げ句、当初考えていたのとはまったく違ったテーマになった。 今月は「バージョン管理」。RCSとかCVSとかSubversionとかgitとかの話。 ここ数ヶ月Rails周辺について話してきたけど、 正直、ちょっと飽きてきたので。まだ、Rails本体の話になってないのに。
我々が子供のころには、コンピュータ(「マイコン」と呼ばれていた)は、 まだなにもできない存在で、私と同世代は、 その上でBASICでASCIIキャラクタを動かして 「ゲームのようなもの」を作ることでプログラミングを学んできたと思う。
しかし、今はそんなことはできない。コンピュータはチープなものではなくなり、 プログラミングの対象ではなく、道具に成り下がってしまった。 私の子供はコンピュータのユーザではあるがプログラマではない。 プリインストールされているソフトウェアが提供してくれている処理を使うことはできても、 コンピュータをコントロールすることはできないし、新しい可能性を切り開くこともできない。
が、リンク先のエントリの
ということはつまり、今チープな作品に出会える場を探すとすると、 技術的な制約があるなど何らかの理由で 「へぼくても許される感」が残っているところにこそ、 チープ教育の素地があるのかな、と思います。
今の学生は、作品を作ることにおいて、 「無意味なポジティブさ」を何から学ぶのでしょうか。 携帯電話の制限された環境の中でちっちゃいゲームを作るのもいい。 ブログも文章作品のチープ教育に一役買っているような気がします。 YouTube や iMovie や携帯についたビデオカメラは、 映像作品のチープ教育を手助けする可能性を秘めています。 チープ教育の芽は、探せばまだいたるところにありそうです。
というのは、希望が持てた。 チープ教育の「場」の提供。これはプログラミング教育における新しい視点かも。 知ってる人にとっては「とっくにわかってるよ」ってことかもしれないけど。
なんと、世界初のeRubyに関するカンファレンス...、 ではなくて、 エンタープライズRubyカンファレンスなんだそうだ。
Bruce Tate (『Beyond Java』の人。元Javan)、 Jim Weirich (Rakeなどの人。元Smalltalker)など 有名人がスピーカーに並んでいる。
2007年2月9日から11日まで、オハイオ州コロンバスで。
ちょうどその頃アメリカにはいるんだけどなあ。 オハイオはシリコンバレーからは遠いよなあ。
This work is licensed under a Creative Commons License.
Enterprise Rubyというのがいいですね。わたしの脳内プロジェクト(妄想のこと)としてはSMPスケーラビリティとかcache awareな実装とかがあります。
チープ教育、大いに結構です。逆に今の若者は、恵まれた環境で損をしていると思います。言い換えると、楽な環境を最初から得ているため、物事の根底の部分が理解できていないと思うことがしばしばあります。私がコンピュータ保守の職に就いた頃は、仮想記憶の概念もなく、保守用の便利ツールはコンソールからマシン語を直接入力していました。そのおかげで、コンピュータのハードウェア動作が良く理解できました。また、当時はZ80や8080をCPUとしたPCしかありませんでしたので、BASICで処理が間に合わないところはMASAMで作り込んでいました。そうなると、64KBのセグメントを超える操作を行うには、仮想記憶のハードとソフトの両面を学習する必要がありました。仮想記憶を使わない処理は既に身に付いていたので、今までの知識にアドオンするだけで済みました。しかし、現代のCPUは仮想記憶のみならず、高速化や可用性を高めるために、あらゆる技術を注ぎ込んでいます。今の若い方が、コンピュータの業界に立ち入ろうとすれば、これらの技術を一気に覚えなくてはならないわけです。これにはとても大きな労力を要します。一度チープな環境で学習すれば、基礎的なチカラが身に付きますので、下地は完成します。社内でも良く感じるのですが、本質が解っていないのにあれこれと口を挟む人が増殖しているのはチープ教育が不足しているのではないかと感じた次第です。
Rubyがチープというわけではありませんが、私は、RubyをCygwin上でコンパイルして、いろいろと勉強させていただいております。<br>うちの子供が、プログラミングをやりたいといいだしたら、迷わずRubyをやらせたいと思います。<br>ところで、Rubyに本当のThreadを実装していただければ、Threadについて勉強させていただきたいと思います。
ありがとうございます。<br>「本当のThread」がどんなスレッドか分かりませんが、Rubyのスレッドも並列処理の概念が理解できる程度にはホンモノだと思いますよ。<br>確かにpthreadは使ってませんし、ユーザレベルで実装されたものですが、Rubyくらい抽象度が高くなっちゃうと、pthreadを使ってても使ってなくても、気がつくほどの違いにはならないと思います。
マイコン使ってロボットをいじったりしてると、こういうのもチープ教育かもなと思いますね。
まつもと様、ご回答いただき有難うございました。<br>まつもと様のご教示の通り、Threadの勉強については、Rubyの仮想Thread(?)からはじめさせて頂きたいと思います。