ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    UNIXの哲学

    このエントリーを含むはてなブックマーク はてなブックマーク - UNIXの哲学 あとで読む
    ここ最近、関数型プログラミング言語について学んでいる。
    Lisp、Haskell、OCaml、Elixirなど。

    どうせ、計算機で動かすのは同じだから、プログラミング・パラダイムが命令型でも宣言型でも、本質的には大差ない。
    (計算可能性理論では、チューリング完全であれば十分)
    しかしながら、その設計思想には違いがある。

    関数型言語は、文字通り「関数」を作る。
    関数の合成が、計算機で計算する手順となる。

    で、この関数の作り方なんだけど、「シンプルイズベスト」で、簡潔であればあるほど分かりやすくなる。
    Elixirの本を読んで、関数型言語はUNIX哲学と同じだと分かった。

    プログラミングElixir
    Dave Thomas
    オーム社
    2016-08-19
    ¥ 3024


    UNIXという考え方―その設計思想と哲学
    Mike Gancarz
    オーム社
    2001-02-01
    ¥ 1728


    UNIX哲学 - Wikipedia

    UNIX哲学とは、ソフトウェア開発に関する文化的な規範と哲学的アプローチのまとまりであり、UNIX OSの先駆的な開発者たちの経験に基づいている。
    パイプの発明者でありUNIX創始者の一人でもあるマキルロイは、この哲学を以下のように要約した。

    一つのことを行い、またそれをうまくやるプログラムを書け。
    協調して動くプログラムを書け。


    この哲学はしばしば、「一つのことを、うまくやれ」とさらに厳格に要約される。



    小さな関数を積み合わせて、大きな関数を作る。
    小さなプログラムを組み合わせて、大きなシステムを作る。

    1つ1つがしっかりしたプログラムでなければ、砂上の楼閣になってしまうのだ。
    だから、1つ1つの小さなプログラムが大事になってくる。
    小さなプログラムを大切にできない者には、大きなプログラムを作ることはできない。
    (もしも無理矢理作ったとしても、バグフィックスが不十分となり、最終的にはシステムが崩壊するだろう。=徒労で終わる。)

    当ブログでは、
    「夢を形に ~サービス開発メモ~ 小さなプログラムを日々作り、組合わせたら、新たなシステムを生み出すコストもどんどん減るね!」
    というキャッチコピーを掲げているが、自分の正しさがまた1つ証明された。

    日々、自分のやっていることに確信が持てるように、確認の作業を怠らないようにしたい。
    それ以外に、天才になる道はない?
    (他にあったら教えてw)
    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/1458-b08dc1ce

    FC2Ad