タグ

ブックマーク / bleis-tift.hatenablog.com (8)

  • Ruby嫌いがアンダースタンディングコンピュテーションを読んで - ぐるぐる~

    アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで 作者: Tom Stuart,笹田耕一(監訳),笹井崇司出版社/メーカー: オライリージャパン発売日: 2014/09/18メディア: 大型この商品を含むブログ (2件) を見る 一番最初にはっきりさせておきますが、Rubyは嫌いな言語です。 が、このRubyが嫌いな自分でもいいだと言える*1でした。 自分が対象読者に入っているかどうかは実際に読んでみるまで微妙かな、と思っていましたが、とても楽しめました。 以下、書評です。 Rubyという選択 説明用のコードとして書はRubyを使っていますが、 これに関してはその理由が1章にあります。 私はその明瞭さと柔軟さに魅かれてRubyを選びました また、続けて 書にはRuby独自の機能に依存しているところはありません。 そのため、もしあなたにとってわか

    Ruby嫌いがアンダースタンディングコンピュテーションを読んで - ぐるぐる~
    yojik
    yojik 2014/09/29
  • そろそろPower Assertについてひとこと言っておくか - ぐるぐる~

    タイトルはもちろん釣りで・・・はない! ちょっと真面目に、Power Assertについて意見を述べたいのです。 そもそもPower Assertって何? てきとーに説明すると、 普通の比較演算子で普通にassert書けば、失敗時に各部分式の値を表示してくれる ようなものです。 Groovy製のテスティングフレームワークであるSpockがおそらく家大です((要出典。こういう系の発想は割と昔からあったし、Spock以前に実装例がありそうな気がする。そもそも、Spockは最初からPower Assert持ってたのかも調べないといけない。ちなみに、式木を弄ってAssertを組み立てる、というものであれば(PowerAssertよりも情報量は少なくなるものだけど)、自分の知る限りだと2009年6月にこんな記事があります。 http://themechanicalbride.blogspot.j

    そろそろPower Assertについてひとこと言っておくか - ぐるぐる~
    yojik
    yojik 2014/05/30
  • Java の語彙で Maybe を説明してみる - ぐるぐる~

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;

    Java の語彙で Maybe を説明してみる - ぐるぐる~
    yojik
    yojik 2012/06/29
  • 生島さんが考える最強の言語 SQL - ぐるぐる~

    生島さんが誰と闘っているのか知らないけど、ちょっと気になることをつらつらと。 SQLは最も高級言語 - SQLer 生島勘富 の日記 SQLは最も高級言語2 - SQLer 生島勘富 の日記 SQLとはなんぞや? - SQLer 生島勘富 の日記 高級*言語* どうも生島さんは、「SQL は高級言語!」と言いつつ SQL の処理系 (RDBMS) のことを高級だと言っているようです。 言語が高級であることと、処理系の最適化が手厚いことをごちゃまぜにして、この言語高級!と言うのはまずいんじゃないでしょうか。別に、RDBMS を操作するための言語として SQL でなくたっていいのです。例えば Tutorial D/Industorial D もあるし、LINQ を SQL に変換せずに直接 DB の操作を行うような RDBMS/Linq to X と言うのも考えられます。 ここではとりあえず、

    生島さんが考える最強の言語 SQL - ぐるぐる~
    yojik
    yojik 2010/11/30
  • Java やってる人が C# を使うとはまること - ぐるぐる~

    ここでは、Java SE 5.0 以降を知っている人が C# 2.0 を使うことになった場合を考える*1 *2。 あと、ライブラリについては触れないことにする*3。 命名規約 まず、命名規約が全然違う。Java ではメソッド名にキャメル形式*4を使うけど、C# では Pascal 形式*5を使い、Java では定数名に大文字アンダーバー区切り*6を使うけど、C# では Pascal 形式を使う。 C# に関する命名規約としては、ここだとかここだとかにあるので、参考にするといい。 間違っても、オブジェクト倶楽部のは参考にしないこと*7。 struct の扱い Java ではユーザ定義型は全て参照型だけど、C# では値型も作成できる。また、標準ライブラリの中に struct で定義されたものもある。 で、何にはまるかというと、struct は class と違い、「値渡し」される*8、つまりコ

    Java やってる人が C# を使うとはまること - ぐるぐる~
  • 知らないと恥をかく プログラミングの常識 - ぐるぐる~

    新人プログラマが身につけるべき 知らないと恥をかくプログラミングの常識 作者: 日向俊二出版社/メーカー: アスキー・メディアワークス発売日: 2009/02/25メディア: 単行(ソフトカバー) クリック: 108回この商品を含むブログ (8件) を見る メールアドレスが載っていたから問題点をまとめて*1送ったら、意外と早く返信が来たものの・・・・ 私の考え方は223ページ以降に記したとおりです。 一部、ご指摘のことを踏まえて、将来の版でより適切に書き直すことを検討させていただきたいと思います。 書の出版が、他の「プログラミングの常識」に関連した書籍の内容の比較等も含めて、活発な議論のきっかけになれば幸いです。 亜阿相界 あぁそうかい。 なら議論のきっかけになるように、「一部」ではなかったことを示しておくことにするよ*2 *3。 223 ページの「私の考え」はどんなものかというと、

    知らないと恥をかく プログラミングの常識 - ぐるぐる~
    yojik
    yojik 2009/03/02
    クソ本オブザイヤー候補のひとつ
  • if と else の思考術 - ぐるぐる~

    ifとelseの思考術 プログラマ脳育成講座 作者: 矢沢久雄出版社/メーカー: ソフトバンククリエイティブ発売日: 2009/01/29メディア: 単行 クリック: 14回この商品を含むブログ (12件) を見る かなり遅くなったけど書評です。ただ、セオリーほどのぶっ飛び具合がないのが残念なところ。 全体 まず、この全体にわたって、「アルゴリズム」という言葉は何回か出てくるんだけど、データ構造が一回もでてこない。 アルゴリズムとデータ構造のどちらが重要かって聞かれたら、迷わずデータ構造と答えるんだけど、どうもそういうのはプログラマ脳じゃないのかな。あー残念、プログラマ脳持ってないや。 それと、セオリーでは一行コメント使いまくりだったのに、このでは全然つかってない不思議。 コンピュータが好きになる必要はあるのか コンピュータが好きでプログラミングが楽しくなければ、プログラマ (自分の

    if と else の思考術 - ぐるぐる~
    yojik
    yojik 2009/02/10
    半端無っす
  • カプセル化、情報隠蔽、データ隠蔽 - ぐるぐる~

    あちこちのサイトを見てると、間違った解釈をしてるのが多い。カプセル化なんて、情報隠蔽まで含んでるのが常識になりつつあるような。。。ここまで一般化してると情報隠蔽してるのがカプセル化というのが常識なのかも。 カプセル化・情報隠蔽・データ抽象化 - 今日の役に立たない一言 − Today’s Trifle! − カプセル化と情報隠蔽、データ隠蔽の違いがよくわからくなったので、手持ちので調べてみた。 基準 基準としては、 カプセル化、情報隠蔽、データ隠蔽の関係 カプセル化は隠蔽を含んでいるかどうか 対象はクラスのみか、そうでないか などなど。 一番目はそのまんま。二番目は、 // 隠蔽せずともカプセル化か class Hoge { int hoge; // なんかhogeを使うメソッド } // 隠蔽しなければカプセル化ではないか class Piyo { private int piyo;

    カプセル化、情報隠蔽、データ隠蔽 - ぐるぐる~
    yojik
    yojik 2009/02/01
  • 1