タグ

2007年9月19日のブックマーク (6件)

  • 関数型言語由来の新機能 (C# によるプログラミング入門)

    概要 Ver. 3.0 C# 3.0 の新機能には、関数型言語や動的言語が由来と思われる機能がいくつかあります。 ただし、C# の方向性としては、「関数型・動的言語になる」ではなくて、 「関数型・動的言語との融合」です。 すなわち、C# が関数型・動的言語になったわけではなくて、 あくまで、関数型・動的言語の機能で、 手続き型・静的言語を基とする C# でも実現できそうなものを輸入したという感じです。 具体的には、型の推論やラムダ式がそれにあたります。 これらの機能は、 クエリ式のために導入されたと思われる節が強いです。 それ以外の場面で使っても便利は便利なんですが、 メリットだけでなく多少の副作用もあったりするので利用の際には少し注意が必要です。 暗黙的型付け var キーワードを用いて、 暗黙的に型付けされたローカル変数(Implicitly typed local variable

    amachang
    amachang 2007/09/19
    えええええ!?C# 3.0 って expression tree をデータとして扱えるの!?これってバイトコードの書き換えみたいなことが言語の仕様内できるってことですよね!!すげー!!
  • Our feature presentation

    Hey—we've moved. Visit The Keyword for all the latest news and stories from Google

    Our feature presentation
    amachang
    amachang 2007/09/19
    巨人、き、き、きたーーーーーー>< s6 頑張らねば><
  • データ型のアラインメントとは何か,なぜ必要なのか?

    以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

    amachang
    amachang 2007/09/19
    何故アラインメントしなきゃダメか。→読み出しで2回分&書き込みで4回分メモリアクセスが必要になるから。CPUによっては不正アラインメント例外が発生する。
  • フリーソフトウェア徹底活用講座(8)

    ● コメントの形式 C++ではコメントを次のように記述します. #include <stdio.h> //typedef short t_id; //コメント行 int foo(t_id x); int main(void) もちろんオプションに-ansiまたは-traditionalを指定した場合には,C++方式のコメントは認識されません.ほかの多くのCの実装でもこのようなコメントを使うことができるので,ソースをANSIに限定しなくてよいのなら,このコメント形式を使って問題ないでしょう(リスト7). #include <stdio.h> //コメント typedef short t_id; int foo(t_id x); int main(void) { int result; t_id y; printf("start\n"); y = 2; result = foo(y); pri

    amachang
    amachang 2007/09/19
    __attribute__((aligned(x))) とするとアラインメントが揃う。リザーブとか使わなくてもいい。
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/09/syscall_optimization.php

    amachang
    amachang 2007/09/19
    「read(2) や write(2) 等の、カーネルとの間でメモリコピーを行うシステムコールを呼び出す際において、そのブロックサイズは2次キャッシュの50%をひとつの目安とすべき」勉強勉強
  • ベジエ曲線の仕組み (1) - 昔話 - てっく煮ブログ

    asドローソフトなどでもお世話になることが多いベジエ曲線について解説していくシリーズ。小学生のころ、BASIC でのサンプルを入力して遊んでいたのですが、あまりのきれいさに衝撃を受けたプログラムがありました。それはこんな絵を出力するプログラムでした。左上と左下の点をそれぞれの x 座標、y 座標を少しずつ増やしながら、直線を引いています。いくつもの四角形が端に行くにしたがって変形していくところが、いかにも近未来風の CG に見えました(当時は)。しかも、この絵は直線だけで構成されているのに、カーブして見えるところが不思議でなりませんでした。さて、15年のときを経て、このプログラムを ActionScript で実装してみました。点をドラッグして曲線の変化を楽しんでみてください。前置きが長くなりましたが、実はこのカーブして見える曲線の部分は2次ベジエ曲線になっています。3つの黒い点がベジエ

    amachang
    amachang 2007/09/19
    へー!ペジェ曲線ってそういう曲線だったんですね!勉強になりました!