宮城大学大学院 情報デザイン特別講義2012 「プログラマーの仕事」#3 小飼弾先生 #myu2012
- kamatamadai
- 3578
- 0
- 2
- 1
#myu2012 Lambda Calculusの実例( http://t.co/44YyIjV3 ) 。 これを考えたのは、アラン・チューリングの指導教官だった人。つまり、data→programよりもprogram→dataの方が先に生まれていた。
2013-01-12 15:19:01#myu2012 データとプログラムを互いに行き来する。データをプログラムに入力して、出力としてプログラムを得るという説明(クロージャ)。全言語に含まれるわけではないが、スクリプト系の言語にはある。
2013-01-12 15:26:41#myu2012 弾さん:いまどきのプログラマにはメタプログラム(プログラムを生成するプログラム)が必須の知識になる。データを読み込んでデータを出すだけではなくプログラムを出力するものを書けなければ一目は置かれない
2013-01-12 15:32:09#myu2012 弾さん:メタプログラム的なことを考えるのを癖にして欲しい。何かプログラムを書き終わったらこのプログラムを生成できないかと考える。ただいきなりメタを始めないでまずはベタから始めて欲しい。メタの反対はベタw プログラムを書いて長過ぎると思ったらメタを考えて欲しい
2013-01-12 15:34:45#myu2012 "プログラミングっぽいもの"と、"プログラムっぽくないもの"を分けるものは何か? なんとなく条件分岐が入っていると、プログラムっぽく見えるが、この直感は案外正しい。
2013-01-12 15:43:16#myu2012 弾さん:lsやdir等のOSコマンドはプログラムか?プログラムとコマンドの違い。プログラムと感じるかどうかの分かれ目、それは条件分岐
2013-01-12 15:46:18#myu2012 正規表現がプログラム言語になり得えない反例。"(a*(a+b)+c)"のa+bの部分だけを取り出すことが出来ない。カッコの数合わせが出来ない。。
2013-01-12 15:50:39#myu2012 弾さん:正規表現はプログラム言語か?これを示すには判例を示せば良い。"(b*(a+b)+c)"の中から"(a+b)"を取り出そうとすると"(b*(a+b)"が引っかかってしまう。カッコの数合わせが出来ない。よってチューリング完全ではない
2013-01-12 15:52:38xlockの単純なのしかみたことなかったけどライフゲームは同じパターンを射出するのとか、模様を残しながら移動するのとかいろんなパターンあるんですねー #myu2012
2013-01-12 16:09:38ライフゲームは生物と言えるか?ライフゲームは初期配置で全てが決まる。さて、我々のいる宇宙は初期配置で決まっているか?そうすると我々は生命か?我々の自由意志はなんとする? それは証明されていない。宇宙の初期配置は誰も知らない。 #myu2012
2013-01-12 16:21:17無限にパターンを生み出していくライフゲームの初期配置のドットを一つ消しただけで無限に生み出されるパターンが崩れる。緻密な世界。我々の世界もそうか? #myu2012
2013-01-12 16:23:24