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

  • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

    プログラミング言語は人が作ったもの。人は誤るもの。なので完璧なプログラミング言語は存在しない。 「人は誤るもの、しかし誤りに固執するのは馬鹿の所業だ。」(キケロ) プログラミング言語も、間違った設計をして、馬鹿でない人がそれを修正することの繰り返しで発展してきた。 というわけで言語間での設計判断のい違いとか失敗した設計とかを収集中。一部抜粋して講義資料に入れるつもりなので他の事例をご存知でしたらぜひ情報をいただけるとありがたいです。 if(x = 0) C言語では代入が式であるためif(x == 0)のつもりでif(x = 0)と書いてしまい、常に偽になってしまう。 x = 0の値はint、条件式はboolでないといけないので型エラーだよ派: Java x = 0は式ではないので条件式に入れたら構文エラーだよ派: Python 条件式にx = 0をいれたらx == 0と解釈するよ派: H

    不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
  • 1000人スピーカカンファレンス第6回について - 西尾泰和のはてなダイアリー

    今回、カンファレンス後の「次回予告」がありませんでしたが、わざとです。 第4回に僕がスタックオーバーフローしてしまったのを覚えている方もいるかと思います。主催者がイライラしているカンファレンスなんて面白くないですよね。そういうわけで「一旦運営から外れて休みたい」という話をid:amachangにしたところ、amachangも休みたいとのことだったので第5回が終わったらしばらくお休みすることにしました。 これで終わりにしてしまうつもりはないのですが、僕とamachangの二人では1ヶ月に1回のペースを維持することができないようです。どうすれば続けていけるかを考える必要があります。そして、少なくとも「カンファレンスの最後に次回予告をする」というのをキープしていてはそれまでに人数や会場をFIXしないといけないわけなので「変えていくこと」が難しいのです。 カンファレンス後の三次会で今後の運営につい

    1000人スピーカカンファレンス第6回について - 西尾泰和のはてなダイアリー
    publichtml
    publichtml 2008/05/26
    少数メンバーでお疲れ様でした→というわけで、持ち回り案++。大変な時は「誰か助けて!」って叫んじゃっていいと思います。周りからだと手伝っていいかわかりづらいし。次回のお菓子を物色しつつ、お待ちしております
  • 今日覚えたこと - 西尾泰和のはてなダイアリー

    int xをlong yに変換するのにlong y = (long)xとかlong y = long(x)とか書くのはよくない。これは無条件の型キャストであって、当に必要なときにしか使ってはいけない。gotoみたいなもの。for文でできることをgotoで書くのはよくないのと同じような感じ。 C++には4種類のキャストがある:C++の新しいキャスト intをlongに変換したいのならキャストではなくてlong y(x); LLではfor文を自分で書くよりmapを使ったりジェネレータにしたりしてC側でループが回るようにした方が速いが、Cではライブラリの中でループさせると普通に自分でforを書くより遅くなる(かもしれない) 発想の逆転が必要。

    今日覚えたこと - 西尾泰和のはてなダイアリー
    publichtml
    publichtml 2008/04/22
    "LLではfor文を自分で書くよりmapを使ったりジェネレータにしたりしてC側でループが回るようにした方が速いが、Cではライブラリの中でループさせると普通に自分でforを書くより遅くなる(かもしれない)"
  • Re: たとえ重複していても、一度分割したものはまとめるな! - 西尾泰和のはてなダイアリー

    最初、擬似コードを書く時点で、この5パターン以外ありえないことはすぐにわかります。そして、それぞれについて解法を考えます。しかし、それをやりながら、「1つにまとめられるんじゃない?」と欲を出すと、失敗します。難しくて分割したなら、まとめちゃいけません! http://d.hatena.ne.jp/yukoba/20080218 これ「重複していても *未来永劫* まとめてはいけない」という意味ではないですよね?とかくこういうキャッチフレーズは背景を離れて一人歩きしがちなので勘違いをする人が出てくるのではないかとちょっと心配になりました。 もともと「重複するコードは一つにまとめるべき」という話は「同じ処理があちこちに重複していると、仕様が変更されたときに修正する箇所もあちこちに散らばっているので修正コストが高い&うっかり修正忘れをするリスクが高い」という問題があるという話なので、yukoba

    Re: たとえ重複していても、一度分割したものはまとめるな! - 西尾泰和のはてなダイアリー
    publichtml
    publichtml 2008/02/20
    if を書く時は、何の分岐かと全ケースフォロー出来てるのかがわかるように書くこと。わからなくなるくらいなら重複をまとめるべきではない(コメント必読)
  • 1