タグ

2009年9月2日のブックマーク (3件)

  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2):プログラミング言語の進化を追え(1/3 ページ) 前回に引き続き、Scheme言語の処理系、Gaucheを開発している川合史朗氏が、クロージャの機能を検証し、関数型言語とオブジェクト指向言語の関係について解説していきます。今回は、クロージャとオブジェクトのより深淵を探求します。 抽象化ツールとしてのクロージャ C++的なオブジェクトの世界では、オブジェクトの実体とは「ひとかたまりの構造体としてメモリ上に置かれたインスタンス変数の値」にすぎません。オブジェクトのポインタを取れば、それは事実上、その構造体へのポインタを持っていることになります。クロージャを「関数」中心で見ていると、その実体は「オブジェクト」の実体とは異質なもののように思えるでしょう。 確かにクロージャのナイーブな「実装」は、関数ポインタと環

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)
  • masa.edw the ハバネロブリーダー

    この記事は F# Advent Calendar 2011 の参加記事です。 JavaやC#のような言語でプログラムを書いていると、処理体は短いのに、なんでこんなに長くなっちゃうんだろう……ということがよくあります。関数の頭でnullチェックをして、Exceptionをキャッチするためにtry...finallyで囲んで、等とやっていると体がどこにあるのかわからなくなるということは日常茶飯事です。こういったコードはどこが重要な場所なのかがわかりにくく、メンテナンス性が低いものです。 現代的なライブラリや言語ではできるだけ質的なところだけを書けるようにいろいろな仕組みが導入されています。 今日はそういった仕組みの一つとして F# のアクティブパターンを紹介します。 社内勉強会のプログラミング添削会(?)で書いたじゃんけんプログラムを例にとって説明します。 まずアクティブパターンを使わな

    masa.edw the ハバネロブリーダー
    teppey
    teppey 2009/09/02
  • masa.edw the ハバネロブリーダー

    この記事は F# Advent Calendar 2011 の参加記事です。 JavaやC#のような言語でプログラムを書いていると、処理体は短いのに、なんでこんなに長くなっちゃうんだろう……ということがよくあります。関数の頭でnullチェックをして、Exceptionをキャッチするためにtry...finallyで囲んで、等とやっていると体がどこにあるのかわからなくなるということは日常茶飯事です。こういったコードはどこが重要な場所なのかがわかりにくく、メンテナンス性が低いものです。 現代的なライブラリや言語ではできるだけ質的なところだけを書けるようにいろいろな仕組みが導入されています。 今日はそういった仕組みの一つとして F# のアクティブパターンを紹介します。 社内勉強会のプログラミング添削会(?)で書いたじゃんけんプログラムを例にとって説明します。 まずアクティブパターンを使わな

    masa.edw the ハバネロブリーダー
    teppey
    teppey 2009/09/02