宮城大学大学院 情報デザイン特別講義2012 「プログラマーの仕事」#3 小飼弾先生 #myu2012
- kamatamadai
- 3574
- 0
- 2
- 1
#myu2012 弾さん:SafeとSecureの違い2。SecureにすることでUnsafeになることもある。例えば「パスワードを長くしてSecureにしました→間違えやすくなってUnsafe」など
2013-01-12 14:02:50#myu2012 弾さん:事件が起きたら鍵を増やせとやる前に何故事件が起きたのかを考える。世界が何故ほとんどの人は明白な悪意の対象にはならない。恨みを買わないというのはそれだけでSecureになる
2013-01-12 14:10:50#myu2012 弾さん:1から100までの数字を書くときにそのまま書いてはマス目は100個必要となる。これを10個ですませるにはどうするか?Perlでは「1..100」とかけマス目は6つですむ
2013-01-12 14:32:13#myu2012 プログラムを簡単にかける言語 → 言語が複雑になる。対偶は、言語が簡単 → プログラムが簡単に書けない? ということを示していきたい・・・ということで「Brainf**k」というプログラムの話題。
2013-01-12 14:37:56#myu2012 弾さん:プログラム言語は「あるものを簡潔に書きたい」の簡潔にする考え方の違いがいろいろな言語が生まれている一因
2013-01-12 14:38:13#myu2012 弾さん:プログラムを簡潔に書けると言語は複雑になるという傾向がある。これの対偶は言語が簡単になればプログラムは複雑になる。それを本当かを見てみるために「Brainfuck」で実演
2013-01-12 14:47:28#myu2012 fizbuz問題をBrainfuckで書いたコードと、Rubyで書いた問題の比較。命令が8個しか無いBrainfuckのコードの方が、Rubyのコードよりも短くなっている。。。
2013-01-12 14:50:58#myu2012 弾さん:同じ処理をBrainfuckで実装したものとRubyで実装したものでは+-<>[]と記号が並ぶBrainfuckと比較的人間の言葉に近いRubyではRubyの方が読みやすい。簡単な言語ほどプログラムは長くなる
2013-01-12 14:55:53#myu2012 「Hello, world!」はデータか?プログラムか? → PHPやHaskellだと「Hello, world!」はプログラムとして有効
2013-01-12 15:02:24#myu2012 弾さん:「Hello,world!」とただ書かれていたらそれはデータかプログラムか?会場ではデータという意見が多かったが、PHPであればこの記述だとこのまま出力される。何がデータで何がプログラムかは言語が決める!
2013-01-12 15:03:23#myu2012 世の中のプログラム言語は、プログラムの中にデータを埋め込む感じ。では逆に、あるデータをプログラムとして表現することは可能か?
2013-01-12 15:09:40#myu2012 data→programはチューリングマシン。program→dataはChurch calculus(lambda calculus) http://t.co/ZnccbCZK
2013-01-12 15:13:53#myu2012 弾さん:データをプログラムに埋め込むのではなく、データをプログラムで表現することは可能か。ソースコードと言うデータがプログラムになるのが言語とするとその逆は可能かということ
2013-01-12 15:14:02#myu2012 弾さん:data→プログラムはチューリングマシン、プログラム→dataはChurch(Lambda) calculus。Church calculusではプログラムを入れ子にすることで数を表現するという形でプログラムでdataを表している
2013-01-12 15:18:20