タグ

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

  • PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記

    PHPerの問題点はPHPしか知らずに的外れなことを言うことだ」と、Javaしか知らなくて的外れなことを言っている連中にすら言われちゃってるPHPerのみなさん、こんにちは。 PHPは「使える道具」であることは事実です。しかし同時に言語仕様がウンコなのも事実。 ここでは、個人的にウンコだと思っているPHPの仕様を挙げてみたよ! htmlspecialchars() の名前が長すぎる これはほんとウンコ。おまえWebアプリのための言語やろが!なんでこの関数の名前がこんなに長いねん!こんだけ長かったらめんどくさがって echo $var としてまうやろが!WordPressのthemeでHTMLエスケープ忘れが多いのはおまえの名前が長すぎるせいだ! そんなわけで、全PHPerはこんな関数を定義するといいと思うよ。 ## echo $var; よりも短く h($var); と書ける! func

    PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記
    kamipo
    kamipo 2011/01/05
  • なぜ人はテストを書かないのか? - kなんとかの日記

    「スーパープログラマー」という単語に過敏に反応する人がいたのをきっかけに、プログラマーとして一流であるための条件というのを考えてみたんだけど、難しくてわからんかった。しかし一流じゃない条件ならいろいろ思いつく。 たとえば、今なら「テストを書かないプログラマーは一流でない」ということは言えるだろう。これはどんな凄腕プログラマーだとしても当てはまる条件だ。 そして、これだけテストの重要性が叫ばれている中でもやっぱりテストを書かないプログラマーというのは存在する。これは初心者だろうが上級者だろうが関係なく一定数存在する*1。 で、なぜテストを書かないかということだが、いちばんの大きな理由は、テストを書かないのではなくて、テストが書けないだけなんじゃないかと思ってる。 テストを書いた方がいいなんてのは、誰だって分かっている。でも実際には書かない人が結構な数いて、その人たちは「ロジックは書けるけどテ

    なぜ人はテストを書かないのか? - kなんとかの日記
  • 速報: Merb と Rails が統合 - kなんとかの日記

    悪い冗談としか思えないんだけど、Merb と Rails が統合されるらしい。 Merb gets merged into Rails 3! by DHH (Rails 作者) Rails And Merb Merge by Yehuda Katz (Merb 主任開発者) Rails and Merb core team working together on their next release by Matt Aimonetti (Merb コアチームメンバー & merb-book リーダー) Merb *is* Rails by Ezra Zygmuntowicz (Merb project 創始者 & EngineYard 共同設立者) Rails and Merb Bury the Hatchet (Rails の有名ブログ) 実は 1 週間前に、DHH が Merb の信者

    速報: Merb と Rails が統合 - kなんとかの日記
  • Java は近代の言語、Ruby は現代の言語、Curl は未来の言語 - kなんとかの日記

    タイトルは釣りでもなんでもなくて、大まじめ。 Curl というのは、MIT の人たちが作ったリッチクライアント用言語。もともと軍隊で兵士につけるデバイス用のアプリを作るために開発されたらしい。だから少ないリソースでも高速に動作し、バカでも分かるGUIを備え、ネットワークが繋がっていてもいなくても同じように動くよう設計されたんだとさ。 リッチクライアント製品としての Curl も面白いんだけど、プログラミング言語としての Curl はもっと面白い。まじで次世代の言語だと思う。 以下、その理由。 静的にも動的にもできる Curl は基的に、静的な型を指定する言語。しかし型を指定しなくても構わない (その場合は any という型が指定されたと見なされる)。 ほかの言語はたいがい、静的な言語では必ず型を指定しなくてはならず、逆に動的な言語では型を指定することができない。つまり型を指定するかしない

    Java は近代の言語、Ruby は現代の言語、Curl は未来の言語 - kなんとかの日記
    kamipo
    kamipo 2008/08/07
  • 1