タグ

ブックマーク / nishiohirokazu.hatenadiary.org (5)

  • 他の言語に慣れた人がPythonを使ったときにつまずきがちな10のポイント - 西尾泰和のはてなダイアリー

    今日質問されて、以前Twitterで書いたのを思い出して、そして検索性が悪くて見つけ出すのに苦労した。こちらに転載しておく。詳細は気が向いたときに埋める。 オプション引数の評価タイミング Rubyではオプション引数は関数が呼ばれるたびに評価される。 def foo() print "foo!" end def bar(x=foo()) end bar #=> foo! と出力される bar #=> foo! bar #=> foo! Pythonでは関数の定義時に1回だけ評価される。 def foo(): print "foo!" def bar(x=foo()): pass #=> foo!と出力される bar() #=> 何も出力されない bar() 「引数が省略されたら今の日時」みたいな毎回評価したい場合はデフォルト値をNoneにしておいて「Noneだったら=省略されていたら」のif

    他の言語に慣れた人がPythonを使ったときにつまずきがちな10のポイント - 西尾泰和のはてなダイアリー
  • 書評:アンダースタンディングコンピュテーション - 西尾泰和のはてなダイアリー

    監訳者のささださんから「アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで」を頂いたので紹介。 「プログラムの『意味』とは何か?」という抽象的な問いに真っ向から挑む。プログラムの「意味」には、「それによって計算機がどう操作されるか」で表現する方法と、「それを別の(もっとシンプルな)言語に変換するとしたらどうなるか」で表現する手法とがある。書ではこの2つの手法があることを解説し、それぞれの手法について深堀りしていく。 「計算機がどう操作されるか」路線では、もちろん次に「『計算機』って何だ?」という問いに挑む必要性が出てくる。まずは能力の劣った計算機である「決定性有限オートマトン」から初めて、それが正規表現というある種のプログラミング言語とどういう対応の仕方をしているのかを解説するのにまる1章割いている。このストーリー仕立ては面白い。 その後、有限オートマト

    書評:アンダースタンディングコンピュテーション - 西尾泰和のはてなダイアリー
  • 妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー

    何気なく放送大学をつけていたら公開鍵暗号の話をしていた。 「この話、何度聞いてもわかんないのよね」 僕「え、どこがわからない?どこまではわかってる?」 「平文はわかるけど、鍵を共有するとか秘密にするとか、署名するとかがよくわからない」 僕「あー、鍵に例えているのが逆効果なのか」 「鍵」をNGワードに指定 僕「じゃあ『鍵』という言葉を使わずに説明してみよう。暗号って『平文を暗号文に変換する方法』で伝えたい文章を暗号文に変えて送り、受け取った人はそれに『暗号文を平文に戻す方法』を使って元の文章を得るわけだ。その目的は、途中の通信文が敵に取られたりしても通信の内容がバレないようにするため。」 「うん」 僕「昔の暗号化の方法は、片方の方法がわかるともう片方の方法も分かった。例えば『アルファベットを後ろに1個ずつずらすと平文に戻せます』って教えてもらったら、『なるほど、前に1個ずつずらせば暗号

    妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー
  • U理論が面白い - 西尾泰和のはてなダイアリー

    U理論のを流し読みしてたけど、これは結構面白い。 PDCAサイクル(計画→実行→評価→改善)は、既にサイクルが回っている人にとっては納得感があるのだろうけども、回ってない人にやらせようとすると「で、計画はどうやって立てるの?」で悩んで止まってしまったり、逆に問題に対する知識が不足してる可能性に無自覚なまま、詳細すぎる計画を立ててしまって、後からわかった情報で瓦解したりする。 科学的思考法の「仮説→実験→検証→修正」のサイクルでも、流行りのリーンスタートアップの「仮説検証のサイクルを高速に回せ」でも、やっぱり実際にやろうとすると「で、仮説はどうやって見つけるの」というところでつまずく人がいる。 この手の「サイクル」に入る手前でつまずいている問題について、僕はいままで「まず観察を」と言ってきたのだけど、U理論はこの部分を7段階に分けて考えている。 一つ目は、物事を既成概念に当てはめて見ている

    U理論が面白い - 西尾泰和のはてなダイアリー
  • Re: なぜ国内でPerlが急速に萎んだのか - 西尾泰和のはてなダイアリー

    Python使いとしては「なぜ国内でPerlが急速に萎んだのか」について一言ツッコみたいところがあります。 >遂にPerlにとどめを刺したのはPythonである。守備範囲は当然ながらPerlと駄々被りで えっ、PerlPythonの守備範囲がだだかぶりって、著者の観測しているそれぞれの言語の「守備範囲」ってどんだけ狭いんでしょう? まあそんな重箱の隅をつつくのはやめておきましょう。このエントリーには結論の文章(の一部)はとても素晴らしいです。 >10年でここまで時代は変わる。今のメインテクノロジーも明日は我が身だ。 >変化の速い時代に生きる我々に必要なのは質を学ぶ事だ。 >もっと10年20年たっても色あせない情報工学を身につけなければならない。 そう、そこで拙著「コーディングを支える技術」のようなが必要になるわけです!(宣伝) ちなみに僕自身は仕事でも趣味でもPerlは使っていません

    Re: なぜ国内でPerlが急速に萎んだのか - 西尾泰和のはてなダイアリー
    koma_g
    koma_g 2013/08/18
  • 1