Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2004-10-26)
[go: Go Back, main page]

«前の日記(2004-10-25) 最新 次の日記(2004-10-27)» 編集

Matzにっき

<< 2004/10/ 1 1. ChangeLog
2. 長女の帰還
3. Ruby Conference 2004
4. U-20プログラミングコンテスト表彰式
2 1. 文法のデザイン
2. 初心者パラドックス
3. DSL(domain specific language)と組み込み言語
3 1. 松江、そして岡山
4 1. AC
2. (行ってないのに)RubyConf 2004レポート
5 1. コダック、Java特許訴訟で勝訴--判決に批判の声が噴出
2. tDiary 2.0
6 1. Rubyの教科書
2. コーディングスタンダード
7 1. Skype
2. 携帯電話の2画面特許,NECとドコモ側が東京地裁で勝訴
8 1. [特許]KodakとSun、オブジェクト特許で和解
2. テレビ番組の録画サービス、東京地裁が差し止め命令
3. rubyist.netドメイン
4. Amazonアソシエイト支払い履歴の罠
9 1. 総大会ビデオ
2. キリスト教信仰
10 1. 総大会ビデオ(その2)
11 1. 市立図書館
2. ブラックジャック
3. 来客・家庭の夕べ
4. Skypeコール
12 1. 『ソフトウェアの匠』
2. 島根県が“地元発オープンソース言語”Rubyの講習会,地域のIT人材育成を目指す
3. 知財プロ
4. 『リーグ・オブ・レジェンド 』
13 1. 知財あれこれ
14 1. DRMとDMCRA
2. 突然の仕事
15 1. 忙しい
2. DRMのあるべき姿
16 1. 洗濯機
2. Skypeコンファレンスコール
3. 『Beyond C++』
17 1. 好きな言葉
2. 岡山
18 1. 東京出張
19 1. 地方でのRuby意識
20 1. JASRAC、CCCD廃止の流れに疑問を提示〜船村徹会長ら新役員が会見
2. 台風28号
21 1. コンテンツ業界の硬直化が生む最悪のシナリオ
2. クマデス
22 1. 「Curl」言語普及促進へ新会社
2. 松本零士氏の珍妙なる主張
3. 関西オープンソース 2004
23 1. 関西オープンソース2004に参加
2. recommuni
24 1. 松江
25 1. LogoはLispじゃない(当たり前)
2. Ruby講習会初級コース前半1日目
3. 「300年ぶりの著作権のパラダイム・シフトが起きている」−経済産業省 村上敬亮氏
4. 検索メールリーダー
26 1. Ruby講習会初級コース前半2日目
2. Logoの式
3. 好かれる言語、広まる言語
27 1. 『プログラミングのための線形代数
28 1. 出産と満月
2. 誕生
29 1. 特許は地雷か
2. 名前重要
30 1. 親子活動
2. ハロウィーンパーティ
31 1. 松江
2. 新潟中越地震について
>>
迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2004-10-26 [長年日記]

NEW!_ [Ruby]Ruby講習会初級コース前半2日目

今日はかずひこくんが講師。安心して見てられる。 本人の印象は「ふぇみにん日記」を参照のこと。

昨日も書いたけど、今回は本当の初心者という人はいなくて、 「Rubyのことは知らないけどプログラミングは結構分かる」人の集まりなので、 教えやすい。が、ギークというほどではないので、あんまり難しい話をしてもなあ。 我々も教えるプロではないし、なかなか難しいところはある。

午前中は座学というか、クラスの一通りの説明を行い、 午後は実習主体。例題の選定が難しい。

夕方まで教え切ったかずひこくんは昨日の私同様非常に疲れていた。 そうなんだよ、くたびれるんだよ。

今度は今週末浜田で「体験コース」が開かれる。 定員(12名)近くまで応募があったようだ。

NEW!_ [言語]Logoの式

Logoといえば分からないことがある。

たとえば、

reverse butfirst :a

(reverse (butfirst :a))

と解釈され(reverse, butfirstは1引数の関数)

(reverse butfirst :a)

とは解釈されない。一方、

fput first :a butfirst :b

(fput (first :a) (butfirst :b))

と解釈される(first, butfirstは1引数、fputは2引数)。ということは、アレか、 構文解釈のときに関数定義から引数の数を引っ張ってきてるってことか?

それはどうなんだろう。関数を再定義しちゃう(もちろんLogoでは許されている)と プログラムの解釈が変わっちゃうってことだよね。たしか、Rebolもそんな感じだったと思うけど。

NEW!_ [言語]好かれる言語、広まる言語

Logoといえば「初心者に優しい」というのが宣伝文句だったような気がするけど、 実際には「優しい」のはインタラクティブな環境(とタートルグラフィックス)であって、 言語仕様はちっとも優しくないのね。

言語にとっつきやすいかどうかは、「簡単にいろいろ試すことができるか」で決まり、 言語仕様では決まらない。どんな(良くない)言語でも、慣れ親しむことができれば(忠実な)ユーザが獲得できる。

なんだか言語仕様にこだわり続ける私のような人間にはがっかりするような結論だが、 どうやら世の中はそういうものらしい。とはいえ、逆に考えればそういう条件を満たしていれば、 「良い(言語仕様の)言語」であっても構わないわけだから、 言語屋にも希望はあるのだろうか。

いや、待てよ。

世の中にはいろいろ悪口を言われながらも使われ続けている言語はたくさんある。 というか、広まっている言語は必ずといって悪口を言われている。 逆にさほど嫌われてはいない言語はあまり広まっていない言語に目立つ。

ということは、実は「好ききらいがはっきりするような言語の方が広まる」という仮説は成り立たないだろうか。 広まることを第一に考えると、総花的に八方美人な言語よりも少々「悪い言語」の方が見込みがあると。 それは言語オタクにとっては嬉しくない世界観だな。

「どんな言語でも広まれば悪口を言われるものだ」という考え方もある。 むしろ、こっちであって欲しいと願う、心から。

本日のツッコミ(全5件) [ツッコミを入れる]
_ はらだ (2004-10-27 12:50)

LogoってZ-80でも動いてましたよね.その頃のリソースだったら,これくらいの使いにくさは仕方がないですよね.我田引水で申し訳ないですが,今のリソースで子供向け言語を設計し直したらViscuitになるんじゃないでしょうか.

_ maeda (2004-10-27 13:13)

引数の数を引っ張ってくるのは、構文解釈のときじゃなくて実行時じゃないでしょうか。

Dolittleだとどうなっているのかな。前に聞いたときは「Logoだと子供は言われたとおり入力して遊ぶだけで、プログラムを自分で作るまで行かない。その点Dolittleは…」というような話でした。

_ ao (2004-10-28 03:47)

慣れというものがあるので,まずそれを元に悪口が発生。慣れは慣れでしかなく,仕組みとしてよくできているかどうかとは別の話だけど,混同する人は多いですね。
広まれば,それを使う人に,ものわかりがいい人も悪い人も含まれてくるので,当然に悪口も目立つようになりますね。
あとは,多少出来が悪いほうが批判の余地があって,その分将来的な発展が見込めるってことでしょうか。人間,だらだらしたいしいい加減なもんですから,ポリティックなものより突っ込みどころがあるほうが良くも悪くも好まれるし,注目浴びればどこからか「それを改善しよう」という人も生まれてくるもんですからねぇ。

_ 通りすがり (2004-10-29 20:44)

失礼ながら・・・スクリプト言語は「とっつきにくい」のではないでしょうか? 何故なら実行するまでtypoすら教えてくれないのですから・・・コンパイルで文法チェックをしてくれる言語の方がとっつきやすいのではないでしょうか?

_ まつもと (2004-10-29 21:01)

その考えは理解できます。
が、実際は速いインタラクションのほうが好まれるようです。
おそらくは初心者はでバッグが大変なほど複雑なプログラムを作らないので、コンパイルによるチェックの嬉しさを享受することがそれほど多くないせいではないかと思います。

お名前:
E-mail:
コメント:
本日のリンク元
検索

«前の日記(2004-10-25) 最新 次の日記(2004-10-27)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.