タグ

ブックマーク / www.kmonos.net (5)

  • Brainf*ck

    アラン・チューリングという計算機科学者の考えた、 「チューリング・マシン」という仮想の計算機があります。 これは [0を書く]、[1を書く]、[右に進む]、[左に進む] と言った 非常に簡単な命令のみを実行できる想像上の計算機ですが、 我々の使っているパソコンでできるような計算は全て、 チューリングマシン用のプログラムとして書ける、ということが知られています。 …という前置きを付けてなんだか重々しい言語に見えてきたところで(^^;、 たぶんご存じの方も多いと思われる、わずか8文字の組み合わせで ありとあらゆるプログラムを表現する Brainfuck を弄ってみるとしましょう。 * Hello, World 導入 サンプル:表示1 サンプル:表示2 サンプル:echo * サンプル:足し算 サンプル:掛け算 C++によるインタプリタ実装 * サンプル:条件分岐1 サンプル:条件分岐2 まとめ

    agx
    agx 2007/06/19
    8文字だけでプログラミング
  • わかったつもりになるD言語

    はじめに 2012年5月現在、最近、このページはあまり更新できていません。すみません m(_ _)m。 D言語友の会 が、長期間ちゃんと更新されている D 言語関係の日語サイトとしておすすめです。 こんにちは。ここは、プログラミング言語 D (D Programming Language, 通称D言語)を紹介するサイトです。 すでに Java など一般的なプログラミング言語の経験がある読者を前提として書かれています。 一部古いページを除いて、基的に、D 2.x 系統の言語仕様をベースに解説しています。 → 更新情報は RSS で 目次 1. Dってどんな言語? サンプルコード色々 D言語を大きくカテゴライズすると、「C風の構文を備えた」 「静的型」の「ネイティブコンパイル」言語と いうことになります。オブジェクト指向やテンプレートメタプログラミングなど、 幾つかのパラダイムをサポートし

    agx
    agx 2007/01/16
  • C++ Library Links

    このページの他に、岡野原さんの "C++の便利ツール・ライブラリ" がオススメです。 標準ライブラリ STL その1。主に、リストやマップなどのコレクションに関する generic なデータ構造とアルゴリズム。 iostream その2。ストリーム入出力。 C.std その3。まだまだ現役。 boost 準標準。上の3つを超強力にした/するライブラリ達の集合体。 並列・ネットワーク・XML TBB (Thread Building Blocks) スレッドセーフなコンテナやスレッドをフル活用した並列アルゴリズムなど TinyXML 名前の通り軽量でまとまってるXMLパーザ。 MiX Minimalists XML parser。同じくXMLパーザ。 libcurlpp FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE, LDAP によるフ

    agx
    agx 2007/01/02
    C++の色々なライブラリを紹介、メタプログラミング、マルチパラダイム(関数型・論理型など)、並列、XML、ネットワーク、データベース、暗号、GC、文字コード、スクリプト実行、デバッグ支援、数値計算、GUI
  • C++プログラマのためのD言語 - プログラミング言語 D (日本語訳)

    熟練したC++プログラマは誰でも、自然とさまざまなイディオムやテクニックを 身につけているものです。新しい言語を学ぼうとすると、時にこれらのイディオムに 慣れすぎたせいで、同じことを別の言語でどう実現するのかわからなくなってしまいます。 そこでここに、C++のよく知られたテクニックと、 対応するDでのやり方を集めてみました。 参照: CプログラマのためのD言語 コンストラクタの定義 基底クラスの初期化 構造体の比較 typedef された型 friend 演算子オーバーロード 名前空間の using RAII (Resource Acquisition Is Initialization) プロパティ 再帰的テンプレート メタテンプレート Type Traits コンストラクタの定義 C++ では コンストラクタはクラスと同じ名前を持ちます: class Foo { Foo(int x);

  • Home - プログラミング言語 D (日本語訳)

    #!/usr/bin/rdmd // Computes average line length for standard input. import std.stdio; void main() { ulong lines = 0; double sumLength = 0; foreach (line; stdin.byLine()) { ++lines; sumLength += line.length; } writeln("Average line length: ", lines ? sumLength / lines : 0); } Standard input Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tristique rutrum sem, nec convallis enim bibe

    agx
    agx 2006/01/19
    日本語でのD言語総本山
  • 1