ときどきの雑記帖 i戦士篇

最新ページへのリンク
目次ページへのリンク

一つ前のページへ 2008年4月(中旬)
一つ後のページへ 2008年5月(上旬)

ホームへ

2008年04月30日

■_ PSPとか

いやー新型PSP(2000)軽いですね。 まるでおもちゃのようだ (初めからそうです)w

カレンダーをよくチェックしなおしてみると、実は5/10の土曜日は出勤日だったという罠。 確か次のRHG読書会は5/11だったよなあ。 んーどうしたもんか喃。

PostgreSQL。 今まで8.1とかその辺をインストールして放置しっぱなしだったので、 最新のもの(8.3.0)に入れ替えました。 いやー、インストーラがずいぶん良くなって(わかりやすく)なってますね。 インストーラで表示する言語も起動してから切り替えられるし、 ライセンス関係のものもちゃんと日本語で表示される (GPLとかだと仕方がない面はあると思うのですが、英文のライセンスを見せられても ビビる人が大半なんじゃないですかねえ。まあ日本語にしたからといって 読まれるかどうかという問題があるわけですが :)。

rssリーダーで redditの新規エントリが上がってこないなあと思ってよくよく確かめてみたら ブロックされてやがる。 もうね(以下自主検閲により削除)

■_ How to fix a bug

“How to fix a bug”と書くと「バグの直し方」という感じがするなのだけど、 「どのようにバグを直すか」という意味を強く出すにはどのような英文にすればいいんだろう?

それはさておき。 ruby-dev:34492 でakrさんが報告したバグに関して ruby-dev:34537 でワナベさんが提示しているパッチは↓のようになっているんだけど

Index: re.c
===================================================================
--- re.c        (revision 16218)
+++ re.c        (working copy)
@@ -1255,7 +1255,7 @@
 {
     int result;
     VALUE match;
-    static struct re_registers regs;
+    struct re_registers regs;
     char *range = RSTRING_PTR(str);
     regex_t *reg0 = RREGEXP(re)->ptr, *reg;
     int busy = FL_TEST(re, REG_BUSY);
@@ -1271,6 +1271,7 @@
     if (!reverse) {
        range += RSTRING_LEN(str);
     }
+    MEMZERO(&regs, struct re_registers, 1);
     result = onig_search(reg,
                         (UChar*)(RSTRING_PTR(str)),
                         ((UChar*)(RSTRING_PTR(str)) + RSTRING_LEN(str)),

static に確保しているせいでスレッドを跨いだときにおかしくなるんだろうから 自動変数にするというのは良いけど、 こういう初期化はMEMZERO(実体は memset)を使ってやるんじゃなくて struct re_registers regs = {0} のように記述して行うべきじゃないのか。 いや、そもそも regs は onig_searchの中で初期化してから使っているのだからこの初期化自体 いらないんじゃね? と思って static キーワードだけつぶしてビルドしてみると

ruby 1.9.0 (2008-04-28 revision 0) [i386-mswin32_71]
        .\miniruby.exe -I./../lib  ./../enc/make_encdb.rb ./../enc encdb.h.new
 ./../enc/make_encdb.rb:27: [BUG] Segmentation fault
ruby 1.9.0 (2008-04-28 revision 0) [i386-mswin32_71]

-- control frame ----------
c:0010 p:---- s:0030 b:0030 l:000029 d:000029 CFUNC  :===
c:0009 p:---- s:0028 b:0028 l:000023 d:000027 IFUNC
c:0008 p:---- s:0026 b:0026 l:000025 d:000025 CFUNC  :each
c:0007 p:---- s:0024 b:0024 l:000023 d:000023 CFUNC  :grep
c:0006 p:0011 s:0020 b:0020 l:000013 d:000019 BLOCK  ./../enc/make_encdb.rb:27
c:0005 p:---- s:0020 b:0020 l:000019 d:000019 FINISH :method_added
c:0004 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC  :open
c:0003 p:0066 s:0014 b:0014 l:000013 d:000013 TOP    ./../enc/make_encdb.rb:27
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH :private_class_method
c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP    <dummy toplevel>:257
---------------------------
DBG> : "./../enc/make_encdb.rb:27:in `each'"
DBG> : "./../enc/make_encdb.rb:27:in `grep'"
DBG> : "./../enc/make_encdb.rb:27:in `block in <main>'"
DBG> : "./../enc/make_encdb.rb:27:in `open'"
DBG> : "./../enc/make_encdb.rb:27:in `<main>'"

なンでっ!?

面倒なのでこれの原因は追いかけないけど、初期化はんーどうなんだろうねえ。 参考までにMEMZERO で grepしたときの結果はこんな感じ。

array.c:3158:	MEMZERO(stack, long, n);
ext/json/ext/parser/parser.c:1696:    MEMZERO(json, JSON_Parser, 1);
ext/ripper/ripper.c:14189:    MEMZERO(p, struct parser_params, 1);
ext/ripper/ripper.c:14579:    MEMZERO(p, struct parser_params, 1);
ext/socket/socket.c:804:    MEMZERO(&sin, struct sockaddr_in, 1);
ext/socket/socket.c:905:    MEMZERO(&hints, struct addrinfo, 1);
ext/socket/socket.c:1621:    MEMZERO(&sockaddr, struct sockaddr_un, 1);
ext/socket/socket.c:1967:    MEMZERO((char*)&cmsg, char, sizeof(cmsg));
ext/socket/socket.c:3224:    MEMZERO(&hints, struct addrinfo, 1);
ext/socket/socket.c:3297:	MEMZERO(&hints, struct addrinfo, 1);
ext/socket/socket.c:3447:    MEMZERO(&sockaddr, struct sockaddr_un, 1);
ext/stringio/stringio.c:678:	    MEMZERO(RSTRING_PTR(ptr->string) + olen, char, pos - olen);
ext/stringio/stringio.c:1193:	MEMZERO(RSTRING_PTR(string) + plen, char, l - plen);
ext/strscan/strscan.c:178:    MEMZERO(p, struct strscanner, 1);
ext/syck/emitter.c:273:        S_MEMZERO( e->buffer, char, e->bufsize );
ext/syck/emitter.c:372:            S_MEMZERO( header, char, 64 );
ext/syck/emitter.c:1230:            S_MEMZERO( anchor_name, char, strlen( anc ) + 10 );
ext/syck/rubyext.c:620:        MEMZERO((void *)obj, RVALUE, 1);
ext/syck/rubyext.c:746:    S_MEMZERO( parser->bonus, struct parser_xtra, 1 );
ext/syck/rubyext.c:1888:    S_MEMZERO( emitter->bonus, struct emitter_xtra, 1 );
ext/syck/syck.c:37:    S_MEMZERO( new, char, len + 1 );
ext/syck/syck.c:124:        S_MEMZERO( p->buffer, char, p->bufsize );
ext/syck/syck.c:161:    S_MEMZERO( p, SyckParser, 1 );
ext/syck/syck.h:58:#define S_MEMZERO(p,type,n) memset((p), 0, sizeof(type)*(n))
gc.c:656:    MEMZERO((void*)obj, RVALUE, 1);
include/ruby/ruby.h:699:#define MEMZERO(p,type,n) memset((p), 0, sizeof(type)*(n))
io.c:4392:	MEMZERO(fptr, rb_io_t, 1);
io.c:6830:    MEMZERO(&st, struct copy_stream_struct, 1);
iseq.c:103:    MEMZERO(iseq, rb_iseq_t, 1);
iseq.c:174:    MEMZERO(iseq->compile_data, struct iseq_compile_data, 1);
marshal.c:1280:	    MEMZERO((char *)digits + len * 2, char,
parse.c:14121:    MEMZERO(p, struct parser_params, 1);
parse.c:14511:    MEMZERO(p, struct parser_params, 1);
proc.c:69:    MEMZERO(proc, rb_proc_t, 1);
process.c:1627:    MEMZERO(e, struct rb_exec_arg, 1);
re.c:781:    MEMZERO(match->rmatch, struct rmatch, 1);
re.c:1748:    MEMZERO(names, struct backref_name_tag, num_regs);
ruby.c:1276:    MEMZERO(&opt, opt, 1);
ruby.c:1501:    MEMZERO(&opt, opt, 1);
string.c:2803:	MEMZERO(RSTRING_PTR(str) + RSTRING_LEN(str), char, -len);
thread.c:1698:	MEMZERO(fds->fdset, fd_mask, howmany(fds->maxfd, NFDBITS));
time.c:379:    MEMZERO(tm, struct tm, 1);
util.c:434:    MEMZERO(p, struct PathList, 1);
vm.c:1509:    MEMZERO(vm, rb_vm_t, 1);
vm.c:1857:    MEMZERO(th, rb_thread_t, 1);
win32/win32.c:1048:    MEMZERO(tmpcurr, NtCmdLineElement, 1);

ほとんどがメモリを別途確保しておいてからそれを0埋めしているというパターン。 今回のパッチのような使い方に該当するのは ruby.c で opt に対してやっているのと io.c で st に対してのもの、そしてext/socketでやっている数箇所。 現在のRubyはC99は要求しないけど、ANSI(ISO)準拠のコンパイラは必須のはずなので 自動変数の(0埋めをしての)初期化は自分で memset呼び出してやるよりは = {0} してやった方が良いと思うのだけど MLで主張すべきかどうかと昨日から悩んでいる俺ガイル(笑)

■_ そっこーで shiroさんがコメントをつけている

10日分まとめて。 (リリカル☆Lisp 開発日記)

10日分まとめて。 (リリカル☆Lisp 開発日記)
shiro:

無理することないですよ>scheme workshop
国際学会やワークショップなんて私も学部時代は考えもしませんでしたし。
ただ、本当におもしろいと思ってやったことなら、どんどんシェアした方がみんな楽しくなれますし、
その対象を国内に限る必要は全然ないです。濃い人というのは世界中にいるのです。
ということで、気が向いたらどうぞ。

さすがだ○| ̄|_

■_

Geekなぺーじ : 未来のエンジニアへ

Geekなぺーじ : 未来のエンジニアへ
本サイトの「お問い合わせ」コーナーより、以下のようなお問い合わせを頂きました。 非常に
頑張って欲しいので、ブログに書くことにしました。

今、中3で将来プログラム関係の仕事就きたいのですが 英語が苦手でプログラムを書くときのC
言語(英語の部分)に四苦八苦しています。 そんな私でも頑張ったらプログラム関係につけます
か?
Geekなぺーじ : 未来のエンジニアへ
非常に微笑ましいご質問だったのですが、あまりうまく答えられた気がしません。。。

恐らく多くの方が一言、言いたくなるような内容だと思うので、ご意見募集します。 (「やめと
け」と言いたくなる人もいると思いますが、出来れば勇気付けるような内容を希望します。)

本件に関して補足記事等を発見したらリンクを順次張る予定ではありますが、発見してなさそう
であれば「お問い合わせコーナー」経由か米欄に書き込んでください。 なお、必ずしも全ての
記事にリンクを張るわけではありませんのでご注意下さい。

自分が書いたら違うものになるだろうけど、あの内容はそれはそれでいいのではないかと。 ここをこう書けとか云うのはないですね。

■_ それは蔑称なんですかね

スクリプトの初恋はLispの味 - みねこあ
というか、スクリプト言語と呼び貶めないで Lightweight Language と読んで欲しいです。彼ら
が「スクリプト言語」でデビューを果たしたのは、そこが一番デビューしやすいからで、スクリ
プト言語になるために生まれてきた訳じゃないのもいっぱいなのです。

まあわたしは一貫して「スクリプティング言語」という表記(と読み)を使っているので それは「スクリプト言語」ちゅーものと別物かもしれませんけど :)

というかわたしにとっては LLなんてのはWeb2.0みたいな×× (好きな表現を入れてください :) wordなんじゃないかと思えるのですが。

どーもくんはせかいへはばたく

丁稚な日々
_ かなりどうでもいい話ですが、どーもくんは日本発のキャラクターとしては世界でもっとも有
名なものの一つです。ちょうど最近新聞記事にもなっていたので、「どーもくん」でGoogleニュ
ース検索するといいんじゃないかと。

なんと!?

ZAKZAK
NHK「どーもくん」、101の国と地域で放送へ

 NHK・広報キャラクター「どーもくん」のアニメ(全26話)が、米英など世界101の国
と地域で放送されることが23日分かった。世界64カ国で放送された同局の朝の連続テレビ小
説「おしん」を抜いた。5月3~6日に東京・渋谷の放送センターで行われるイベント「渋谷D
Eどーも」で放送される。

ZAKZAK 2008/04/24

へー。 このページに出ているAmazonのアフィリエイトがどーもくんのぬいぐるみ。 売ってるのかw

2008年04月29日

連休中に積読にある厚めの本の一冊でも片付けないと、と思いつつもいざページを開くと眠気が…(笑) ビューティフルコードみたいに細切れに読みやすいのだとまた違うんだけど。 とりあえず一回は通読しないとキャッシュから追い出せないからどうにかせんと(^^;

秋葉原にある(あった?)ワシントンホテルですが、解体工事が始まったようで。 思えばワタクシが勝手に師叔と尊敬している ebanさんと初めて会ったのもここだったり。 正確に云うと、そこで行われた打ち合わせのために待ち合わせた秋葉原駅の改札(電気街口) なんだけどそこはそれ。

なんの打ち合わせかというと、日本で行われた最初の Perl Conference (The Perl Conference Japan)だったりするわけです。 そのとき同席された mad player さんも最近はとんとお名前を聞きませんがお元気なのでしょうか。

しかし思い返しても恥ずかしいプレゼンだったな(^^; まあ、メインは ebanさんで、わたしはお手伝いだったんだけど(一つのセッションを二人でやった)。 あーそういえば、セッションの質疑応答で彈さんに質問されたなあ。 多分向こうは覚えてないだろうけどねw

from 2ch

C++0x 3

484 デフォルトの名無しさん [sage] Date:2008/04/26(土) 23:27:23  ID: Be:
    N2582
    新しい関数宣言方法(ラムダ式と同じ形にする案)
    []foo(int x) -> int { return x; } 

485 デフォルトの名無しさん [sage] Date:2008/04/26(土) 23:30:30  ID: Be:
    [] は大変キモいので、こういうマクロを標準で提供して欲しい。
    lambda とかいうヘッダファイルを用意して。

    #define labmda []
    foo(lambda foo(int x) -> int { return x; }); 

486 デフォルトの名無しさん [sage] Date:2008/04/26(土) 23:33:19  ID: Be:
    typo したがキニシナイ 

487 デフォルトの名無しさん [sage] Date:2008/04/27(日) 00:49:50  ID: Be:
    [] にはもう既に慣れちゃった 

488 デフォルトの名無しさん [sage] Date:2008/04/27(日) 03:30:50  ID: Be:
    委員会のキーワード忌避は強迫観念レベルだな 

489 デフォルトの名無しさん [sage] Date:2008/04/27(日) 03:33:59  ID: Be:
    それほど既存のソースが多すぎるのさ。
    そこはしゃーないと思う。
    でも、C99 の #define bool _Bool みたいに
    互換性を保ちつつキーワードを導入するテクはもっと使ってもいいと思う。 

490 デフォルトの名無しさん [sage] Date:2008/04/27(日) 03:48:53  ID: Be:
    無名関数のおかげで無名構造体にコンストラクタとデストラクタを搭載できるようになりました!
    大勝利ですね! 

491 デフォルトの名無しさん [sage] Date:2008/04/27(日) 04:06:37  ID: Be:
    一方ロシアはコンストラクタをthisで定義できるようにした。 

492 デフォルトの名無しさん [sage] Date:2008/04/28(月) 11:12:49  ID: Be:
    なんでlambda expressionのlambda-return-type-clauseって、
    ->を使うんだろ。
    コロンじゃだめだったのかな。
    たとえば、普通の関数も統一しようぜっていうN2582も、
    こんな風に書けるのに。

    [] func() : int
    {
      return 0 ;
    } 

493 デフォルトの名無しさん [sage] Date:2008/04/28(月) 11:35:23  ID: Be:
    #define : ->
    は無理だったっけ ... 

494 デフォルトの名無しさん [sage] Date:2008/04/28(月) 11:44:20  ID: Be:
    >>492
    見た目が違うだけじゃんw 

495 デフォルトの名無しさん [sage] Date:2008/04/28(月) 13:33:02  ID: Be:
     [] main(int argc, char* argv[]) -> int
     {
      //...
     }

496 デフォルトの名無しさん [sage] Date:2008/04/28(月) 18:35:05  ID: Be:
    >>492
    コロンはコンストラクタの初期化子と競合しそうだな。 

497 デフォルトの名無しさん [sage] Date:2008/04/28(月) 18:38:20  ID: Be:
    コンストラクタでは戻り値の型がないから大丈夫じゃね。
    文法的な紛らわしさに関してはまああるかもしれないが。 

498 デフォルトの名無しさん [sage] Date:2008/04/28(月) 18:46:28  ID: Be:
    ECMAScript4ってそんな感じじゃなかったっけ
    いやだなぁ 

499 デフォルトの名無しさん [sage] Date:2008/04/28(月) 19:30:15  ID: Be:
    function func() : int { return 0 ; }
    だったか。ECMAScript4は文法キモすぎて見たくもない。
    いつのまにかコンストラクタの初期化子まで採用してるし。 

500 デフォルトの名無しさん [sage] Date:2008/04/28(月) 19:35:51  ID: Be:
    テンプレートもあるよ!
    function func.<T>() : T { return new T(); } 

501 デフォルトの名無しさん [sage] Date:2008/04/28(月) 20:35:43  ID: Be:
    ぐはぁ 

502 デフォルトの名無しさん [sage] Date:2008/04/28(月) 20:42:16  ID: Be:
    しかしなぜ->なんだ
    Haskellかよ 

503 デフォルトの名無しさん [sage] Date:2008/04/28(月) 21:04:22  ID: Be:
    プログラミング言語 Scala
    http://pc11.2ch.net/test/read.cgi/tech/1205156417/

    Scala違いだ移動しる・・ 

504 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:49:10  ID: Be:
    returnでいいじゃんかよ
    コンフリクトはないはずだ

    [] func() return int
    {
      return 0 ;
    } 

505 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:50:51  ID: Be:
    なんかもうどうやってもキモいんだが。 

506 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:52:00  ID: Be:
    ラムダ式くらい 100% 型推論でやってくれ。 

507 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:53:18  ID: Be:
    そもそもどうしてラムダと形を合わせたいんだ
    コピペのためか? 

508 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:56:04  ID: Be:
    関数型言語的には→なんだから、
    ->でいいんじゃないの? 

509 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:58:39  ID: Be:
    関数型言語的にどうかは知らんしどうでもいいが
    C系言語的には->は昔からずっと間接参照演算子だ 

510 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:13:55  ID: Be:
    美少女中学生的には -> と [] はブラのホックの両端だから 

511 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:26:17  ID: Be:
    >>504
    それ、俺も思っていたんだけど、
    C++の文法としては、何か違和感あるよね。

    ところで、@と$がC++の規格にないのは、何か理由があるの? 

512 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:30:21  ID: Be:
    [] int foo() { ... } で不都合があったから -> になったんだと思うが、
    どんな不都合があったの? 

513 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:50:13  ID: Be:
    returnsのほうがいい 

514 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:53:10  ID: Be:
    >>512
    (charからcharへの関数)を引数に取り(intからintへの関数)を返す関数
    を引数に取り(charからintへの関数)を返す関数の型を、
    C++03(「関数」は「関数へのポインタ」とする)とC++0xで書いてみてくれ。 

515 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:58:27  ID: Be:
    int (*(int (*(*)(char (*)(char)))(int)))(char) のことだよね? 

516 デフォルトの名無しさん [sage] Date:2008/04/29(火) 00:10:24  ID: Be:
    グロい 

517 デフォルトの名無しさん [sage] Date:2008/04/29(火) 00:11:59  ID: Be:
    まぁ現状十分汚い言語なんだから、
    多少醜くなってもいいじゃん 

518 デフォルトの名無しさん [sage] Date:2008/04/29(火) 00:14:30  ID: Be:
    >>517
    いいこと言うなあ。君のそのレスで俺の気持ちは吹っ切れたよ。 

519 デフォルトの名無しさん [sage] Date:2008/04/29(火) 00:19:47  ID: Be:
    []([]([](char)->char)->([](int)->int))->([](char)->int) 

520 デフォルトの名無しさん [sage] Date:2008/04/29(火) 02:22:09  ID: Be:
    typedef char (*ctoc_t)(char);
    typedef int (*itoi_t)(int);
    typedef int (*itoc_t)(char);
    typedef itoi_t (*ctoc_to_itoi_t)(ctoc_t);

    typedef itoc_t (*answer_t)(ctoc_to_itoi_t);

    こんな型何に使うかは知らんが、使うとしたら
    きっと近くでitoc_t型やctoc_to_itoi_t型の変数も必要になるだろ
    ならそんなキモい書き方しないで必要なものをtypedefで作るべき 

521 デフォルトの名無しさん [sage] Date:2008/04/29(火) 06:35:41  ID: Be:
    >>519の方がわかりやすいが? 

522 デフォルトの名無しさん [sage] Date:2008/04/29(火) 07:06:50  ID: Be:
    >>519
    これは従来のアナルっぽい記法よりは読みやすいな 

523 デフォルトの名無しさん [sage] Date:2008/04/29(火) 07:15:37  ID: Be:
    >>511
    いまさらtrigraphやdigraphの要るような記号追加するのもねえ…ってことじゃないかと予想 

524 デフォルトの名無しさん [sage] Date:2008/04/29(火) 07:38:26  ID: Be:
    >>523
    そういう理由なのかなぁ。
    しかし、trigraphやdigraphって廃止しても、それほど互換性の問題も無いんじゃないかなと
    おもったりするんだけど。
    西側の、なまじ7bitで全種類の文字を表せちゃったので、悲惨なことになっている連中も、
    結局使ってないみたいだし。 

525 デフォルトの名無しさん [sage] Date:2008/04/29(火) 09:39:20  ID: Be:
    >>521
    まずそんなものを書く状況自体が無いな。
    あっても >>519 も読みづらいから typedef 使うわ。

C++はもうわけわかりませんな(^^;。 ふと、x86のインストラクションの拡張の歴史を思い出した(笑) 最短は1バイトの命令からで、最長だと今は何バイトまでありうるんだ? 11バイトとかそのあたりのパターンを以前聞いたことがあるけど (単一のインストラクションじゃなくて、repeat prefixとかついてたと思う)。

Rubyについて Part 31

300 デフォルトの名無しさん [sage] Date:2008/04/28(月) 01:50:58  ID: Be:
    ところでお前らruby kaigiはつくば周辺で宿取るの?
    なんであんな辺境の地でやるんだよ。。。 

301 デフォルトの名無しさん [sage] Date:2008/04/28(月) 02:40:19  ID: Be:
    TX使えばまあ何とか 

302 デフォルトの名無しさん [sage] Date:2008/04/28(月) 03:03:31  ID: Be:
    まつもと氏が筑波大を出てるからとか? 

303 デフォルトの名無しさん [sage] Date:2008/04/28(月) 05:54:47  ID: Be:
    単に安く貸してくれるからじゃないの。 

304 デフォルトの名無しさん [sage] Date:2008/04/29(火) 00:16:59  ID: Be:
    筑波は日本のマサチューセッツ(笑)ですからwww

    あ、何か本家まで「マサ厨摂津」って関西圏みたく見えてちまった…… 

305 デフォルトの名無しさん [sage] Date:2008/04/29(火) 01:52:34  ID: Be:
    >>304
    茨城と茨木とかな。 

自分は開始時刻が8amとか9amとかではないので、 (自宅から秋葉原へ出て)秋葉原からTX使っても何とかいけるんではないかと踏んでいます。 つか現地近くの宿ってどんなかんじなんでしょか。

Ruby 初心者スレッド Part 19

298 デフォルトの名無しさん [] Date:2008/04/28(月) 19:42:33  ID: Be:
    Rubyの利点って何?
    Javaプログラマの俺にわかりやすく説明して 

299 デフォルトの名無しさん [sage] Date:2008/04/28(月) 19:55:52  ID: Be:
    状況も設定せずに利点を挙げろつってもなぁ。
    まずは自分の疑問をわかりやすく説明しる。 

300 デフォルトの名無しさん [sage] Date:2008/04/28(月) 20:02:49  ID: Be:
    適当な捨てプロ書くのに凄く楽。 

301 デフォルトの名無しさん [sage] Date:2008/04/28(月) 20:09:52  ID: Be:
    >>298
    君にとって利点はないと思うよ 

302 デフォルトの名無しさん [sage] Date:2008/04/28(月) 20:37:12  ID: Be:
    気楽に楽しくプログラミングできる 

303 デフォルトの名無しさん [] Date:2008/04/28(月) 20:37:35  ID: Be:
    >>301
    その返し方は誤解を与えるかもな。
    ほとんどの人にとって利点はないと答えたかったんだろ? 

304 デフォルトの名無しさん [sage] Date:2008/04/28(月) 21:00:15  ID: Be:
    >>300
    それあるなぁ。
    ワンライナーも併せて便利 

305 デフォルトの名無しさん [sage] Date:2008/04/28(月) 21:10:58  ID: Be:
    >>303 一人で納得してれば 

306 デフォルトの名無しさん [sage] Date:2008/04/28(月) 21:51:50  ID: Be:
    rubyで大枠の処理を書いて、細かいところはJavaを呼び出す 

307 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:09:01  ID: Be:
    JRubyでうんたらかんたらできる。
    初期起動がかなり遅いけど。 

308 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:36:39  ID: Be:
    Rubyの利点って何って話だけど、
    それよりむしろJRubyの利点が知りたい。 

309 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:38:33  ID: Be:
    JRubyの利点ってJavaのクラスが呼び出せるとかじゃないのかな。
    これができると膨大なJavaのライブラリも使えるし。

    個人的にはSwingあたりのGUIライブラリが楽に使えるとありがたい。

310 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:40:57  ID: Be:
    大量にあるJavaの資産が使えるのがありがたい
    標準のライブラリだけで大抵のものが一揃いして、もちろん完成度も高め。Swingもあるし 

311 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:47:59  ID: Be:
    >>309
    >>310
    へー、そうなんだ!
    JAVA屋さんには便利なのかな

    そういえばIronRubyはどうなったんだろう 

312 デフォルトの名無しさん [sage] Date:2008/04/28(月) 22:55:35  ID: Be:
    >>308
    (顧客の)サーバにRubyのバイナリを入れるのは(政治的な意味で)非常に大変だが、
    Javaはデフォで入ってるので、jarを1個放り込めばよいJRubyは非常にありがたい。

313 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:12:25  ID: Be:
    >>312
    その発想はなかった!
    業務で使ってる人は大変なのね 

314 デフォルトの名無しさん [sage] Date:2008/04/28(月) 23:40:01  ID: Be:
    >>312
    これあるよねー
    unzipコマンドがない客先のサーバでzipファイルを解凍しなきゃいけなくて
    さてどうしようと思ってたら、jarコマンドで解凍できた。
    このときはjavaすげーとおもった。 

312の指摘は思いつかなかった。そりゃあ便利だろう。 Jythonも同じか?

ぐち0x19 ~上司が馬鹿で困る~
ぐち0x19 ~上司が馬鹿で困る~

238 仕様書無しさん [sage] Date:2008/04/29(火) 10:59:32  ID: Be:
    サーバー名の確認ミスで、DB潰したという緊急連絡が入りました。



    宮城行ってきます。 

239 仕様書無しさん [sage] Date:2008/04/29(火) 11:12:33  ID: Be:
    お土産ヨロシク(=゚ω゚)ノ 


240 仕様書無しさん [sage] Date:2008/04/29(火) 12:30:26  ID: Be:
    俺の会社にも>>238みたいな連絡入ったw
    しかし行かない、保守契約が4月28日で切れたw

    あはははwさーて俺は実家帰る準備しないとな♪ 

241 仕様書無しさん [sage] Date:2008/04/29(火) 15:02:07  ID: Be:
    >>240
    Sonyタイマーかよ! 

242 仕様書無しさん [sage] Date:2008/04/29(火) 15:24:39  ID: Be:
    約3時間でメールが200件も着ています
    留守電も130回ぐらいきているようですw

    でもいかない

243 仕様書無しさん [sage] Date:2008/04/29(火) 16:29:24  ID: Be:
    >>242
    ちゃんと契約期間が終了したことを言ったのか?
    言ってあるんだったら威力業務妨害じゃないか? 

宮城かあ。萩の月食いてえ(笑) 242の留守電ってのは自分の携帯電話にかな? まあ前日に終了していたというのならご愁傷様としか言いようがないな。 でも、スポットでなんとかしてくれるってオプションはないのかな (スポットだと割高にはなるだろうけど)?

【果てしなく】使えない新人 0x14

207 仕様書無しさん [] Date:2008/04/24(木) 12:49:26  ID: Be:
    新人君、君たちに有給はまだないんだよ。
    仕組みはちゃんと説明しただろ!!!

    なんだこの
     4/28 有給休暇申請
     4/30 有給休暇申請
     5/ 1 有給休暇申請
     5/ 2 有給休暇申請
     5/ 5 有給休暇申請
    は!!!

    理由:旅行


    なめすぎじゃあ!!! と即却下したら泣かれた。  俺にどうしろと・・・


347 207 [] Date:2008/04/28(月) 19:11:53  ID: Be:
    5/5は間違いですた。5/7ね。

    で、その新人は今日は体調不良で欠勤。連絡が11時なので部長は普通に激怒。
    俺らの間では、水曜日休んだら、クビ確定するかもしれないから電話があったら
    その時点で問いたださないと、ということになっている。

    まあ正直、礼儀知らずで、禁止事項あっさり破って机の上で菓子食ってたような奴なんで
    いなくなるなら今のうちにクビになってくれって感じだわ 

348 仕様書無しさん [sage] Date:2008/04/28(月) 19:31:11  ID: Be:
    ゆとり世代が再来年から社会に出てくるわけだが、
    頭が痛いなあ。優秀な連中はうちにはこないだろうしな。 

354 仕様書無しさん [sage] Date:2008/04/28(月) 23:09:34  ID: Be:
    >>347
    水曜が楽しみすぎる
    続報ヨロ 

さて次の207の書き込みが楽しみだw

中島愛 Part1

47 名無しさん@お腹いっぱい。 [sage] Date:2008/04/12(土) 03:35:30  ID:NIaGmI2e0 Be:

    マクロス的には実にいい演技だと思うのだが。。。
    あんまりいじめると先代みたいにトラウマになって
    「アニメの歌は歌いません!」とか言われるぞw

わははは :-)

RubyやRailsを使っている開発者が読んでおくべき本ということでイロイロあげられているんですが


The FiveRuns Library

What Books Do Great Ruby/Rails Developers Read?

Which ones do they recommend? Which ones do they bring to work, share with their team 
or ask to have purchased for the office? What’s on the rest of our staff’s reading 
list? Well, I’m the guy that buys them for FiveRuns, so here’s a snapshot of our 
bookshelf.

Programming Ruby: The Pragmatic Programmers’ Guide by Dave Thomas and Andy Hunt
The Ruby Way by Hal Fulton
The Rails Way by Obie Fernandez
Deploying Rails Applications by Ezra Zygmuntowicz, Bruce A. Tate and Clinton Begin
Best of Ruby Quiz by James Edward Gray II
The Ruby Cookbook by Lucas Carlson and Leonard Richardson
The Ruby Programming Language by D. Flanagan and Yukihiro “Matz” Matsumoto
Agile Web Development with Rails by Dave Thomas and David Heinemeier Hansson
High Performance MySQL
The Wisdom of Crowds by James Surowiecki
Design Patterns in Ruby by Russ Olsen, with Forward by Obie Fernandez
The Cathedral & the Bazaar by Eric S. Raymond
Winners Never Cheat by Jon M. Huntsman
Pulling Strings with Puppet: Automated System Administration Done Right by James Turnbull
Advanced Rails by Brad Ediger
Ruby for Rails: Ruby Techniques for Rails Developers by David Black 

リストの内容はどうでもよくて、 blogの上の方にある写真にドーモくんぬいぐるみ写っているのが激しく気になるのですが なぜこんなところに?(笑)

ロードマップ(Rakudo)

Perl 6の実装の一つであるRakudoのロードマップが公開されたとか。 Journal of pmichaud (6013) http://svn.perl.org/parrot/trunk/languages/perl6/ROADMAP

Updated: 2008-04-28

Milestones
----------

This is a rough list of the major components to be added to Rakudo
over the next few months:

* list context, list assignment
* return and control exceptions
* class, role, objects
* regex, token, rule, grammar
* selected libraries written in Perl 6
* modules
* junctions
* lazy lists
* slices
* multi sub & multi-method dispatch
* captures and signature handling
* operator overloading
* other S09 features (typed arrays, sized types)
* heredocs
* macros
* module versioning

The list above also gives a sense of the rough prioritization
of things -- i.e., getting return and control exceptions to work
is a higher priority than heredocs or macros.  But it's also
not intended to be rigid nor strictly sequential -- it's okay
for people to work on some of the later milestones even if the
earlier ones aren't complete.

  

RuleのところはPugsでもまだ完全ではなかったと思うので激しく期待する次第。

Zed とライセンス

ZSFA -- 2008-04-29



ZSFA -- 2008-04-29LGPL?

There’s also been a few good submissions from some folks with suggestions for 
typesetting improvements, Pygments patches and improvements, Vellum bug reports, and 
the PIDA project wants to use Vellum as their build specification system. They’ve 
asked if I’d change the license to LGPL so I thought I’d toss the question out and 
see how people feel about the licenses.

My main motivation for going with GPLv3 is to prevent the common situation where 
corporations take the work, modify it, and don’t give it back. I’m also pretty down 
on corporations in general these days, so I may even consider a dual license of BSD 
for non-profits and GPLv3 for corporations.

Any thoughts on the subject of licenses for Vellum are welcome.

don't give it backってのがポイントなんだろうなあ。 その後の文章は「金儲けに絡まないことに使うならBSDライセンスで使えるようにするかも」 ってことかな? んで、会社が使うならGPLv3縛りにするよ、と。

今日の残りご飯

2008年04月28日

■_

朝。 普段とほぼ同じ時間に出勤したはずなのに、事業所近辺で見かける人数が異常に少ない。 ひょっとして遅刻してしまったのだろうかと勘違いするほどに(笑)

飛び石連休なので、有給休暇を取得した人が多かったのかも知れず。 とはいえあの人影のまばらさは異常だよ(笑)

ちょっと前に書いた時計の修理の件。 購入した量販店に行ったのですが、なんと今は腕時計そのものの扱いをやめてしまったとのこと。 ただし修理の受付はしてくれるということでした。 が、今修理の依頼をしても修理完了して戻ってくるのは一ヶ月くらいかかるのではないかと 云われますた。GWまっただなかということもあるんでしょうが、 一ヶ月腕時計なしはちと辛いので、連休明けに新ためて修理依頼を出すということに。 まあ新しく買っても3万円前後の代物なんですが、それだけあればDVDが何枚か買えるしw ということと、 おかしいのは腕にとめるための金具であってムーブメントは何の異常もないので 自分の手元にない期間を短くするには連休明けに修理に出したほうがよいでしょうと。

■_ 小うるさいコンパイラ

gnu-utils メーリングリストから。

gawk 3.1.6: rand.awk test case alignment problem
As an aside, when trying to locate the problem I used -Wextra which gives
this warning (amongst others):


dfa.c: At top level:
dfa.c:762: warning: missing initializer
dfa.c:762: warning: (near initialization for 'prednames[12].pred')


This turned out to be a red-herring. I think the following change may better
reflect what the compiler actually produces, and what the programmer
intended. (It's some time now since I looked at this, but I think that the
search of the array can't run off the end.)


--- gawk-3.1.6/dfa.c            2007-09-03 03:30:12 +0000
+++ gawk-3.1.6.ro2/dfa.c        2008-01-02 14:22:54 +0000
@@ -759,7 +759,6 @@ static struct {
  { ":graph:]", is_graph },
  { ":cntrl:]", is_cntrl },
  { ":blank:]", is_blank },
-  { 0 }
};
Re: gawk 3.1.6: rand.awk test case alignment problem

This is now applied. It'll be showing up in CVS shortly. See my earlier note about the 
dfa.c patch, which isn't correct, but I've added the correct fix and it will be in CVS 
shortly also. While I agree with Andy that POSIX doesn't require integer alignment, 
I'd just as soon do something that doesn't break other systems than try to fight GCC / 
architecture problems. Thanks! Arnold

#    	      Line 759  	                     Line 759 
759 	   { ":graph:]", is_graph }, 	   { ":graph:]", is_graph },
760 	   { ":cntrl:]", is_cntrl }, 	   { ":cntrl:]", is_cntrl },
761 	   { ":blank:]", is_blank }, 	   { ":blank:]", is_blank },
762 	   { 0 } 	                   { 0, 0 }
763 	   }; 	                           };
764 	  	 
Re: gawk 3.1.6: rand.awk test case alignment problem
Ah, but C guarantees that if you 0-initialize the first element of a
struct or array, the remaining elements are implicitly 0-initialized.  So
even though this patch omits the second element of the final struct,
adding an explicit NULL won't change the behavior.
Re: gawk 3.1.6: rand.awk test case alignment problem

Eric, You are correct about the semantics of C. Strictly speaking, explicitly 
initializing the other element is not necessary, but GCC with a certain option 
complains. It's easy to silence the complaint, which is what I did. (It also makes for 
cleaner, more obvious code.) REMOVING the initializer is wrong: This is an array whose 
size is determined based on the number of elements in the initializer, and the code 
that uses this array depends on there being a null pointer in the first field to 
signal the end of the array. HTH, Arnold

gccのチェックがやかましいので手っ取り早い手段で黙らせましたよ。と。

■_ あなたならどう回答しますか?

from Yahoo!知恵袋。 10年くらいプログラマーをしていますが、伸び悩んでいます。経験を積んだプログ... - Yahoo!知恵袋

10年くらいプログラマーをしていますが、伸び悩んでいます。経験を積んだプログ... - Yahoo!知恵袋

10年くらいプログラマーをしていますが、伸び悩んでいます。経験を積んだプログラマーでも
スキルアップのためになるお勧めの本は無いでしょうか?


補足
どの言語というわけではありません。VBA、VB、VC++、C#、Java 全て使用しています。
プログラムのコーディングは、言語が違えばコードが異なることは当然です。
でも、基本的な書き方の構造・関数をどのように分けて作成するか等の
コーディング技法のバイブルとなるようなお勧めの本があればと思いまして・・・
後輩の育成にも使用したいので!!

十年やっててそれか。 後輩の育成云々言えるような立場なのか。 等々云いたいところですが幾ら遅くても手遅れなことはないと前向きに考えてみるとして。

これまでの経験がわからないのでどうしたものか悩むところではありますが、 多分この辺を読んだことはないだろうなあという仮定をおいて。

このあたりが無難な線か? さすがに作法と書法は使っている言語が古すぎてオススメできんなあ。

■_ Zed、litterrate programmingについて述べる

ZSFA -- 2008-04-26

ZSFA -- 2008-04-26
Knuth On Literate Programming

The ideas in Idiopidae are nothing new, as Donald Knuth has been actively promoting 
Literate Programming for over two decades. The main problem with LP though is its 
insistence on combining the code and the prose into a single file. There’s serious 
technical and social issues with this design choice, but in this very good interview 
with Knuth he mentions a quote that summarizes things quite well:

Donald Knuth がこの二十年以上にわたり熱心に宣伝し続けているLiterate Programming

Literate Programmingの大きな問題というのは、コードと proseを一つのファイルにまとめる
という insistence (無茶。とでもするか?) にある。
このような設計上の選択には技術的な問題と、社会的な問題とがある。


    Jon Bentley probably hit the nail on the head when he once was asked why literate 
    programming hasn’t taken the whole world by storm. He observed that a small 
    percentage of the world’s population is good at programming, and a small percentage 
    is good at writing; apparently I am asking everybody to be in both subsets. 
However, this doesn’t cover the absolute hardest technical problem with combining code and prose in the same source file: syntax escape overload. しかしながら、これはコードとproseを一つのソースファイルに結合してしまうという もっとも困難な技術的課題、syntax escape overloadd をどうこうしてくれるものではない。 When you use most LP systems you’re taking the source or two whole languages with completely different lexical and semantic meaning, and then trying to cram them together. This means juggling in your head two different syntax structures and how to merge them together with escape sequences. The technical difficulty of this probably borders on an grammar that would rival Perl or Ruby’s. This is a major technical hurdle for both people implementing such systems and for the users. As an implementer, I have to create a parser or some hack that can accurately handle both languages. I also have to figure out how the escape sequences are given to the users, how they can encode elements of one language in the other (say for giving constants a bold font). This is a huge task, so no wonder why all the literate tools out there also do a shitty job at finally typesetting the resulting code. For the users they have to use their brain in ways that don’t make sense for either a programmer or a writer. A programmer has to work in terms of structure and algorithmics with the hardest problem on many projects being finding things of interest. A writer has to work on the creativity of the prose, entertainment, whether it reads so that it makes sense, and how best to keep the reader engaged. When I code I don’t give a damn if the reader is engaged, I care if he can understand what’s written, but I’ll be damned if I’m supposed to entertain some dork who’s paid to know this stuff. These flaws then extend to every other aspect of computer science. When people do LP they typically keep all the code and prose in one giant file, maybe a few medium sized ones if you’re lucky. This is a nightmare for revision control since people on a team will constantly be conflicting with other team members. This makes it hard to break out the work, share it with others, hell even find where something is in the source. Can you imagine trying to grep for a normal C idiom but having to modify what you look for to handle TeX escaping just in case it shows up in a spot that’s inside TeX? In the end, LP seems to have missed out on the biggest advancement in software development since it started: compilers. A compiler no longer expects you to keep your source in one file, but instead has insanely good (or in C’s case, okey-dokey) support for inclusion, exporting, combination, and sharing of code. Modularity and encapsulation into libraries, modules, objects, and functions has all been supported by compilers since they started being used to create larger projects. Yet, LP almost misses this and does an “inverse compiler” You write the final combined document and then it writes what you’d normally include in the document. Insane. It makes much more sense and works a hell of a lot better with modern tools (“modern” being after 1980) if the way programmers do Literate Programming works the way they do regular programming. But, TeX is still pretty damn sweet.

■_ ふと思い浮かんだフレーズ

無闇な cast は避けるべき - odz buffer

無闇な cast は避けるべき - odz buffer
■[C]無闇な cast は避けるべき

    * ref:http://d.hatena.ne.jp/PyTest/20080426/1209199486

下のと同じ記事だが。

    void *list[] = {write_cat, write_dog};
    void *function;
    function = list[valur];
    ((void(*)(void))function)();
無闇な cast というか、無闇に void ポインタを使わないほうが良い。
    void (*list[2])(void) = {write_cat, write_dog};
    void (*function)(void);
    function = list[value];
    function();
まぁ、関数ポインタが絡んだ宣言は分かり難いことこの上ないので、通常は typedef するのが良い。

(Cスタイルの)キャストは最後の武器だ

実際の元ネタの番組を観たことはありません(いや、ホントに)。

■_ うぉるたん


d.y.d.
んで数年の月日が過ぎて Mac がうちにやってきた!のでした。こんなグラフィカルなマシンな
ら本格的なゲーム作れる、 ってゆーか具体的にはドラクエ3クローン作れる!!と思って、プ
ログラム組める環境入れてくれくれ君に なって親にねだったら THINK C / Symantec C++ がう
ちにやってきた!のでした。BASIC のつもりだったのにいつの間にか C になっててどうしよう
かと思いました。 てか今思ったんですけど Symanetc C++ ってことは ウォルタン のコンパイラだっ
たんですかね、これ、もしかして。

DOS/Windows向けのSymtantec C++ だと確実にそうだといえると思いますが、 Mac向けのほうだとちと微妙なような気がします。 Walter Bright Home Pageにある 彼が関わったコンパイラのリストを見ても

Walter Bright Home Page

    C and C++ compilers:
    Northwest Software C
    Datalight C
    Zorland C
    Zortech C++ (the first native C++ compiler)
    Symantec C++
    Digital Mars C++

THINK Cの文字はありませんし、どうも THINK Cの開発元を Symantec が買収したという 経緯があるようです。

THINK C - Wikipedia, the free encyclopedia

THINK C was an extension of ANSI C for Mac OS developed by THINK Technologies; 
although originally named "LightspeedC", it was later renamed Think C due to 
a lawsuit . THINK Technologies was later acquired by Symantec Corporation and the 
product continued to be developed by the original author, Michael Kahl. Version 3 and 
subsequent versions were essentially a subset of C++ and supported basic object 
oriented programming concepts such as single inheritance as well as extensions to the 
C standard that conformed more closely to the requirements of Mac OS programming. 
After version 6, the OOP facilities were expanded to a full C++ implementation, and 
the product was rebranded Symantec C++ for versions 7 and 8, now under development by 
different authors.

今日の新顔さん

PLNewsその他から。

なんか名前がスゲーぞ(笑) Flaming Thunder

Flaming Thunder is a powerful computer programming language for scientists, 
mathematicians and engineers that is also easy enough for elementary school students.

Scientists, mathematicians and engineers will appreciate Flaming Thunder's advanced 
features such as arbitrary precision math, interval arithmetic, easy CGI scripting for 
website development, support for 32- and 64-bit platforms, small footprint (less than 
170K of disk space – Flaming Thunder is programmed entirely in assembly language) and 
support for FreeBSD, Linux, Mac OS X (Intel-based) and Windows.
  
Dao 1.0 Preview Released - PLNews: Programming Language News
Dao 1.0 Preview Released
Posted: 2008-04-27 09:58:05
Languages :: Dao

Dao 1.0 Preview has been released. Dao is a dynamically-typed, multithreaded, 
object-oriented scripting language.

This preview release includes: a new type system and new data types, a macro system, 
improved support for concurrent and distributed programming, plus other changes.
Lisp Flavoured Erlang 0.2 Released - PLNews: Programming Language News
Lisp Flavoured Erlang 0.2 Released
Posted: 2008-04-27 10:00:06
Languages :: Erlang
Languages :: Lisp

Lisp Flavoured Erlang 0.2 has been released. It is a Lisp syntax front-end to the 
Erlang compiler.

This release includes: separate variable and function namespaces, macro-related 
cleanups, pattern aliases, and other changes.

Lisp風味のErlang…

またも想定GUY

これも邦訳が出版されるとはっ Unix/Linuxプログラミング理論と実践
Unix/Linuxプログラミング理論と実践

帰り道の書店で目撃

しかし600ページオーバーの大型本は今買うのはつらいので(ヘネパタもまだだというのに) 泣く泣くスルー。

この本のすごさ/すばらしさについてはWataru's memo(2007-04-02) をどうぞ。

最後に、文中で見つけた Molay 氏の含蓄の深い言葉を紹介しておきましょう。

    Unix programming is not as difficult as you think, but it is not as easy as you first imagine.

「UNIX プログラミングは皆が思うほど難しくはないが、また易しくもない」、名言だと思います。

  

今日の(ry

2008年04月27日

スティグリッツの Amazon.co.jp: 世界に格差をバラ撒いたグローバリズムを正す を読み始めた。先に同じスティグリッツ著書の入門経済学をとも思ったのだけど、 ちょっと厚い本でしり込みしたのでw、こっちを先に。まだ数十ページくらいだけど、 トリクルダウン理論(富裕層が裕福になればそのおこぼれが貧困層にもめぐって 社会全体が潤うとかいうあれ)がほぼ否定されているものであるとか、 貿易と安全保障とかなるほどとかへーと思わせるものがたくさん。 まあこれまでの自分の不勉強のなせるところではあるし (大学一年で必修の4単位だけだからなあ経済学はw)、 異なる意見を持つ学者先生もいるだろうけどそれはそれということで まずはこの本を読み進めることにしよう。

ところで適当な分量の経済学の入門書ってないですかね~。 弘兼憲史のキャラクタが表紙を飾っているイカニモな本はあったがあれではなあ(笑)

その他本日の購入物
Selfconsciousness-岩崎琢 劇伴音楽集-
Selfconsciousness-岩崎琢 劇伴音楽集-
あそびにいくヨ!3 (MFコミックス アライブシリーズ)
あそびにいくヨ!3 (MFコミックス アライブシリーズ)
レンタルマギカfromSOLOMON (2) (角川コミックス・エース 191-2)
レンタルマギカfromSOLOMON (2) (角川コミックス・エース 191-2)
夜桜四重奏 4 (4) (シリウスコミックス)
夜桜四重奏 4 (4) (シリウスコミックス)

POD

どなたかのblogで褒められていたのか、2ちゃんのスレだったのかが思い出せないのですが こんな本を買ってみました。
対話によるCommon Lisp入門 POD版
対話によるCommon Lisp入門 POD版

正確に云うと本のタイトルにある「POD版」というのがないのが紹介されていた本で、 それが絶版状態でありマーケットプライスでも結構なお値段がついていたのですが、 その本にはPOD版(Print On Demand)という体裁で復刻されたとかいう話らしいです。 でまあ物は試しということで買ってみた次第。


ぱっと見た感じでは、 POD版だからといっても通常の製本と比べて出来が悪いとかいったことはないようです。 ハードカバーのような本だと厳しいような気もしますが、 こういう形でもいいので、いい本は長く手に入れやすい状態にしていてほしいと思います。

Lispといえば。 Amazon.co.jp:新品および中古商品: 初めての人のためのLISP (ソフトウェアライブラリ (3)) ですが、うーむ今日(4月27日深夜)の時点で14500円ですか。 いい本だし自信を持って薦められる本だとは思いますが、この金額に見合うかどうかというと うーーーーん (前にも書いてますが、1986年発行の本ですから)。 id:mukakenさんが復刊リクエストに一票投じたということですが、 わたしも一票いれるとしましょう。もう一冊増えたっていいし(笑)

from 2ch

初心者のためのプログラミング言語ガイド Part8

497 デフォルトの名無しさん [sage] Date:2008/04/26(土) 21:36:50  ID: Be:
    草野球 → HSP、Delphi
    バッティングセンター → perl、PHP、XML
    職業野球 → C++、C#、JAVA 

498 デフォルトの名無しさん [sage] Date:2008/04/26(土) 21:46:14  ID: Be:
    機械翻訳のプログラム書くことの方が尊敬されると思うが。 

499 デフォルトの名無しさん [sage] Date:2008/04/26(土) 21:46:58  ID: Be:
    Rubyはさしずめ、野球経験ゼロの単なるファンなのに
    選手に物申すコラムとか書いちゃう作家とか文化人(笑)のたぐいかな。 

500 デフォルトの名無しさん [sage] Date:2008/04/26(土) 21:49:22  ID: Be:
    なぜいきなりRubyの話が出てくるのだか。

    >>499は本当だけど。
    あの作者の脳内にだけリファレンスがある、
    ってな状況は改善されないのかな。紅い信者が守ってる間は変わらないか。 

501 デフォルトの名無しさん [sage] Date:2008/04/26(土) 22:05:26  ID: Be:
    関数型言語の話題が消えたな。やはり人口が少ないのかね。

    だけど、Cobol何十年の奴が、これから言語を学ぶ人間に向かってCobolの
    学習方法を説教したとして、それが初心者の為になるか?

    同じことはJavaだのC#だのを推奨するのも同じだよ。これから関数型言語で
    決まりなんだからさ。Javaとかもう終わってる言語を勧めるのは間違ってるな。 

502 デフォルトの名無しさん [sage] Date:2008/04/26(土) 22:10:06  ID: Be:
    これからはメタプログラムだろ 

503 デフォルトの名無しさん [sage] Date:2008/04/26(土) 22:10:12  ID: Be:
    そうか黄金厨か 

504 デフォルトの名無しさん [sage] Date:2008/04/26(土) 22:13:06  ID: Be:
    >>501
    だから上で機械翻訳っていったじゃないか。 

505 デフォルトの名無しさん [sage] Date:2008/04/26(土) 22:44:10  ID: Be:
    >>504
    ちゃう世界は意味論やメタを駆使して
    プログラムからプログラムを自動生成
    する方法を個々人でも学び始めた

    関数型言語は古くからあってもうある程度
    概念が理解できれば手になじむ道具になってる
    あとはどうやって将来を作っていくかを
    考えないとやばい。

506 デフォルトの名無しさん [sage] Date:2008/04/26(土) 23:00:34  ID: Be:
    これから関数型言語で決まり(笑)

507 デフォルトの名無しさん [sage] Date:2008/04/26(土) 23:59:33  ID: Be:
    プログラミングしたい、から始まる人は少ないんじゃない。
    ~がしたい、か、~をするものを作る必要がある、とかから始まるはずだ。
    前者はしたいことを実現できるライブラリなどを使って作れるようになるし、
    後者はドメイン特化言語とかで作るだろ。
    言語がどうのだとか本来必要ない部分だよね。 

508 デフォルトの名無しさん [sage] Date:2008/04/27(日) 01:26:18  ID: Be:
    手続き型でやや機械語に近いものと関数型で結構原始的なもの、
    それなりの歴史があって大規模なソフトを記述した実績のある言語、
    たとえば、CとLispとか。
    それと、正規表現と一般的なアルゴリズムを身につけたら大概対応できるような。 

509 デフォルトの名無しさん [sage] Date:2008/04/27(日) 01:54:15  ID: Be:
    あとはオブジェクト指向的な思考法か 

510 デフォルトの名無しさん [sage] Date:2008/04/27(日) 03:21:52  ID: Be:
    オブジェクト指向はほんとの初心者には向かない気も 

511 デフォルトの名無しさん [sage] Date:2008/04/27(日) 03:45:17  ID: Be:
    だから関数型が注目されてるのだろう 

512 デフォルトの名無しさん [sage] Date:2008/04/27(日) 03:59:52  ID: Be:
    オブジェクト指向なんて、一人で遊ぶだけの人には、しばらく必要ない代物じゃないの?
    新しいC#とかやるのならいいのかもしれないけど、C++始めるのとかはどうもね・・・ 

513 デフォルトの名無しさん [sage] Date:2008/04/27(日) 04:52:30  ID: Be:
    関数型言語は日本語がダメだったり開発環境がなかったりでパっとしないね
    ある意味Cより簡単だから必要になってから勉強すればいいんじゃないか 

514 デフォルトの名無しさん [sage] Date:2008/04/27(日) 04:56:20  ID: Be:
    HSPが最強 

515 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:01:08  ID: Be:
    >>513
    知識を書きためていこうというなら、
    「C#よりは関数型でしょ。」
    「XMLで書くより、ルールを書き易いよ」
    と関数型言語を勧める。
    でも質問の過半が「Windowsアプリ作りたいんです」だからねw

516 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:13:53  ID: Be:
    プログラミングも仕事とする場合は、40年・50年ががり。
    二世・三世と引き継いでいって、それでものになるかという
    ものでしょう。
    さすがに、30年後にC/C++,C#が存在するとは思えないが、
    関数型は確実にある。 

517 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:15:04  ID: Be:
    やや、ががりになってしまった。 

518 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:15:34  ID: Be:
    C/C++ がなくなることはないだろ・・・。
    最低でも OS 記述言語として永遠に残るよ。 

519 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:17:50  ID: Be:
    >>518
    そうかなぁーー。 

520 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:19:04  ID: Be:
    関数型信者の妄想は激しいな・・・。 

521 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:20:18  ID: Be:
    >>520
    でも、知識プログラミングの息は長いよ。 

522 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:20:43  ID: Be:
    そもそも関数型という大きなくくりで 「確実にある」 とか言われても・・・。
    それと比較するのは手続き型言語だし、手続き型言語は確実にあるだろう。
    関数型は死滅してるかもしれないが・・・。 

523 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:21:10  ID: Be:
    C言語はアセンブラを、どのCPUでも使えるようにしたようなものでしょ
    最もふつうの言語とおもう 

524 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:21:42  ID: Be:
    と、いうより、あっという間に三十年くらい経ってしまう。 

525 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:29:13  ID: Be:
    組み込み系では必ず残るだろうな。 

526 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:30:21  ID: Be:
    過去の資源がある言語ってのはなんだかんだで残るもんだ。
    COBOL みたいな糞言語でも残っちゃう。 

527 516 [sage] Date:2008/04/27(日) 05:30:23  ID: Be:
    そうか、30年でC++死滅もちょっと無理があったか・・・。 

528 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:38:51  ID: Be:
    これならどうだ。
    30年後にはデバイスも含めて命令はすべて関数型に置き換わる!!

529 デフォルトの名無しさん [sage] Date:2008/04/27(日) 05:42:46  ID: Be:
    ホットスーププロセッサがもっともいい言語 

531 デフォルトの名無しさん [sage] Date:2008/04/27(日) 10:41:49  ID: Be:
    C言語を特別視するのはどういう理由なの?

    アセンブリではなくて、C言語がちょうど良い言語だという
    理由は? 

532 デフォルトの名無しさん [sage] Date:2008/04/27(日) 10:48:00  ID: Be:
    C 言語は高級アセンブリ言語だから。
    生産性と低級性のバランスがとれてる。 

533 デフォルトの名無しさん [sage] Date:2008/04/27(日) 10:54:46  ID: Be:
    >>532
    そういう点では初心者向きじゃあないんじゃないかな。それこそ、
    組み込みとかOS実装とかの為の言語だと思う。

    実際、Web系はかなり前からJavaとか、最近だとスクリプト系に
    なってるでしょ?ハードウェアを直接制御したい場合を除いては
    不要になっていくんじゃないかな。 

534 デフォルトの名無しさん [sage] Date:2008/04/27(日) 10:57:32  ID: Be:
    プログラムがどうやって動いてる、どうメモリが使われてるかとか理解するのにCは非常にいいと思うぞ。 

535 デフォルトの名無しさん [sage] Date:2008/04/27(日) 11:00:45  ID: Be:
    >>531
    移植性も重要

    >>533
    必要なハードウェアリソースが小さいのも特徴。
    初心者向きじゃないことは、業務においては大したメリットではない。
    より生産性の高い言語を使う言語を使うことにより、開発コストが
    安くできる可能性はあるが、しょせんソフトウェアは固定費。
    生産性の高い言語を使うことにより、性能の高いハードウェアが
    必要になれば、それは生産原価に直接影響する変動費になるので、
    現実的ではない。

    極論に言い換えれば、ソフトウェアの開発費は使い捨ての人件費なので、
    プログラマに楽をさせる必要はない、ってこと。 

536 デフォルトの名無しさん [sage] Date:2008/04/27(日) 11:04:56  ID: Be:
    こいつらは一体どの初心者に答えてるんだろう。
    それともただの独り言か。 



【肥大化】C++ を見捨てたヤシ【複雑化】 [bbs2chreader]318 デフォルトの名無しさん [sage] Date:2008/04/27(日) 12:54:40  ID: Be:
    使ってる人間の殆どが肥大化嗜好だから、使いたいと思わない機能は
    使わないという当たり前の選択を貫徹するのは不可能に近い。 

319 デフォルトの名無しさん [sage] Date:2008/04/27(日) 13:34:57  ID: Be:
    >>318
    まあな
    使わないと選択する為には
    少なくともその機能を知っておかなければ
    ならない訳で、もうその時点でラーニングコストは
    発生している。初めから無理なことを言っている。 

320 デフォルトの名無しさん [sage] Date:2008/04/27(日) 13:50:34  ID: Be:
    プロの道具なので仕方ない。
    プロでない人は自分が使いやすい言語を選ぶと良い。

    言語の機能の習得ごときでいっぱいいっぱいなら、
    組み込み系、DB、マルチメディア処理、ドライバ開発とかの
    言語以外ので学習で鼻血出るだろうな。 

321 デフォルトの名無しさん [sage] Date:2008/04/27(日) 14:25:09  ID: Be:
    プロキター!

    プロならもっと道具を選べよ…
    その4つの中で C++ が他の言語より優れているのって
    マルチメディア処理だけだな。 

322 デフォルトの名無しさん [sage] Date:2008/04/27(日) 14:30:01  ID: Be:
    でもすべての言語をその4つの平均点で比べるとC++はかなり有能だろ 

323 デフォルトの名無しさん [sage] Date:2008/04/27(日) 14:40:11  ID: Be:
    >>321
    その他の言語ってのそれぞれ教えてくれないか?
    C言語以外でw 

324 320 [sage] Date:2008/04/27(日) 15:01:09  ID: Be:
    >>321
    どう読んだのか知らないが、俺の趣旨は
     ・学習用の言語でないので、言語機能を理解力の低い人に合わせる必要は無い。
     ・言語の機能の習得と、専門知識の習得では、後者の方が難しい。
    ということなんだが。

    その4つは例を挙げたに過ぎないし、
    それらにC++が適しているとも言っていない。

    特にDBは俺が最近DB周りのチューニングとかしてたので、
    たまたま脳裏に出てきただけだ。言語はC++じゃない。

    道具を選べ、というのは同意する。
    他のメンバーやプラットホームの都合があるので、
    好きに選べるわけじゃないけどな。 

325 デフォルトの名無しさん [sage] Date:2008/04/27(日) 16:07:21  ID: Be:
    >>323
    C++ 使いには C にコンプレックス持ってる人間が多いな。
    道具は使いようだぜ。

    組み込み(つっても色々あるが…) -> C
    DB(まあ Oracle だと思いねえ) -> Java
    マルチメディア(画像処理とか) -> C++
    ドライバ(Win は知らんけど…) -> C

    >>324
    分野別の知識は言語の習得とは直行した課題だと思うよ。
    専門知識の習得は、言語が難しかろうが簡単であろうが必要となる事なんだから、
    言語の習得は簡単な方が良いとも言えるんじゃないかな。 

326 デフォルトの名無しさん [sage] Date:2008/04/27(日) 16:14:10  ID: Be:
    ところで、上の方でOO云々語ってる奴らはJavaやらC++の
    対象.メッセージ(値,値);
    構文しか知らんのだろうな、例えば
    [対象 メッセージ:値 メッセージ:値];
    やら
    Send(対象,メッセージ,値,値);
    とか、
    メッセージ(対象,値,値);
    (メッセージ 対象 値 値)
    なんかを知ってればもっと増しな議論が
    出来るだろうに。
    せめてクラスや継承は必要悪でありOOの本質でないと気付いて貰いたいものだ。 

327 デフォルトの名無しさん [sage] Date:2008/04/27(日) 16:23:54  ID: Be:
    知っているに越したことはないが、それはまたC++とは別の世界。
    C++のOOでメッセージを持ち出してくるのもどうかと思う。
    http://d.hatena.ne.jp/sumim/20040525/p1 

328 デフォルトの名無しさん [] Date:2008/04/27(日) 16:43:41  ID: Be:
    >>327
    確かにそうだがC++で

    template<class T>void F(T &対象)
    {
     対象.メッセージ();
    }

    //対象1と対象2は同じメッセージを持つ
    //意外何ら関連性は無い
    型1 対象1;
    型2 対象2;

    //Fは対象が何であれ構造を気にせず
    //処理を行える。
    F(対象1);
    F(対象2);

    という文を見ると、静的ではあるが
    メッセージを意識せざる得ない。
    アラン・ケイがRubyを誉める理由も
    これを動的且つ素直に実装できる事が
    一因しているように思う。 

329 デフォルトの名無しさん [sage] Date:2008/04/27(日) 16:54:23  ID: Be:
    >>325
    > C, Java, C++, C
    完全に予想通りの回答ありがとうw 

330 デフォルトの名無しさん [sage] Date:2008/04/27(日) 16:57:27  ID: Be:
    >C++のOOでメッセージを持ち出してくるのもどうかと思う。
    もともとC++はオブジェクト指向できるようにはできていないんだよ、だからSTLなんだ。
    しかしオブジェクト指向を考えるならメッセージを考えないというのは論外。

    自分は 326 じゃないが
    >せめてクラスや継承は必要悪でありOOの本質でないと気付いて貰いたいものだ。
    これはオブジェクト指向においては核心部分だぞ。 

331 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:16:33  ID: Be:
    C++使ってる奴がCにコンプレックスってのは考えられないな

    C95とは基本的に互換だから、気にするのはC++の構文が使えない程度
    C99との差異は理解の上では大したことないし
    精々STLが使えなくて面倒ってとこだろ 

332 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:17:25  ID: Be:
    >>331
    現実には多いよ 

333 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:19:16  ID: Be:
    >>330
    そうなのか?
    327のとこにはこう書いてあるけど。
    > ストラウストラップの「ユーザー定義型の」オブジェクト指向
    中略
    > なお、この文脈の「オブジェクト指向」において、メッセージングはぜんぜん関係ない無用のもの
    > and/or 動的性実現のための(仮想関数より効率の悪い)実装のひとつに過ぎない…
    > ということを強く意識する必要があります。 

334 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:20:58  ID: Be:
    >>332
    そいつらってどういうコンプレックス持ってるんだ?
    「ポインタ分からないのでstd::vectorとか使わないと可変配列も作れません」
    とかの馬鹿はC++分かってるとは言わないし 

335 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:21:36  ID: Be:
    そうかなあw
    ポインタ本の人(前橋)の意見じゃないけど、メッセージ云々こそ「言い方を変えただけ」
    に過ぎず本質と何も関係ないと思うけど。 

336 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:23:26  ID: Be:
    >>331
    折角苦労して C++ 覚えたのに C で何の問題も無い事を見せつけられたら
    僻む気持ちも出てくる事だろうさ。今までの努力が水の泡だからな。
    上には Java 下には C で居場所無いもんね。生産性重視なら LL があるし。 

337 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:36:51  ID: Be:
    >>336
    >折角苦労して C++ 覚えたのに
    そういう可哀想な連中は先々で躓くから気にしなくていいだろ
    おそらくC++開発者としてもあまり役に立たないだろう

    というか今日日、JavaやLL系も使えてもらえないと
    流石にC++しか出来ませんじゃ困るだろ 

338 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:48:28  ID: Be:
    >>332
    >>335
     実装と理論は違うがな。
    たまたまC++は実行コストから
    関数≒メッセージレシーバの方式を
    採っただけで本来メッセージの受信者は
    PCの周辺機器やら、ネットワークの
    向こう、はたまた操作するユーザーでも
    構わないんだから。それらを抽象化して
    クラスやプロとタイプと言うアプローチ
    も構わないが根底にメッセージ概念が
    有る事を意識する事は重要。
    (故に単にメソッド&\1クラス脳の
    Java屋はOO世界から馬鹿にされるんだがな) 

339 デフォルトの名無しさん [sage] Date:2008/04/27(日) 17:57:48  ID: Be:
    Cを理解していればC++は0からよりは早く使えるようになる。
    C++、Java、C#のどれかを理解してたら、
    他の2つもすんなり使えるようになる。
    JavaScript、Python、PHPなども同様。

    宣言型言語に対してはともかく、
    他の命令型言語に対してそれらの知識は水の泡にはならないと思う。
    水の泡になるくらい応用力無いならPG向いてない。 

340 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:01:54  ID: Be:
    >>338
    否定する気は無いけど、とりあえず>>327読んでからレスした方がいい 

341 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:05:41  ID: Be:
    >>327のリンク先のことな 

342 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:08:15  ID: Be:
    >>340
    338ではないが、327 の考え方はゆがんでいると思うので、どうかな?
    もっとシンプルにオブジェクト指向をとらえないと訳わからんようなるよ。
    具体的にどう挙動するかなんて見たら、全部チューリングマシンになっちまう、そんなの意味無い。
    歴史を紐解いたら、紆余曲折して進歩した以上、全部オブジェクト指向になりかねない、そんなの意味無い。 

343 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:13:55  ID: Be:
    > 具体的にどう挙動するかなんて見たら、全部チューリングマシンになっちまう
    同じように、342の言う「もっとシンプルにオブジェクト指向をとらえる」を当てはめれば、
    全部メッセージになってしまう気がする、Cの関数呼出やアセンブリでのジャンプすらも。

    どっちも次元や方向性は違えど、極論すぎるという点では同じと感じた。 

344 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:15:20  ID: Be:
    >>343
    言葉の定義なんだから、今主流的に言われている物でいいんだよ、変な事は考える必要はないかと。 

345 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:18:26  ID: Be:
    オブジェクト指向はともかく、
    メッセージって言葉は主流だと思えないけど。 

346 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:22:48  ID: Be:
    >>341
    アレは読んだが、アレを鵜呑みにする限り
    C++=OOを理解しないタコ
    と言うレッテルは消えないだろうな
    (まぁ、実際テンプレートにハマってしまえば
    そんなレッテルはられようとどうでも
    よくなるが…)
    だが、Cで掛かれたドライバですら意識して
    設計されてるんだ。言語に捕らわれ
    設計思想として意識しないのは勿体無い。 

347 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:26:51  ID: Be:
    C++はオブジェクト指向以外にもいろいろ広範囲に可能なことや思想が入っているから
    オブジェクト指向ができないから駄目だという事にはならない訳で・・・
    奇妙なオブジェクト指向は問題とは思うが、C++を知らないというのはさびしい話だね。 

348 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:28:54  ID: Be:
    逆に、純粋にOOだけやっていたいというのであれば、
    C++を使わないのもある意味正解。誘惑や罠が多すぎる。 

349 デフォルトの名無しさん [] Date:2008/04/27(日) 18:40:20  ID: Be:
    クラスの肥大化防止はどうしたんだよ。 

350 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:42:00  ID: Be:
    >>343
    制御構造なんてのはメッセージを
    受け取った相手の振る舞い又は
    伝達手段の一部。
    メッセージは多態であり抽象的な
    もので、制御そのものをメッセージと
    捉えるのは違うと思う。

351 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:48:09  ID: Be:
    >>346
    340で書いた通り否定する気は無いけど、
    327の先にある「このどれに軸足を置くかの違いでしかない」のところは正しいと思う

    シンプルに捉えるのは良いけど、あんまり突き詰めると逆に混乱するぞ
    オブジェクト指向という言葉が厳密に意味付けされてないからな 

352 デフォルトの名無しさん [] Date:2008/04/27(日) 18:58:26  ID: Be:
    お前らスレタイ読めよ。
    C++の話なんだからそんなもんどうでもいいだろ。 

353 デフォルトの名無しさん [sage] Date:2008/04/27(日) 18:58:52  ID: Be:
    全ては関数
    全ては入出力
    全てはオブジェクト
    全てはメッセージ
    全てはリスト 

354 デフォルトの名無しさん [sage] Date:2008/04/27(日) 19:04:18  ID: Be:
    >>352
    まともなOOが出来ない→C++イラネ
    →否意識・設定の仕方の問題だ

    ↑の流れと見ればスレタイの範囲では? 

355 354 [sage] Date:2008/04/27(日) 19:06:06  ID: Be:
    設定じゃなく設計だったスマン 

356 デフォルトの名無しさん [] Date:2008/04/27(日) 19:09:56  ID: Be:
    じゃぁ、まともなOOはできないが素直なOOができるってことにしとけ。 

357 デフォルトの名無しさん [] Date:2008/04/27(日) 19:20:35  ID: Be:
    てかよくよく考えたら別にOOじゃなくたってC++だったらいいんだ。
    C++まんせー! 

358 デフォルトの名無しさん [sage] Date:2008/04/27(日) 19:24:52  ID: Be:
    そうやってアイデンティティが一つ一つ消えていくんだな… 

359 デフォルトの名無しさん [] Date:2008/04/27(日) 19:48:44  ID: Be:
    ところで、昨日ブレークポイントで止めてから丸一日が過ぎようとしているのだが…
    おれ何やってたんだろ。 

360 デフォルトの名無しさん [sage] Date:2008/04/27(日) 19:52:10  ID: Be:
    折角苦労して C++ 覚えたのに C で何の問題も無い事を見せつけられたら...ってそんなわけあるかぼけぇ!!!
    こちとら、趣味でC++覚えたが、Cよりも便利で感動しとるわ!!!

    少なくとも、Windows用のフレームワークを自作すれば、「Cで何の問題も無い事なんて有り得ない」って気が付くはずだが

361 デフォルトの名無しさん [sage] Date:2008/04/27(日) 19:54:50  ID: Be:
    オブジェクト指向とか言って、気構えているから難しいんだよ
    ライブラリの読み書きの仕方程度に思ってりゃ楽勝さ 

362 デフォルトの名無しさん [] Date:2008/04/27(日) 20:00:28  ID: Be:
    >>360
    とはいえ、Windowsには独自のOOがあってCでも困らないという。 

363 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:02:11  ID: Be:
    C++ いろいろな物が限界に達しているからな
    コンパイルは遅いし、リンクも遅いし、言語もこれ以上の拡張はヤバすぎるし、ライブラリの混沌ぶりも尋常でないし、まともな開発補助ツールはないし
    実用的オブジェクト指向をこの世に出現させ、これは他の言語で開花した。
    以後の最大の成果としては template プログラミング、これも他の言語へ移行中。
    一通り終わったら、次の世代に託して静かに消え去ってもらうのが良いと思うよ。 

364 デフォルトの名無しさん [] Date:2008/04/27(日) 20:04:41  ID: Be:
    >>363
    まぁまだ先の話だしな。
    おれが先かC++が先かってくらい遠い将来の話だろ。
    C++が死滅するのは。
    今からそんなこと考えたって無駄だな。 

365 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:06:41  ID: Be:
    >コンパイルは遅いし、リンクも遅いし
    この二点だけで終わってるよ、マジしゃれならんレベルにまで落ち込んでる。
    業務で使っているなら、他の言語にも触ったことがあるなら、深刻さは分かるはず。 

366 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:25:11  ID: Be:
    少なくとも、templateがADAを除き
    完全に他に移ることは無いと思うぞ。
    他の言語に
    class Container<type>
    {
     priverte type member;
     public type pop(){…}
     public void push(type x){…}
    }
    なんて構造があってもtypeは(void*)
    と変わらんからな。呼び出し時
    Object obje;
    Container<Object> list;
    list.push(obje);//○
    list.push(3);  //×
    のように制約が加えられるだけ。
    恐らくこの先もコストがデカすぎて
    実行時にクラス内の構造が変わる
    コンパイル言語はでてこないだろ。 

367 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:25:46  ID: Be:
    次がないからみんな困ってる 

368 デフォルトの名無しさん [] Date:2008/04/27(日) 20:27:39  ID: Be:
    >>365
    そこで分割コンパイルとプリコンパイルドヘッダを活用するってことだな。 

369 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:29:25  ID: Be:
    >>368
    そこまでやっても話にならない現状を一度他の言語をみて思い知っておくといいと思う。 

370 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:41:24  ID: Be:
    >>362
    それで困るから、フレームワークを自作するんだけどな
    個人で使う分には、MFCやWTLほど大げさじゃなくてもいいし 

371 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:44:14  ID: Be:
    c++の資産って他の言語から使えんの?
    .netだとc++/cliでラッパー作って・・・ってするらしいけど
    cだと普通に呼び出せたりするのにな 

372 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:46:11  ID: Be:
    >>371
    通常はCOMにする、ATL使ったら一発。
    VBだろうか、VB.NET だろうか C# だろうが、死滅しかけのその他.NET言語でもイケる。 

373 デフォルトの名無しさん [sage] Date:2008/04/27(日) 20:46:26  ID: Be:
    >>371
    そりゃ使えるでしょVBからでもC#からでも 

374 デフォルトの名無しさん [] Date:2008/04/27(日) 20:48:53  ID: Be:
    >>369
    上から目線だw
    C++使いは盲目的でC++しか使ったことがない教団の人ですか? 


Ten (mostly) false ideas about emacs

全部を訳している余裕はないので項目だけ。

  1. Emacs is very hard to learn.
  2. Emacs has a keybinding for everything.
  3. emacs was written a long time ago and it’s hugely out of date
  4. emacs is only used by programmers
  5. emacs has a very ugly and useless GUI
  6. emacs only runs on Linux and similar geeky platforms
  7. You need to know LISP in order to use emacs seriously
  8. emacs is bloated, damnit, who needs to keep a blog from a text editor?
  9. There’s nothing emacs can do and other editors can’t
  10. emacs cannot do wysiwyg
  11. vi is so much cooler! I hate remembering keystrokes.

LR解析の状態遷移表は

RISCチップのアセンブラと一緒で、人間が手作業で作るものではないっすw

なつたん: LALR

もう一度本に戻ると、状態遷移の表を作るらしい。表を追って、ひとりでああなるほどと納得す
る。じゃあ、この表をどうやってつくるんだとう当たり前の疑問。ここで、yaccの出番か!

単純な四則演算くらいなら何とかできるかもしれませんが、 プログラミング言語の構文規則くらいになると手作業ではまず無理でしょうね。 でまあ first集合とか follow集合とか gotoだなんだとプログラムでごにょごにょすると。

なつたん: $の話
$の話

$を最後の意味で使うのはどこからきたのかな。

ずっとMS-DOS経由でCP/Mが元祖だと思っていたのだが、よく考えると正規表現の行末も$だし、
コンパイラの本でも生成規則のお尻が$(End of inputとか)使っているのがある。

システムコールの文字列出力(9番でしたっけ?)のターミネーターが '$' なのは たぶんVMSまでさかのぼれるんじゃないかと。VMSの資料どこにやったかなあ。 そのほかのものの起源はわかりませぬ。

2008年04月26日

そのケンカ助太刀しよう
オレァ アンタについていくぜ 王子

アンタがこれから何をして何者になっていくのか
この目で見届けてやるぜ

ヴィンランド・サガ アフタヌーン6月号掲載分よりトルケルの台詞
  

ヴィンランド・サガ
先月休載だったのでとても待ち遠しかったが、今回の話は実にいい (ストーリーそのものはほとんど進んじゃあいないのだけど、 登場人物の一人が大きくその立場を変える。まあ兆しはすでにあったけどね)。

今月の皇帝陛下
敵軍の中央を突破しようとするも、敵の一部が後背に廻りこみつつあり包囲殲滅の危機が?

MOONLIGHT MILE
2ちゃんの太田垣スレでちょっと気になったのでスペリオール連載分も読んでしまった (26日発売の16巻掲載分の次が最新号掲載分)。 なんというか暗澹たる気分に。 イスラム教徒のテロリストということは同じ宇宙を舞台にした 「プラネテス」でもでてきたけど。 世界が目を覚ますだろう…憎しみの果ての…これが極点だ

だむえー
オリジン、シャリア・ブル登場。 彼を出すなら(そして大筋をめぐりあい宇宙編にしたがったものにするなら) この局面しかないかも。 御大の連載(「教えてください。富野です」)は今月もよい。

御大(D.E. Kntuh)インタビューを受ける

InformIT: Interview with Donald Knuth & Interview with Donald Knuth

Andrew: One of the few projects of yours that hasn’t been embraced by a widespread 
community is literate programming. What are your thoughts about why literate 
programming didn’t catch on? And is there anything you’d have done differently in 
retrospect regarding literate programming?

あなたがかかわったプロジェクトの中でいくつかある embraced by a widespread community
でないものの一つが literate programming です。
literate programming はなぜ広く支持を集めなかったのかについてどのようにお考えですか?
そして

Donald: Literate programming is a very personal thing. I think it’s terrific, but 
that might well be because I’m a very strange person. It has tens of thousands of 
fans, but not millions.

literate programming は非常に個人的な事柄です。
わたしは literate programming がすばらしいものであると考えていますが、
それはわたしが変人だからでしょう。
literate programming には万を数えるファンがいますが、百万には届きません。

In my experience, software created with literate programming has turned out to be 
significantly better than software developed in more traditional ways. Yet ordinary 
software is usually okay? I’d give it a grade of C (or maybe C++), but not F; hence, 
the traditional methods stay with us. Since they’re understood by a vast community of 
programmers, most people have no big incentive to change, just as I’m not motivated 
to learn Esperanto even though it might be preferable to English and German and French 
and Russian (if everybody switched).

わたしの経験から申し上げると、literate programming を使って作られたソフトウェア
というものは、より伝統的な方法で開発されたソフトウェアよりも明らかに良質なものを
生み出します。
普通のソフトウェアというのはまだおおむね満足いくものなのでしょう?

ですから、伝統的な開発手法というのはまだわたし達の元にあるのです。
プログラマたちの巨大なコミュニティの、ほとんどの人たちは変わろうとする big incentive を
もっていません。
それはちょうど、わたしがエスペラント語を学ぶという動機を持っていないのと同じことなのです。

Jon Bentley probably hit the nail on the head when he once was asked why literate 
programming hasn’t taken the whole world by storm. He observed that a small 
percentage of the world’s population is good at programming, and a small percentage 
is good at writing; apparently I am asking everybody to be in both subsets.

彼は世界の人口のほんの少しだけがプログラミングに才があり、
これまたほんの少しだけが writing に才があるということを主張しています。

Yet to me, literate programming is certainly the most important thing that came out of 
the TeX project. Not only has it enabled me to write and maintain programs faster and 
more reliably than ever before, and been one of my greatest sources of joy since the 
1980s? it has actually been indispensable at times. Some of my major programs, such as 
the MMIX meta-simulator, could not have been written with any other methodology that I’
ve ever heard of. The complexity was simply too daunting for my limited brain to 
handle; without literate programming, the whole enterprise would have flopped 
miserably.

If people do discover nice ways to use the newfangled multithreaded machines, I would 
expect the discovery to come from people who routinely use literate programming. 
Literate programming is what you need to rise above the ordinary level of achievement. 
But I don’t believe in forcing ideas on anybody. If literate programming isn’t your 
style, please forget it and do what you like. If nobody likes it but me, let it die.


もし literate programming があなたのスタイルに合わないのであれば、どうかそれを
忘れてしまって、あなたの好むスタイルで行ってください。
もしわたし以外で literate programming がいいという人が一人もいないのなら、
literate programming という考え方は死ぬのです。

On a positive note, I’ve been pleased to discover that the conventions of CWEB are 
already standard equipment within preinstalled software such as Makefiles, when I get 
off-the-shelf Linux these days.

  InformIT: Interview with Donald Knuth > Interview with Donald Knuth

I currently use Ubuntu Linux, on a standalone laptop—it has no Internet connection. I 
occasionally carry flash memory drives between this machine and the Macs that I use 
for network surfing and graphics; but I trust my family jewels only to Linux. 
Incidentally, with Linux I much prefer the keyboard focus that I can get with classic 
FVWM to the GNOME and KDE environments that other people seem to like better. To each 
his own.

御大は現在 Ubuntu Linuxをお使いだそうです。

MB_LEN_MAX


2008-04-25 - かそくそうち

Cygwinのtarで

tar --format=pax -cf out.tar こんにちは.txt

とすると、ファイル名がpaxヘッダにShift-JISのまま格納されてしまいます。

ところが、

tar --format=pax -cf out.tar あ.txt

だと、ちゃんとUTF-8に変換されます。

コード(utf8.c)を見ると、UTF-8に変換する処理が入っているんですが、

  inlen = strlen (input) + 1;
  outlen = inlen * MB_LEN_MAX + 1;
  ob = *output = xmalloc (outlen);
  ib = (char ICONV_CONST *) input;
  rc = iconv (cd, &ib, &inlen, &ob, &outlen);
  *ob = 0;

CygwinのMB_LEN_MAXが1なので、ほとんどの場合バッファが足りないのが原因です。

「あ.txt」だと、inlen=7、outlen=8になって辛うじてバッファが足りるので変換できていたようです。

ただし、「*ob = 0」で9バイト目にアクセスしてますが、、、。

cygwinで MB_LEN_MAXが1固定であるというのは以前話題に上ったような。

God Wrote in Lisp

んー? このメロディは聴き覚えがあるような気がするんだが思い出せない。 Code Monkeyの彼のところより。

This song is written and performed by Julia Ecklar. It’s a parody of another song of 
hers - “God Lives on Terra”.
  

ふむ。

Musical Geek Friday #5: God Wrote in Lisp (The Eternal Flame) - good coders code, great reuse

Here is the lyrics of The Eternal Flame (God Wrote in Lisp) song:

    I was taught assembler in my second year of school.
    It’s kinda like construction work — with a toothpick for a tool.
    So when I made my senior year, I threw my code away,
    And learned the way to program that I still prefer today.

    Now, some folks on the Internet put their faith in C++.
    They swear that it’s so powerful, it’s what God used for us.
    And maybe it lets mortals dredge their objects from the C.
    But I think that explains why only God can make a tree.

    For God wrote in Lisp code
    When he filled the leaves with green.
    The fractal flowers and recursive roots:
    The most lovely hack I’ve seen.
    And when I ponder snowflakes, never finding two the same,
    I know God likes a language with its own four-letter name.

    Now, I’ve used a SUN under Unix, so I’ve seen what C can hold.
    I’ve surfed for Perls, found what Fortran’s for,
    Got that Java stuff down cold.
    Though the chance that I’d write COBOL code
    is a SNOBOL’s chance in Hell.
    And I basically hate hieroglyphs, so I won’t use APL.

    Now, God must know all these languages, and a few I haven’t named.
    But the Lord made sure, when each sparrow falls,
    that its flesh will be reclaimed.
    And the Lord could not count grains of sand with a 32-bit word.
    Who knows where we would go to if Lisp weren’t what he preferred?

    And God wrote in Lisp code
    Every creature great and small.
    Don’t search the disk drive for man.c,
    When the listing’s on the wall.
    And when I watch the lightning
    Burn unbelievers to a crisp,
    I know God had six days to work,
    So he wrote it all in Lisp.

    Yes, God had a deadline.
    So he wrote it all in Lisp.

不覚

スレの巡回のタイミングが悪くて見逃していたッ!

【巡戦浅間10】横山信義総合スレ【完結】 [bbs2chreader]
289 名無し三等兵 [sage] Date:2008/03/23(日) 23:00:06  ID:??? Be:
    4月25日発売 鋼鉄の海瀟 樺太沖海戦1 内容予想

    独ソ不可侵条約を破棄したソ連はナチスドイツに侵攻、これを電撃的に占領すると
    勢いに乗って英仏も傘下に納める
    独仏英の艦隊を接収し強大化するソ連の脅威に対抗すべく日米は軍事同盟を締結、
    対ソ戦を発動すべく、ウラジオス奇襲の任を帯びた南雲・ハルゼー機動部隊が北上。
    だがソ連はこれを察知していた。樺太沖で、日米ソ三大海軍の激突が始まる!

431 名無し三等兵 [sage] Date:2008/04/21(月) 20:48:17  ID:??? Be:
    1800、上野駅ブックガーデンを索敵するも敵影なし
    引き続き哨戒を続行す 

432 名無し三等兵 [sage] Date:2008/04/21(月) 21:07:18  ID:??? Be:
    24日前後だろ出回るのは。
    21日で出るとかドンだけ早売りなんだよw 

433 名無し三等兵 [sage] Date:2008/04/21(月) 21:21:43  ID:??? Be:
    今回は25日が平日だからなぁ
    土日だと店員が手抜きして超早売りしたりするけど 

456 名無し三等兵 [sage] Date:2008/04/23(水) 13:23:45  ID:??? Be:
    あと1時間もすれば神保町方面の斥候から報告が 

457 名無し三等兵 [sage] Date:2008/04/23(水) 17:31:27  ID:??? Be:
    まだか? 

458 名無し三等兵 [sage] Date:2008/04/23(水) 19:16:48  ID:??? Be:
    こちら「利根」四番機。神田駅前に新刊を確認。 

459 名無し三等兵 [sage] Date:2008/04/23(水) 19:22:05  ID:??? Be:
    >458
    残存冊数知ラセ 

460 名無し三等兵 [sage] Date:2008/04/23(水) 19:34:01  ID:??? Be:
    神奈川県民より索敵報告。有隣堂にて確保せり。首都圏大手書店では本日より取り扱いの可能性大なり。
    しかしながらネタバレは26日まで厳重に封鎖を求む、以上。 

461 名無し三等兵 [sage] Date:2008/04/23(水) 20:36:10  ID:??? Be:
    名古屋方面からの知らせはまだか?? 

462 名無し三等兵 [sage] Date:2008/04/23(水) 20:44:02  ID:??? Be:
    明日、学校の帰りに神保町に突撃しよう 

463 名無し三等兵 [sage] Date:2008/04/23(水) 20:58:11  ID:??? Be:
    >>460
    >しかしながらネタバレは26日まで厳重に封鎖を求む、以上。

    え、27日午前0時じゃないの?

464 名無し三等兵 [sage] Date:2008/04/23(水) 21:14:27  ID:??? Be:
    イイダバシ一号、艦影ミエズ
    翌日の再攻撃を期待ス 

465 名無し三等兵 [sage] Date:2008/04/23(水) 22:16:39  ID:??? Be:
    浜松町1号、敵影ヲ見ズ。 

466 名無し三等兵 [sage] Date:2008/04/23(水) 22:29:45  ID:??? Be:
    都会は良いなあ…。
    信濃、被雷!
    見せ場無くあぼーん。 

467 名無し三等兵 [sage] Date:2008/04/23(水) 22:34:15  ID:??? Be:
    池袋西口一号、敵影見ズ。
    発売日二日前ニシテ捕捉デキザルハ奇ナリ。 

468 名無し三等兵 [sage] Date:2008/04/23(水) 23:06:58  ID:??? Be:
    ノビーノ新刊ハ何処ニアリヤ
    南九州ハ知ラント欲ス 

469 名無し三等兵 [sage] Date:2008/04/24(木) 07:05:29  ID:??? Be:
    >>463
    すまぬ、当方の勘違いなり。訂正電、ネタバレは27日まで厳重に封鎖を求む。 

470 名無し三等兵 [sage] Date:2008/04/24(木) 14:01:14  ID:??? Be:
    神田神保町「書泉グランデ」ニオイテ発見セリ 

471 名無し三等兵 [sage] Date:2008/04/24(木) 17:01:05  ID:??? Be:
    藤沢一番より入電、「我敵影を見ゆ」 

472 名無し三等兵 [sage] Date:2008/04/24(木) 18:02:08  ID:??? Be:
    こちら中央戦線、中野分遣隊。書店2店舗共に敵影発見。
    敵艦隊は都心部において、ほぼ全域に展開したものと愚考す。 

473 名無し三等兵 [sage] Date:2008/04/24(木) 18:04:19  ID:??? Be:
    浜松町1号、カタパルト不調ニヨリ未ダ索敵開始セズ 

474 名無し三等兵 [sage] Date:2008/04/24(木) 18:22:30  ID:??? Be:
    浜松町1号、残数52を確認。 

475 名無し三等兵 [sage] Date:2008/04/24(木) 19:12:02  ID:??? Be:
    降雨のため本日の索敵打ち切り帰投する 

476 名無し三等兵 [sage] Date:2008/04/24(木) 19:18:16  ID:??? Be:
    上野ヨリ東京ニ至ル哨戒線上、目標多数発見ス 

477 名無し三等兵 [sage] Date:2008/04/24(木) 21:29:42  ID:??? Be:
    美幌空1号、今回ノ舞台トナルコトヲ欲シ索敵ヲ実施ス
    ガ、目標発見デキズ。 

478 名無し三等兵 [sage] Date:2008/04/24(木) 23:52:46  ID:??? Be:
    コレヨリネタバレカイキンンマデ、ギデンノ、ハッシンヲキョカス 

495 名無し三等兵 [sage] Date:2008/04/25(金) 19:53:09  ID:??? Be:
    広島ニテ敵影発見、戦線ハ地方ニモ拡大セリ 

502 名無し三等兵 [sage] Date:2008/04/25(金) 22:36:47  ID:??? Be:
    都内じゃ、どこでも売ってるみたいだね。
    次は5月25日かぁ。


うがー、コミック売り場だけ見てて新書をチェックしてなかったあああ

情報ありがとうございます

部分的には見てますが、fopenとかはスルーしてましたw 2008はまだ買ってないんですよね~。

丁稚な日々

_ その拡張はVC++8(2005)からです。

なおVC++8以降のfopen()のモード指定にはいろいろ変(?)なのが追加になっているので、見てみ
ると楽しいかもしれません。

2008年04月25日

■_

NPBのカープというのは本当にとんでもないチーム(だった)のだなあと 東スポで現在連載中の川口(カープ→ジャイアンツ)のコラムを読んで思った。 まあ頭から否定する気はないが、あまり行きたくない部類の組織だなw (ファンの人ごめんしてして)

なんかタイムリーな話題が。 全国の書店、7年で2割減少 んでね、わたしの友人に、トー○ンの社員がいるんですよ。どうしようw (どうもしません/なりません) http://slashdot.jp/comments.pl?sid=399085&cid=1335837 http://slashdot.jp/comments.pl?sid=399085&cid=1335777 http://slashdot.jp/comments.pl?sid=399085&cid=1335767 http://slashdot.jp/comments.pl?sid=399085&cid=1335745 http://slashdot.jp/comments.pl?sid=399085&cid=1335723

某社のGWの出社状況はカレンダー通りだす。

D

D言語 Part18 

73 デフォルトの名無しさん [sage] Date:2008/04/24(木) 16:59:42  ID: Be:
    静かだな 

74 デフォルトの名無しさん [sage] Date:2008/04/24(木) 17:23:06  ID: Be:
    そろそろ更新くるんじゃないかな 

75 デフォルトの名無しさん [sage] Date:2008/04/24(木) 19:50:57  ID: Be:
    何か難しいことでもしてるのかな 

76 デフォルトの名無しさん [sage] Date:2008/04/24(木) 21:21:55  ID: Be:
    いきなり3.0とかかw 

77 デフォルトの名無しさん [sage] Date:2008/04/24(木) 21:24:42  ID: Be:
    そして3.1でブレイクだな 

78 デフォルトの名無しさん [sage] Date:2008/04/24(木) 21:26:22  ID: Be:
    次は95とかですかね 

79 デフォルトの名無しさん [sage] Date:2008/04/24(木) 21:30:41  ID: Be:
    えっ、2095年? 

80 デフォルトの名無しさん [sage] Date:2008/04/24(木) 21:51:05  ID: Be:
    3/1に3.1、9/5に95ですね、わかります。 

81 デフォルトの名無しさん [sage] Date:2008/04/25(金) 00:17:30  ID: Be:
    え、それだけ言っておいてD2.013はスルーですか…?
    Version D 2.013 Apr 22, 2008 

何だこの流れw

よくわかる現代魔法新装版

なんですとーっ!? >マンガ連載

間接参照?

変数に入った値を変数として扱う方法はありますか? -OKWave
変数に入った値を変数名として扱える関数などはありますでしょうか。

例えば
hensu1 = "hensu2"
何か関数(hensu1) = "XYZ"

と記述すると
変数「hensu2」に"XYZ"の値が入っているというものです。

宜しくお願い致します。
言語はASPです。
Eval関数では例えば
hensu2 = "XYZ"
hensu1 = "hensu2"
response.write eval(hensu1)

とすると、"XYZ"という値が帰ってくると思いますが
今回は

hensu1 = "XYZ"

hensu2 = "hensu1"
?関数(hensu2) = 特殊関数(eval(hensu2))
response.write eval(hensu1)

で"XYZ"という値が帰ってくるようにしたいのです。

最初からhensu1に"XYZ"を入れているじゃないかと指摘されると思いますが、実際にはhensu2と
いうのはテーブルのフィールド名をループでひたすら取得する部分でhensu1というのもDBのテー
ブルのフィールド名にも存在しているものとします。

自動でDBのフィールド名を取得し、同名の変数(hensu1)の値に特殊な関数をかけて再びhensu1に
戻すという事を行いたいのです。

そのために「?関数(hensu2)」は hensu1 と記述している事と同じ事になる関数がないか探して
います。

少々質問するのも難しい内容ですが宜しくお願い致します。

んー? 辞書(ハッシュ)でいけない理由が思い当たらない。

2008年04月24日

■_

仕事関係で面白いネタがあったのだけど、そのまま出すにはちと何なのでちょっと寝かす。 まああれだ、ソフトウェアの開発者なら、Joelは読んどけ。ということでした。

■_ from 2ch

ところどころ盛り上がりを見せているところが。


【果てしなく】使えない新人 0x14


180 仕様書無しさん [sage] Date:2008/04/23(水) 03:11:36  ID: Be:
    客のお偉いさんが27歳の若めのPLを連れて会議にきた。
    うちからは俺と未経験入社27歳で経験半年の新人が出た。
    顔を覚えてもらうために新人を連れていったのが誤算だった。
    お偉いさんに話しかけられても緊張でまともに受け答えできない新人。
    突然口を開いたかと思ったら若手PLに向かい「今何歳ですか?」
    PL「私今年で27になりました。おいくつですか?」
    新人「あ、タメだw27なんだ~w」
    同い年とわかるや敬語を捨てる新人。
    イスの下で新人の足を蹴る俺。
    蹴られた意味がわからず俺に蹴り返す新人。

    こんなゴミにおまいらから一言↓ 

181 仕様書無しさん [sage] Date:2008/04/23(水) 03:15:22  ID: Be:
    ゴミ取り扱い乙 

182 仕様書無しさん [sage] Date:2008/04/23(水) 08:15:46  ID: Be:
    PLってなに


    プロジェクトリーダーか? 

183 仕様書無しさん [sage] Date:2008/04/23(水) 08:26:20  ID: Be:
    ごみはきちんと処分してください 

184 仕様書無しさん [sage] Date:2008/04/23(水) 11:58:22  ID: Be:
    萌えるゴミなら引き取ります。 

185 仕様書無しさん [sage] Date:2008/04/23(水) 12:34:22  ID: Be:
    >>180
    そいつ完全に終わってるなw 

186 仕様書無しさん [sage] Date:2008/04/23(水) 13:00:06  ID: Be:
    さすが27歳ニートは違うな
    やはり職歴は大切だ 

189 仕様書無しさん [] Date:2008/04/23(水) 20:31:04  ID: Be:
    >>186
    同意…。

    ウチのアホがそうなんだけどさ
    明らかに役職が高い人が同席してるのに
    ソッチは完全無視して下っ端に対して話すの
    そーゆーアホには教えても無駄
    何が悪いのか理解できないから難癖つけられた位の反応だし
    何も反省してないから何回でも同じ事する 

190 仕様書無しさん [sage] Date:2008/04/23(水) 20:46:46  ID: Be:
    27年間何をして過ごしてきたのか興味がわきます 

191 仕様書無しさん [sage] Date:2008/04/23(水) 21:59:47  ID: Be:
    >>189
    そうゆう奴を直そうとしたら、もうとことん叱ってやるしかないと思う。
    自ら目覚める可能性はほとんどないだろう。

    ただ、「叱ってやるという優しさ」を与える気になれば、だが。 

192 仕様書無しさん [sage] Date:2008/04/23(水) 22:40:38  ID: Be:
    PGは一切できないのに、どこからその自信が沸いてくるんだ
    という自信家。 甘く言えば、ポジティブ
    当然口のききかたもなってない。敬語は使えない。

    勤怠も悪い。休んでも遅刻しても、平然と定時に来たことになっている。

    さんざっぱら怒られ、注意されても直らない。
    挙句、言い訳にすぐばれる嘘をつく。

    うちのも凄いぜ。 

193 仕様書無しさん [sage] Date:2008/04/23(水) 22:45:36  ID: Be:
    人間、叱って貰えるうちに自分を成長させないと、
    もう取り返しがつかなくなるんだよな。
    で、たくさん叱られるバカほど、その現実に気付かないんだよな。

194 仕様書無しさん [sage] Date:2008/04/23(水) 22:50:28  ID: Be:
    新人が熱があるから休みたいと言ってきた
    何度熱があるのか上司が聞いたら
    50度越えてるって言われたらしい
    最近の新人は嘘も満足につけんのか 

195 仕様書無しさん [sage] Date:2008/04/23(水) 22:57:19  ID: Be:
    43度越えたら電話どころじゃないはずだぞー(笑)って言ってやれ 

196 仕様書無しさん [sage] Date:2008/04/23(水) 22:57:24  ID: Be:
    タンパク質凝固で死亡だな 

197 仕様書無しさん [] Date:2008/04/23(水) 22:57:55  ID: Be:
    >>189
    根拠のない自信に満溢れてたから前任は叱りとばしてた
    あまりに酷すぎて叱られ続けた結果、失敗して
    おどおどして確認せず失敗すると隠蔽(バレバレ)になった

    …今は幼稚園の先生な気分でダメだししてるが
    やはり緩く言われると根拠のない自信が見え隠れ…
    はやく辞めてほしい 

198 仕様書無しさん [sage] Date:2008/04/23(水) 22:59:24  ID: Be:
    >>194
    ゆとりってブッ飛んでるんだな。さすがにネタであってほしい 

200 仕様書無しさん [sage] Date:2008/04/23(水) 23:05:09  ID: Be:
    つまり、人間の平常体温や、熱として出うる値の範囲を知らないって事だろうな
    いわゆる理科の分野って、生活に密着した実学が本質なんだけど、
    そういう事を理解せずに理科系の授業を手抜きしてきたって事なのかね? 

201 仕様書無しさん [sage] Date:2008/04/23(水) 23:07:04  ID: Be:
    実際50度で凝固した人間ってどんなだろ 

202 仕様書無しさん [sage] Date:2008/04/23(水) 23:29:59  ID: Be:
    いくら手抜きしてても50度はねーよ 

203 仕様書無しさん [sage] Date:2008/04/23(水) 23:37:47  ID: Be:
    四捨五入しても無理だなw 

204 仕様書無しさん [sage] Date:2008/04/24(木) 00:13:42  ID: Be:
    うちみたいな零細に入ってくる新人は悲惨だよ。
    特にここ数年の新人はとても思考が短絡的。
    思いつくままに言葉を発してる感じ。
    自分の発している言葉の意味がわかってないんじゃないかな。
    相手の意図を汲み取ろうという意識も皆無。
    今まで周囲と会話が成り立ってきたんだろうかと疑問に思う時がある。 

205 仕様書無しさん [sage] Date:2008/04/24(木) 00:37:34  ID: Be:
    まぁ、類は友を(ry 

206 仕様書無しさん [sage] Date:2008/04/24(木) 00:39:04  ID: Be:
    つまり>>204の新人は呼び寄せられたのかw 

207 仕様書無しさん [] Date:2008/04/24(木) 12:49:26  ID: Be:
    新人君、君たちに有給はまだないんだよ。
    仕組みはちゃんと説明しただろ!!!

    なんだこの
     4/28 有給休暇申請
     4/30 有給休暇申請
     5/ 1 有給休暇申請
     5/ 2 有給休暇申請
     5/ 5 有給休暇申請
    は!!!

    理由:旅行


    なめすぎじゃあ!!! と即却下したら泣かれた。  俺にどうしろと・・・

208 仕様書無しさん [sage] Date:2008/04/24(木) 13:00:00  ID: Be:
    >>207
    盛大にワロタwwwww 

209 仕様書無しさん [sage] Date:2008/04/24(木) 13:04:51  ID: Be:
    >>207
    早めに首にしておかないとやばいよ 

210 仕様書無しさん [sage] Date:2008/04/24(木) 13:08:23  ID: Be:
    もう予約済みなんだろうね
    合掌 

211 仕様書無しさん [sage] Date:2008/04/24(木) 14:46:23  ID: Be:
    5/5は祝日じゃね? 

212 仕様書無しさん [sage] Date:2008/04/24(木) 15:14:19  ID: Be:
    5/6から出勤なおれは・・・orz 

213 仕様書無しさん [] Date:2008/04/24(木) 21:08:34  ID: Be:
    >>207
    確かにナメ過ぎw
    しかし感情的になる必要あるか?

    当然、雇用契約時に人事から社則配布して説明済みだろ?
    社則の該当部分を確認させても泣くなら人事にクレームでおけ 

214 仕様書無しさん [sage] Date:2008/04/24(木) 21:14:06  ID: Be:
    無休休暇でいいじゃない 

215 仕様書無しさん [sage] Date:2008/04/24(木) 21:30:42  ID: Be:
    >>214
    ちょww変換ミスなのは分かってるが矛盾www 

216 仕様書無しさん [sage] Date:2008/04/24(木) 21:43:03  ID: Be:
    どこが矛盾? 

217 仕様書無しさん [sage] Date:2008/04/24(木) 21:45:56  ID: Be:
    >>216
    無休なのに休暇・・・。 

218 仕様書無しさん [sage] Date:2008/04/24(木) 21:48:26  ID: Be:
    最近のゆとりは休みが無い休暇を矛盾とすら判断できないのか? 

219 215 [sage] Date:2008/04/24(木) 21:51:16  ID: Be:
    現役ゆとりですごめんなさい 

220 仕様書無しさん [sage] Date:2008/04/24(木) 21:59:30  ID: Be:
    無休休暇 = サービス出勤 

221 仕様書無しさん [sage] Date:2008/04/24(木) 22:16:05  ID: Be:
    正しくは「無給休暇」だよな?>>216

222 仕様書無しさん [] Date:2008/04/24(木) 22:23:43  ID: Be:
    遊びにいくんで欠勤5日?
    試用期間でサヨナラだな 

223 仕様書無しさん [sage] Date:2008/04/24(木) 22:39:04  ID: Be:
    4/26から5/6までだと11日間の旅行か
    行き先にもよるけどキャンセル料だけで初任給が吹っ飛ぶかな? 

224 仕様書無しさん [sage] Date:2008/04/24(木) 22:47:16  ID: Be:
    まぁ、いい授業料だったんじゃないか?
    根回しを行わないと大変なことになるというよい教訓

    なお、俺は新人ではないのできちんと根回しを行い、11連休を勝ち取った
    もちろん、まだ気は抜けない。気を抜くのは休暇が始まってからだ。
    # 休暇中の呼び出し? そんなレアケースまで考える必要なし 

225 仕様書無しさん [sage] Date:2008/04/24(木) 22:48:44  ID: Be:
    11日休むはずが無期限休暇になりました!とかw
    休ませてやれよかわいそうに 

226 仕様書無しさん [sage] Date:2008/04/24(木) 22:53:09  ID: Be:
    電車に乗ったら寝過ごして、
    時間が立っちゃったから今日は休みます

    寝過ごして遅刻するという電話があった直後なのに、
    やる気があるとかいうレベルじゃない。

    親を引き取りにこさせたい。 

227 仕様書無しさん [sage] Date:2008/04/24(木) 23:18:27  ID: Be:
    使える新人がこんな偽装だらけの業界に入ってくるわけ無いだろ。 

228 仕様書無しさん [sage] Date:2008/04/24(木) 23:19:54  ID: Be:
    俺の親父の会社で>>226の新人みたいな奴がいたが休んだ日数分給料引き抜いてたな


    当たり前だよな? 

229 仕様書無しさん [sage] Date:2008/04/24(木) 23:27:13  ID: Be:
    日給月給なら欠勤した日は無給(月給から日給分減給)で問題ない。

230 仕様書無しさん [sage] Date:2008/04/24(木) 23:39:39  ID: Be:
    みんな試用期間中で良かったじゃないか!
    「あなたは当社にはむいていない~程度の理由でサクっと捨てられる」 

すげーw


ぐち0x19 ~上司が馬鹿で困る~ 

140 仕様書無しさん [sage] Date:2008/04/23(水) 23:23:11  ID: Be:
    わが社の「ネットワークが得意」で通っているN君。
    なんか妙にプライドが高くて、レビューを受けると怒り出すのは勘弁して
    ほしい。今日もバージョン管理を行うために自作した、AccessやらWordやら
    のシステムを御披露目して、ダメ出しを受けると切れていた。
    もうこいつの相手をするのはいやだ。
    もうちっと世の中のバージョン管理システムってものを勉強して来いよ。
    得意の「ネットワーク」にしても、RFCを1行も読んだこともないんじゃね。


141 仕様書無しさん [sage] Date:2008/04/23(水) 23:28:01  ID: Be:
    きっとネットワークビジネスが得意なのでしょう 

142 仕様書無しさん [sage] Date:2008/04/23(水) 23:29:33  ID: Be:
    何それw
    ある意味すげーんじゃね 

143 仕様書無しさん [sage] Date:2008/04/23(水) 23:39:09  ID: Be:
    PCと言えばメールぐらいしかやらない社長が自分専用にCore2Quad搭載の
    無意味に高性能(ただしVGAはオンボードw)を導入した
    んで、速攻ウイルスに感染させて、PCメーカに
    「一番高性能なのにウイルスに罹るとは何事だ! 初期不良だ!」
    とクレーム挙げやがった orz 

144 仕様書無しさん [sage] Date:2008/04/24(木) 00:52:32  ID: Be:
    >>140
    うちの会社には、こういう風に難癖つけて自分たちでは何もせず、
    色々な問題は常に無視、会議では問題だから「誰か」なんとかしないといけない、を
    何年も繰り返しているという上司が数名いるな。

    自称ネットワーカー君はおいとくとして、自作してまで改善しようとしている人は
    使い方次第では化けるぞ? 

150 仕様書無しさん [sage] Date:2008/04/24(木) 14:52:42  ID: Be:
    >>140
    N君が作るまでバージョン管理という概念が存在しないってのもどうかと思うよ。
    subversionなんて半日もあれば運用可能なのに。

    > もうちっと世の中のバージョン管理システムってものを勉強して来いよ。

    てセリフが出るならなおさら。 

151 仕様書無しさん [sage] Date:2008/04/24(木) 15:26:24  ID: Be:
    「N君が作るまでバージョン管理という概念が存在しない」
    とかどこに書いてあるっけ。 

152 仕様書無しさん [sage] Date:2008/04/24(木) 15:43:22  ID: Be:
    >>151
    あるならN君がバージョン管理ソフト作る必要ないよね 

153 仕様書無しさん [sage] Date:2008/04/24(木) 16:16:57  ID: Be:
    >>149

    何その公開オナニーw 

154 仕様書無しさん [] Date:2008/04/24(木) 18:27:33  ID: Be:
    部長、まだ4月です。
    GW前でうかれているのかもしれませんが、今週あなたの出すメールの4月は
    常に5月になっています。

    何度も言わせないでください。



    「期日は5/24厳守」とか、既に帰った人に今頃メールで本日中とか言われても




    と思って問い合わせたら、6/24だったことが判明。ああああああああああもううううううう!!!!! 

155 仕様書無しさん [sage] Date:2008/04/24(木) 18:39:36  ID: Be:
    無駄に空行がある書き込みってどうしてこうつまらないんだろうなあという愚痴 

156 仕様書無しさん [sage] Date:2008/04/24(木) 19:51:30  ID: Be:
    ・・・ストラテジパターンをフローチャートで書け、と・・・

157 仕様書無しさん [sage] Date:2008/04/24(木) 20:45:15  ID: Be:
    そういえば原因不明でネットワークが使えなくなって、ちょいと調べた結果
    課長がどこかから持ち込んだPCがウィルスに感染していたってことがあ
    ったなぁ 

159 仕様書無しさん [sage] Date:2008/04/24(木) 21:35:39  ID: Be:
    >>157
    愚痴にマジレスしてまうが、突っ込みどころはどこなんだ?

    ・「原因不明でネットワークがつかえなくなった」
    ・「ちょい調べた」
    ・「課長がどこからか持ち込んだPC」
    ・「ウイルスに感染していた」

160 仕様書無しさん [sage] Date:2008/04/24(木) 23:31:41  ID: Be:
    >>159
    ・仕様書が無い 

■_ 軽い?

LLはヘビー? - odz buffer 新・たけぞう瀕死の日記 さくさくと嘘を吐くのはどうにかならないのか - しんさんの出張所 はてな編

新・たけぞう瀕死の日記
あと、文法がコンパクトな言語と軽快にプログラミングできる言語は違うと思いますけどね。そ
れならLisp使えばいいのではとか思うんですが…。文法について覚えなきゃいけないことはむち
ゃくちゃ少ないですよ。
LLはヘビー? - odz buffer

文法のレベルでやり方がいろいろってのはそれほど多くない気が。LL は Java に比べて読むの
が難しいなんてことはあまり感じたことはないかなぁ。

むしろ Java は API の使い方がヘビー。
さくさくと嘘を吐くのはどうにかならないのか - しんさんの出張所 はてな編

Javaの文法は他の言語に比べて覚えることはむしろ「軽い」文法だと思います。他の言語だと特
にスクリプト言語系は同じことをやるにもいろいろな記述の方法があります。コードを気ままに
書いているうちはすべてを覚える必要はないと思いますが、他人のコードを読む場合、すべての
記述を覚えることが必要になってしまいます。つまりLLは非常にヘビーです。一方Javaは5.0で
文法は多少増えはしたが、これは開発を楽にするためのものでした。

んーー「軽い」で云わんとするところが今ひとつわからない。 (ある一つの処理に対して色々な書き方ができる→) 構文規則の数が少ない → 文法に関して覚えるべきことが少ない → 軽い? それって「軽い」と表現することなんだろうか? まあ多分わたしの言葉(単語)に関する「コダワリ」はちと行き過ぎなところがあるのではないかと 自覚していないでもないのであまり強くは書かないけどw。

でまあ、構文規則(文法)が単純なら、と云う話ならたけぞうさんの書かれているような LispとかForthなんかは単純そのものですけど、これを「軽い」と表現したときに どう受けとめるべきなのか。軽い→読みやすいということであれば、odzさんの書かれている 「読むのが難しい」云々という話ではこいつら読みやすいかというと、 決してそうとは言い切れないですよね

でまあナニが云いたかったというとアレだ、言葉の選択は慎重にね、ということで 投げっぱなしジャーマンかましておしまい。

■_ FQA?

FAQの typoかいなと思ったら本当に FQAらしい。

C++ Frequently Questioned Answers

This is C++ FQA Lite. C++ is a general-purpose programming language, not necessarily suitable 
for your special purpose. FQA stands for "frequently questioned answers". This FQA 
is called "lite" because it questions the answers found in C++ FAQ Lite.

これは C++の FQA Lite版です。C++とは汎用的なプログラミング言語ですが、あなたの特別な目的の
ために
FQA とは、“頻繁に質問される回答”(frequetly questioned answers)を意味しています。
本FQAは C++ FAQ Liteに掲載されている回答に対する質問なので、“Lite”になっています。
C++ FQA Lite: References
[8.1] What is a reference?
参照(リファレンス)とはなんですか?

FAQ: It's an alias for an object - another name by which it can be called. The implementation is 
frequently identical to that of pointers. But don't think of references as pointers - a reference 
is the object.

FAQ: あるオブジェクトに対する別名(alias)です。
しばしばポインタと等しいものとして実装されていますが、ポインタを参照とは考えないこと。
参照はオブジェクトです。

FQA: A C++ reference is like a C++ pointer except for the following differences:

FQA: C++における参照とは、(C++の)ポインタと同様のものですが、以下のような違いがあります:

    * You use it as if it were a value: ref.member, not ptr->member, etc. (in this sense ref 
      behaves like (*ptr)).
      参照はそれが値であるかのように扱うことができます。
      アクセスするときは prt->ではなく ref.memberのように行うなどです
      (この意味では参照 refは (*ptr)のようなものです)
    * It must be initialized to point to an object - otherwise, the code won't compile.
      参照は何らかのオブジェクトを指し示すものとして初期化されなければなりません。
      初期化がなされない場合にはコンパイルできないでしょう。
    * After the initialization, you can't make it point to another object.
      初期化を行った後では、その参照が別のオブジェクトを指し示すように変更することはできません。
    * You can't take the address of a reference like you can with pointers (forming a pointer to 
      a pointer).
      参照に対しては、ポインタに対しては可能なそのアドレス(形式的にはポインタのポインタです)
      を取得するということができません。
    * There's no "reference arithmetics" (but you can take the address of an object 
      pointed by a reference and do pointer arithmetics on it as in &obj + 5).
      参照に対する算術演算はできません。ただし、参照により示されているオブジェクトの
      アドレスを取得してそれに対するポインタ算術演算(&obj + 5のような)を行うことが
      できます。

Strange phrases like "a reference IS the object" are used quite frequently in the C++ 
community. Such claims are only useful to hide the fact that C++ pointers & references are 
so similar that having both in the language is an unnecessary complication. In other contexts, the 
claims are simply false. For example, a wide class of bugs comes from accessing dangling 
references - references to objects which were already destroyed. If a reference is the object, or 
just another name for it, how can that happen? Names of destroyed objects are inaccessible - it 
takes a previously assigned pointer to access a destroyed object (C++ also breaks that rule - you 
can access a destroyed global object by its name from a destructor of another global object, but 
that's a different can of worms).

“参照とはオブジェクトである”(a reference IS the object)という奇妙なフレーズは
C++コミュニティにおいて頻繁に用いられています。そのような主張は
C++におけるポインタとリファレンスとがほとんど同じような存在であるという事実を
隠蔽するのに都合がよいからというのに便利なだけです。
別の文脈においてはこの主張は間違ったものになります。
たとえばあいまいな参照(dangling reference)をアクセスすることにより生じた
wide class of bugsの場合、参照とはすでに破棄されたオブジェクトを参照するものです。
ある参照がオブジェクトであるか、あるいはjust another name for it であったとき
何ができるでしょうか? 廃棄済みオブジェクトの名前はアクセス不能です。
廃棄されたオブジェクトアクセスするために事前に代入されたポインタを使用します
(C++はここでも規則を破っています。廃棄済みのグローバルオブジェクトに対してその名前を
別のグローバルオブジェクトから得てそれを使うことによってアクセスすることが可能です。
しかしそれはdifferent can of wormsです)。

誰か全部訳(ry

■_ Programming Pearls

すでに誰かが指摘しているようで、第二版の翻訳について書かれたページがあがってますが

バカが征く on Rails 2008年04月23日(1)

http://www.amazon.co.jp//dp/4764901587/
『プログラム設計の着想』(J.L.Bentley、近代科学社) 

いや、やっぱ、開発全体の基本の話はともかく、最適化 
だとか、デバッグだとかは、自分のような人間が書いちゃ
いけないんだよな。こういう本とか、Kernighan氏の本とか、 
素晴らしい古典があるんだから、それを読んだほうが 
よっぽどいいんだから。 

それにしても、これ読むと、ほんっとに自分はエセエンジニア 
だと思うね。『封筒裏の計算』とか、全然ダメなんだよねぇ。 

こういう古典は、今からすると、いささか性能に話が 
偏ってる気がするけど。でも、やっぱり、こういうのは 
一種の『たしなみ』だと思うんだよね。プログラマとしての 
たしなみ。知らなきゃ仕事できないってわけじゃないんだ 
けど。でも、入門書とか解説書ばっかりだったら味気 
ないでしょ。プログラミングって、もっと楽しいもの 
なんだから。

greenteaさんが書いていることには何の文句もないんですが、 原書(Programmign pearls)の初版の訳を挙げているのには何か理由があるんでしょうか? 原書は第二版が出ていてその翻訳も既に出版されています → 珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造
珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造

どこが違うんだろうかと思って調べてみたのですが、こんな感じ?

Preface to Programming Pearls

To Readers of the First Edition

I hope that your first response as you thumb through this edition of the book is, ``This sure 
looks familiar.'' A few minutes later, I hope that you'll observe, ``I've never seen that before.''

This version has the same focus as the first edition, but is set in a larger context. Computing 
has grown substantially in important areas such as databases, networking and user interfaces. 
Most programmers should be familiar users of such technologies. At the center of each of those 
areas, though, is a hard core of programming problems. Those programs remain the theme of this 
book. This edition of the book is a slightly larger fish in a much larger pond.

One section from old Column 4 on implementing binary search grew into new Column 5 on testing, 
debugging and timing. Old Column 11 grew and split into new Columns 12 (on the original problem) 
and 13 (on set representations). Old Column 13 described a spelling checker that ran in a 
64-kilobyte address space; it has been deleted, but its heart lives on in Section 13.8. New Column 
15 is about string problems. Many sections have been inserted into the old columns, and other 
sections were deleted along the way. With new problems, new solutions, and four new appendices, 
this edition of the book is 25 percent longer.

Many of the old case studies in this edition are unchanged, for their historical interest. A few 
old stories have been recast in modern terms.

あとこの辺→ Why A Second Edition of Programming Pearls?

More Programming Pearlsの方は原書も第二版は出てないんですかね。

K俣さんの脳内にはUCS-4もUTF-32は存在していないらしいようです

日経ソフトウエア今月号。 K俣さんのCの連載記事も最終回らしい。 ということで死者(死んでない死んでない)に鞭打つのは忍びないけど

仕組みから理解するC言語

文字の迷宮を解決するUnicodeプログラミング

前回のこの欄では、シフトJISのようなマルチバイト文字の扱いに関して、C標準ライブラリが多
くの悩ましい問題を抱えていることを示した。そもそもマルチバイト文字を処理するライブラリ
関数は、標準Cの一部でないことも示した(*A)。

その代わりに、標準Cが手厚くサポートするのは「ワイド文字」である。ワイド文字とは、従来
の文字(char)よりも幅広い(wide)ビット幅で表現される文字と考えればよい。
実質的にはUnicode(*B)と考えてよいだろう(*C)。

Unicodeとは、全世界の文字を集めた文字集合である。当然、日本語の文字も含まれる。シフト
JISでは使用できない「JIS X 0212補助漢字」や「JIS X 0213 拡張漢字」に含まれる文字も使用
できるため、日本語文字の拡張手段としても機能する。また、世界的なIT企業や、インターネッ
ト関連技術の標準化団体であるIEFT(*D)やW3C(*E)もUnicodeを全面的に採用しているため、これ
からの主流になることは間違いない。それを考えれば、実質的にUnicodeサポートを実現するワ
イド文字を標準Cがサポートするのは当然の成り行きといえるだろう。

しかし、Cのワイド文字サポートは言語仕様の変更ではなく、「プラス・アルファ」として実現
されているため、存在に気づきにくい。ワイド文字を一切使用しなくてもCプログラムを書けて
しまうので、ワイド文字を使ったことがないCプログラマもまだまだ珍しくないと思う。そこで、
今回は、ワイド文字の使い方と、それを使うと何が変化するのかを紹介しよう。

(略)

つまり、
wchar_t 型は2バイトであるのに対して、char型は1バイトなのである。
これが、日本語文字1文字をたった一つの文字型データに格納できる秘密である。
そして、単純にcharから wchar_t に置き換えるとメモリー消費量が2倍に増えることを意味する。

UTF-8という別解

ここまでUnicodeとして紹介したものは、厳密にはUnicodeを16ビット値の集まりで表現する「
UTF-16(UCS Transformation Format 16)」と呼ばれるエンコード方式である。これとは別に、
Unicodeには8ビット(1バイト)値を単位として記述する「UTF-8」というエンコード方式がある。

JavaScript、Java, C#, Visual Basicなどの言語でも、プログラム言語が規定する文字の型は
UTF-16が前提となっていることが多い。
その理由は簡単で、長さが変化するUTF-8では処理の
効率がよくないからである。

(略)

*A
mbcstowcs関数のような、マルチバイト文字とワイド文字の変換関数は標準Cに含まれている。
*B
Unicodeは、ISO/IEC 10646として定められたUCS(Universal multiocted coded Character Set)
とほぼ等価であり、この名で呼ばれることもある。
*C
より正確には、Unicodeを16ビット値で表すエンコード方式「UTF-16」である
*D
    

えーと、UTF-16も可変長だし(しかもここでは割愛しましたが、 自分でサロゲートペアに関する記述を直前にそれなりの長さを割いて書いています)、 VC++(とWindows)の世界ではUTF-32 や UCS-4にはほぼ縁がないだろうとは云えるとしても、 まるでUTF-16とUTF-8しかないような説明のしかたはいかがなものかと。

順番が前後しましたが、wchar_t の実態がUnicodeと関係ない世界もあるわけですよね。 これまたWindows世界とは関係ないかもしれないけど、こういうところで無神経に 無邪気に書いちゃうことが、都市伝説とか間違いの流布の元になるんじゃないんですかねえ。 もっと責任持って文章を書けと。 先生、K俣氏になにか云ってやってください○| ̄|_

この記事の最後の方で紹介されていたのだけど、VC++(たぶん2008?)では 次のような拡張が施されているそうです (ワイド文字→UTF-8の変換を勝手にやってくれる)。

#include <stdio.h>

int main(void)
{
    FILE * fp;
    fp = fopen("newfile.txt", "w, ccs=UTF-8");
    fputws(L"あいう", fp);
    fclose(fp);
    return 0;
}

DVDとか買ったけど

アフィリエイトつくるのめんどー(って、webサービス通すだけだけどさw)

from 2ch (part 2)

初心者のためのプログラミング言語ガイド Part8 
258 デフォルトの名無しさん [sage] Date:2008/04/23(水) 21:46:32  ID: Be:
    上の話を見てると、PerlのOOPって大したことないのか?と思ってしまうが 


260 サイタマン ◆mYN3wsz7vE  [] Date:2008/04/23(水) 21:56:08  ID: Be:
    >>258
    PerlのOOPはクラスのインスタンス化、操作、破棄はもちろん
    継承、多重継承、デザインパターンで言うとsingleton
    やAUTOLOADを使ったDecoraterなど
    ほとんどの機能はありますよ。 

261 デフォルトの名無しさん [sage] Date:2008/04/23(水) 22:03:36  ID: Be:
    blessって何だ? 

262 サイタマン ◆mYN3wsz7vE  [] Date:2008/04/23(水) 22:09:12  ID: Be:
    オブジェクトを結びつける 

263 デフォルトの名無しさん [sage] Date:2008/04/23(水) 22:42:31  ID: Be:
    Perlに今更持ち上げるだけの価値があるとは思えない
    何かにつけてややこしいし 

264 サイタマン ◆mYN3wsz7vE  [] Date:2008/04/23(水) 22:46:00  ID: Be:
    自分も新しい言語模索してるんですが、
    なかなか、いい言語が無くて・・・
    何か無いですかね・・・ 

267 デフォルトの名無しさん [sage] Date:2008/04/23(水) 23:07:14  ID: Be:
    >>260
    ああ、一通りあるのね
    あんたが「PerlでのOOP導入の利点とは、関数名の衝突を避けられること」
    なんて微妙なことを書いてるもんだから 

271 デフォルトの名無しさん [sage] Date:2008/04/23(水) 23:19:44  ID: Be:
    サイタマンに同調する気はないが、
    デザインパターン本を見てまねするのは末期な感じがする。
    さすがにそこまでやっちゃうと考える力、判断する力がつかなくなるw 

272 デフォルトの名無しさん [sage] Date:2008/04/23(水) 23:24:07  ID: Be:
    デザインパターン的発想ができるようになるってのが重要なわけだぁね。 

273 デフォルトの名無しさん [sage] Date:2008/04/23(水) 23:30:12  ID: Be:
    あくまで参考として見ておいたほうがよくて、
    やはり自分で設計できるようにしたほうがいいと思うよ。

    大規模開発などに携わる場合は、必要な知識かもしれないけど
    個人でやる場合は無視したほうがいい。 

274 デフォルトの名無しさん [sage] Date:2008/04/23(水) 23:33:55  ID: Be:
    そうかねえ
    例えば有名なGoFの23パターンだが、あれを全部とは言わずとも
    大体を自力で発見できるかと言われると・・・・・・いくつか自信がない

    何よりもまず、有名な手法に名前がつけられているって事が重要
    名前さえあれば議論のまな板に乗せられる。伝達できる 

296 デフォルトの名無しさん [sage] Date:2008/04/24(木) 08:34:56  ID: Be:
    関数型言語初心者で、ちょっと書けるようにはなったんですが、最近
    CとかC++のソースを見なきゃいけない事態になりました。こっちは
    まったくやったことありません。

    これって何でしょうか、何でこんなにあーでもない、こーでもない
    って書き方してるんでしょうかね。あと、一つの変数に何回も
    値を代入して、それによって関数の戻り値が変ったりするなど、
    すごく分かりにくいです。

    あと、ポインタってありますね。これとか全く意味不明というか、
    混乱の元だと思うんですが。何でコーディングしながら、メモリ
    の状態を考えないといけないんでしょうか。変数に値がbind
    されるだけではなく、アドレスを指し示している変数が存在
    する必要が分かりません。

    正直、今の作業が終わったらCやC++みたいなのはずっと
    やらないで済ましたいんですが、可能なんでしょうか。 

297 デフォルトの名無しさん [sage] Date:2008/04/24(木) 08:39:05  ID: Be:
    >>296
    今はサイタマンを糾弾している最中だ。
    質問は禁止している。 

298 デフォルトの名無しさん [sage] Date:2008/04/24(木) 08:52:42  ID: Be:
    >>296
    可能性のお話なら、「可能」だろう 

299 デフォルトの名無しさん [sage] Date:2008/04/24(木) 09:34:16  ID: Be:
    >>296
    どこぞの表現を借りるなら、C系は「コンピュータがどう動くか」のモデル化を主目的としているのに対し、
    関数型言語は「計算というものがどう振る舞うか」のモデル化を主目的としている。
    マシン語は使いたくないが、しかしコンピュータの性能をそれなりに高い純度で引き出したい、という場合、
    前者を使わないわけにはいかなくなる。

    従って、君がCやC++を「やらないで済ます」ことができるかどうかは、たとえば、
    君の作るものがコンピュータの性能をどれくらい引き出す必要のあるものか、に依ることになる。
    あと、より「社会的な」問題としては、ユーザー人口の少ない言語は処理系のライブラリ、ドキュメント、
    相談相手etc、色んな物の少なさで苦労するかもしれないから、それに耐えられるかどうか、なんてのも。

    ただちょっと気になったんだけど、「関数型言語初心者」でC/C++を「まったくやったことない」ってことは、
    つまり君の質問の「登場人物」のどれについても、まともに理解していない段階なわけだよね?
    そういう段階にいるうちは、批判精神は胸の内にしまって、黙々と勉強を続けたほうがいいと思うよ。
    それよりも、>>298が仄めかしているように、自分の立ち位置(作りたいものとか、業務内容とか)を
    ハッキリ表明して、「こういう状況にあるのだが、CやC++をやらずに済むだろうか?」という適切な質問を書く、
    ということができない自分への批判精神を磨くほうが大事だと思う。 

300 デフォルトの名無しさん [sage] Date:2008/04/24(木) 09:47:50  ID: Be:
    >>277

    Pythonの場合も、インデントで制御文の終了位置が分かる。

    >>277の主張は、>>277にとっては「}」のほうが分かりやすいという感慨にのみ立脚している。
    だから、「{」~「}」よりも「    」のほうが分かりやすい人にとっては
    無意味。

    現実には、Pythonのコードを読みやすいと思っている人は少なくないから、>>277のような
    感じ方をする人が多数派だとはいいきれない。

    また、仮にインデントが分かりにくかったならば、{~}言語や(~)言語やbegin~end言語で
    プログラマーがコンパイラによって必要とされていないインデントを多用してコードを書く理由は
    なんだろうか?

    Basic系みたいに、

    If a = b Then
        Print '1'
    EndIf
    Print '2'

    なんてやれると、これは「{」~「}」よりも圧倒的に分かりやすい。「}」は
    それ自体何の終わりかわからないが、「EndIf」が「If」制御文の終わりであることははっきりして
    いる。しかし、Basic系でも実際のコードではインデントが多用されている。

    つまり、インデントが一番分かりやすい。

    Perlの美徳としてはっきりしているのは、読みやすさではなく、書く場合の労力が
    小さいことだろう。 

301 296 [sage] Date:2008/04/24(木) 10:06:05  ID: Be:
    >>299
    ちょっと分からないのは、僕等がやろうとしているのは計算処理であって、特定
    コンピュータがどう動くかを云々することじゃないって認識なんですが、違う
    ということですか?

    コンピュータのメモリがどうのって話は、ハード屋とか、コンパイラ作ってる
    人とか、OSのコア部分作ってる人たちの分野じゃないのですか?こういう
    のはごく限られたその方面のエキスパート達がやればいいんじゃないかと
    思います。

    一般のプログラマってのは、そういう話とあまり関係なくやりたいことを記述
    できればいいと思うんですよね。パフォーマンスがどうとか、そういうのは
    コンパイラがやればいいと思っちゃう。そりゃ無理難題をコード化すれば
    メモリオーバしちゃうでしょうけど。メモリのアドレスがどうとか考えるのは
    やり過ぎじゃないですか?

    関数型がマイナーだというのが僕は信じられません。Cなんかと比べて
    段違いにわかりやすいと思うのですが。 

302 デフォルトの名無しさん [sage] Date:2008/04/24(木) 10:14:44  ID: Be:
    >>301
    俺らがやろうとしているのは計算処理ではないよ。
    コンピュータに計算処理をさせることだ。 

303 デフォルトの名無しさん [sage] Date:2008/04/24(木) 10:16:09  ID: Be:
    俺はCなどの手続き型言語で挫折して、
    Lispを弄ってみた。するとどうだろう。
    書き方も構文のあり方も、ルールも違う言語なのかわからんが
    コーディングが楽しくなってきた。
    そしてHaskellに手を出してみた。面白い。
    そのついでに、Pythonに手出してみた。おお、理解できるぞ。
    そして今はCに手出してる。

    関数型言語の考え方(リスト再帰、cdr再帰、無名関数など)は
    かなり有用であると思えた。 

304 デフォルトの名無しさん [sage] Date:2008/04/24(木) 10:25:40  ID: Be:
    >>301
    クルマでも、オートマの方がいいだろって人もいれば、マニュアル車じゃないとダメって人もいるんだよ。 

305 296 [sage] Date:2008/04/24(木) 10:52:11  ID: Be:
    >>302
    計算処理をさせるんですけど、Cとかってズラズラと手順を長々と書いてて
    面倒じゃないですか?

    >>303
    Cに戻って感想はいかがでしょうか?やっぱり面倒じゃないでしょうか?

    >>304
    マニュアル車はどんどん減ってきてますよね。コンピュータ言語も同じような
    道を辿るべきじゃないかと思います。 

306 デフォルトの名無しさん [sage] Date:2008/04/24(木) 10:56:27  ID: Be:
    爆釣ですね。



307 デフォルトの名無しさん [sage] Date:2008/04/24(木) 11:06:50  ID: Be:
    >>305
    手続き型は、面倒だね。
    (setf x 10) とか、式一つ書くだけでそれで終えられる
    関数型に比べると、変数の宣言とか
    パラメータの型指定とか
    {}みたいなブレースとか戻り値とか。
    指定するのは面倒くさいw

    でも大半のLL言語及びLispなどの言語は
    Cで実装されてるので学習中w 

308 デフォルトの名無しさん [sage] Date:2008/04/24(木) 11:08:09  ID: Be:
    >>305
    > コンピュータ言語も同じような道を辿るべきじゃないかと思います。
    べきっていうか、現に辿ってるよ。
    関数型は残念ながら未だマイナーだけど、いわゆるLLが元気なのは、そういう流れなわけで。

    ただ、実行速度を要求される場面というのは、君が思っているほど少なくないし、
    従って、一部のエキスパートが何とかすればいい、と言い切るところまでは、少なくともまだ行ってない。
    たとえばゲームは、遥か未来ならともかく、しばらくは「その時代のマシンの最高のパフォーマンス」を
    引き出すことと戦わなくちゃならないだろうし、
    一般人に広く使われるようなGUIアプリの挙動も、「待ち時間をどこまでもゼロに近づける」ことを
    あっけらかんと要求される以上、言語の実行速度の問題からはしばらく離れられないだろう。 

309 デフォルトの名無しさん [sage] Date:2008/04/24(木) 11:11:38  ID: Be:
    >>307
    最初の例、変じゃない? 手続き型でも、動的型付け言語なら x = 10; 的な記述で済むでしょ。
    あとLLの後ろに「言語」は付けないほうが。 

310 296 [sage] Date:2008/04/24(木) 11:31:36  ID: Be:
    >>307
    やはり、Lisp自体の実装レベルになると、Cなどが登場するって
    ことですよね。コンパイラレベルというか。そこまでやる気には
    ならないんですよ。

    >>308
    確かにゲームはそうですけど、一般のゲームプログラマってそれを
    構成する基本部品のようなものまで自力で実装してるんでしょうか?
    その辺のライブラリはやはり一部の人たちの手によって作られる
    べきな気がしますが。

    例えば、JavaなんかもVMが間に入って解釈するようなことやって
    ますけど、広く使われてますよね。実際にCなんかよりずっと遅い
    って言われてますし。関数型言語が遅いから広まらないっていう
    理由がよく分かりません。Javaよりも遅いってことなんでしょうか? 

329 デフォルトの名無しさん [sage] Date:2008/04/24(木) 13:26:18  ID: Be:
    Cが受け入れられたのは機械語を否定しなかったから
    C++が受け入れられたのはCを否定しなかったから
    使ったことないけど、Luaなどはそういう空気を読めている

    で、問題は、C/C++を否定する言語が受け入れられるかどうかだと思う 

331 296 [sage] Date:2008/04/24(木) 13:36:31  ID: Be:
    >>329
    そこが理解できない。

    何で人間が機械語を分からないといけないんでしょうか?そんなの
    分からなくて当然でしょ。人間が何したいかを書けば、勝手に機械語に
    変換できればいいわけで、それはコンパイラとかの役目ですよね。

    コンパイラやOS作るんじゃないのにどうしてそんな低レベルなことを
    知らないといかんのか?ってのが分からない。 

336 デフォルトの名無しさん [sage] Date:2008/04/24(木) 14:40:45  ID: Be:
    ・実行速度は速ければ速いほどいい
    ・使用メモリは少なければ少ないほどいい
    ・プログラマの数は多ければ多いほどいいし、給料は安い方がいい
    ・過去のコードは可能な限り再利用したい
    ・何十年間蓄積してきたノウハウは、無駄にしたくない
    ・Cには30年以上実績があるのに対して、今流行りの言語はいつ
    すたれるか分からんし、処理系実装の選択の余地が少ないリスクがある。
    ・CはどのCPUにも実装されるが、今時の高級言語は処理系自体の
    ポータビリティに問題がある。

    趣味のプログラマは、こんなことに縛られる理由がないのは確か。 

340 デフォルトの名無しさん [sage] Date:2008/04/24(木) 15:22:46  ID: Be:
    よくわからんけど、機械は自動で制御用のコード書いてくれるの? 

342 デフォルトの名無しさん [sage] Date:2008/04/24(木) 15:37:15  ID: Be:
    >>340
    典型的な書生論を展開中の296に、そういう現実的な話は見えません。

    てか、「機械に任せればいいじゃん」というのは関数型言語だって同じなんだが、
    何故か「Cで書くものは機械にだってやらせられるが、関数型言語で書くものは人間にしか書けない」
    という前提で話が展開してる不思議。 

346 デフォルトの名無しさん [sage] Date:2008/04/24(木) 17:27:48  ID: Be:
    >何でこんなにあーでもない、こーでもない
    >って書き方してるんでしょうかね。
    >あと、一つの変数に何回も
    >値を代入して、それによって関数の戻り値が変ったりするなど、
    >すごく分かりにくいです。

    そりゃコード書いた人の書き方の問題

    >変数に値がbindされるだけではなく、アドレスを
    >指し示している変数が存在する必要が分かりません。

    実行時に動的に自分自身のコードを書き換える時
    など使い道は多いよ。
    JAVAやC#などのJITだって、ポインタの賜物。 

372 デフォルトの名無しさん [sage] Date:2008/04/24(木) 23:14:50  ID: Be:
    入門用学習用途ならDelphi
    WEBアプリならPerlかPHP
    効率重視ならC++
    WinのみGUI重視ならC#
    ホビーならHSP 

373 デフォルトの名無しさん [sage] Date:2008/04/24(木) 23:26:10  ID: Be:
    個人的にHSPは薦めづらいというか
    言語仕様が貧弱な割に、ウィンドウが一行で表示できたり妙なところで楽
    あそこで得た知識ってのはあんまり役に立ちそうにない。まあだからこそのホビー向けか 


方向性としては面白そうな話をしていると思うんだがなあ(^^;

2008年04月23日

■_ 日経も辛いのだな…

「めぐりあい宇宙編」のレビル将軍の口調でよろしく。 ってどんだけの人がわかってくれるんだw

朝の出勤時のことなんですが、会社の最寄駅の駅近くで 「日経1週間無料お試しキャンペーン」 なるものの宣伝入りティッシュを配っていたわけです。 なんつーか時代ですかねえ。 わたしが新入社員だった頃は殿様商売もいいところだったのに(笑) たとえば「社会人になったらトーゼン日経新聞は読んでなきゃダメですよね」とかなんとか。

from 詐称spam、ebanさんのところにもいったのか → Just another Ruby porter, 2008-4-c Fromを騙るspamが急増 わたしのところは嵐が過ぎ去ったのかw、めっきり数が少なくなりました。

Twitter8分の恐怖!? 「つぃったーはっぷんのきょうふ」って読んでなんのことかと首を傾げて悩んじまったい。 「八分」って書くのがそんなにお嫌なのかね。

takano32さんがいよいよ危なくなってきたような気がする。 これでblogに何も出てこなくなったときが怖い。 odzさんとかもももの人の方は大丈夫かなあ。と他人事ながら心配してみる。 関連:入社して2週間、新社会人はどう思っている? - @IT

嫌いな人はとことん嫌いみたいだけど

わたしは好きなんですよ、押井守の作品。 つーことでリリースからちょっと時間が空いているけど、こんなのを買ったり → カウントダウン・オブ・「スカイ・クロラ」count.3
カウントダウン・オブ・「スカイ・クロラ」count.3
押井守が絡んだ対談とかインタビューとか掲載されていたので購入。
月刊 COMIC (コミック) リュウ 2008年 06月号 [雑誌] オトナファミ 2008年 5/3号 [雑誌]

ぼちぼち2008 2Q のアニメ主題歌CDリリースラッシュが始まってくるようで、このあたりを購入。 メイドガイは5月に入ってから。
トライアングラー
トライアングラー 超妻賢母宣言
超妻賢母宣言 サクラアマネクセカイ
サクラアマネクセカイ

HexenkesselA Random TumblrMore C++ Idioms - Wikibooks

すばらしい。 手伝いたいけどちと余裕がないな。

from reddit

  • Squirrel

    これは Luaの派生ということでいいんだっけ?

    Squirrel
    Squirrel is a high level imperative/OO programming language, designed to be a powerful 
    scripting tool that fits in the size, memory bandwidth, and real-time requirements of 
    applications like games. Although Squirrel offers a wide range of features like:
    
        * Open Source zlib/libpng license オープンソースで zlib/libpng ライセンス
        * dynamic typing 動的型付け
        * delegation 委譲
        * classes & inheritance クラスと継承
        * higher order functions 高階関数
        * generators ジェネレータ
        * cooperative threads(coroutines) cooperative なスレッド(コルーチン)
        * tail recursion 末尾再帰
        * exception handling 例外処理
        * automatic memory management (CPU bursts free; mixed approach ref counting/GC)
          自動的なメモリ管理 (CPU burst (ってナニ?) フリー。リファレンスカウントとGCの混合アプローチ)
        * weak references 弱参照
        * both compiler and virtual machine fit together in about 6k lines of C++ code.
       コンパイラと仮想マシンの両方があり、どちらも6000行ほどのC++コードで実現されている
        * optional 16bits characters strings
       オプションで16ビットキャラクタ文字列
        * compiles on both 32 and 64 bits architectures
       コンパイルは32ビットアーキテクチャでも64ビットアーキテクチャでも可能
    
    Squirrel is inspired by languages like Python,Javascript and expecially Lua(The API is 
    very similar and the table code is based on the Lua one)
    
  • programming: I want to learn to program. I am an ABSOLUTE begginer. I own a mac. Where do I start?

    プログラミングを学びたい。わたしは正真正銘の超入門者です。 Macを持っています。なにから始めれば良いですか?

    vanderbilt
    
    Program what? Video games? Websites? Control Panels? Office App replacements? 
    Old-School Business Desktop Apps? That kind of plays into what I recommend.
    
    ナニをつくるの? TVゲーム、webサイト、コンパネ、それともオフィスアプリ?
    Old-School Business Desktop Apps?
    
    If it's websites, I recommend PHP.
    webサイト関連ならPHPをおススメする。
    
    For video games, it's C++ or C.
    TVゲームならC++かC。
    
    For anything else, consider Python, RealSoftware's RealBasic, or FileMaker Pro.
    それ以外なら、Pythonか、RelaSoftwareのRealBascicかあるいはFileMaker Proというところかな
    
    superalamar (質問者)
    
    I want to design and build something very very similar to keynote (the windows 
    freeware "outliner") for the mac, with some added functionality.
    keynoteみたいなのを作りたいんです。いくつか機能を追加して。
    
    
    Edit: With heavy influence from quicksilver's functionality and invoke style, if that makes any sense.
    
    mutatron
    FORTH! http://powermops.com/
    
    slava_pestov
    Doesn't run on Intel Macs unfortunately.
    それIntel Macじゃ走らないよ。
    
    I'd recommend Python. I believe it is part of the standard installation on newer macs.
    Pythonを薦めるね。新しいMacなら標準で入ってるんじゃないか?
    
    
    This looks like a beginner-friendly tutorial.
    http://programming-crash-course.com/
    
    
    ricer 
    try buying a programming book and reading online tutorials.
    プログラミングの本を買って、オンラインのチュートリアルでもやってみればいいよ。
    
    superalamar(質問者)
    Care to recommend a good book?
    お薦めの本はありますか?
    
    
  • programming: Ask reddit: why does it suck to program for the web?
    programming: Ask reddit: why does it suck to program for the web?
       1. You are dealing with an inherently stateless system. Although we have developed 
          clever hacks that give the illusion of maintaining state, they are still hacks.
       2. Implementation of web standards in browsers and tools is generally divergent.
       3. Developing content for the web is always like trying to hit a moving target.
    
    And the list could go on. Couple that with the fact that most web application 
    development is focused on time to market and adding new features and you will soon 
    have a shit storm.
    
    As a professional web developer, I've been trying to figure this out for years. As far 
    as I can tell it has to do with four or five separate factors:
    
        * Being shockingly removed from anything that constitutes a "problem" in a CS sense.
        * Everything winds up being a damn UI problem.
        * Absurd compatibility problems abound.
        * Your choice of languages is limited, especially in the browser, and largely detestable.
        * Web devs and designers are the most arrogant people you'll meet outside Hollywood.
    
    Those are the main problems.
    
        * The 'thin client' paradigm is bogus
        * Browser Incompatiblitiy
        * You're an old fart when you aren't an expert in the "language du jour"
        * The "language du jour" is usually a bad implementation of a suspicious idea
        * No control over performance
        * Data == persistent objects
        * We're basically back at programming for dumb terminals
        * .....
    
    

ホワット・ア・ワンダフル・ワールド C でマクロ展開系を実装してみる
きむら(K)さんが

http://www.kt.rim.or.jp/%7ekbk/zakkicho/08/zakkicho0804c.html#D20080420-6
■ あろはさんのところ
コメントしてもけられる○| ̄|_ どうもこちらが使っているプロバイダの上流の問題?

(上のリンクがメチャクチャですよ)

とか書いてたので,スパムコメントのドメイン規制を緩めたりしてたら,これだ.速攻スパムが来た
(いままで,スパムがくるたびに,そのドメイン丸ごと規制という乱暴なことをしていた.ほとんど
が外国のやつだし.たぶんのその中のどれかが悪さしてた?)

う~ん,悩ましいところ 

ぐはっ。典型的な off-by-one エラーをかましてしまった。 ちなみに 0804c → 0804b が正しくて、まるきり「めちゃくちゃ」というわけでもない。

それはともかく、IPアドレスで弾いているのではなくて? 以前 Rubyのメーリングリストでも、IPアドレスがブラックリストに載っているアドレス だってことでspam判定されたんだよなあ。 まあいろいろ問題ありの上流ではあるらしいけど、一応日本のものの範囲に入ってるはずなんだが(^^;

まあいざとなれば EMONEでも使うか、ネットカフェから(笑)

ん?

8085系プログラミングについて -OKWave

私が駆け出しの頃は、下っ端仕事でよくやらされました。
30年くらい前の経験なので、ニモニックが違ってたらゴメン。

    LXI H,9000H ;HL←9000H
    MOV E,M   ;E←a
    MVI D,0   ;D←0 要するにDEレジスタにaをセット
    INX H    ;次のアドレス(9001H)
    MOV A,M   ;A←b
    LXI H,0   ;HL←0 これが積になる
LABEL1:
    CMC      ;Cyをクリア
    RRC      ;CyとAを右にローテイトする
    JNC LABEL2  ;Cyが出なければ加算しない
    DAD D    ;積に加算
    PUSH H    ;積を退避
    PUSH D    ;HL←DEとするための処理
    POP H    ;ここでHL=DEとなる
    DAD D    ;HLを2倍する(HL←HL+DE)
    XCHG     ;DEとHLを交換
    POP H    ;積を復帰
LABEL2:
    ORA A    ;A(乗数)が0かどうかを確認する
    JNZ LABEL1  ;乗数が0でなければ繰り返す
LABEL3:
    SHLD 9002H  ;積を格納

例えば、b=0AEH=174を2進値で表すと、10101110です。
これを掛けるということは(a×128)+(a×32)+(a×8)+(a×4)+(a×2)ということです。
aの値を1倍、2倍、4倍、8倍・・・とし、上記bのビットが1の時だけ加算してゆけば答えが得られます。

BCレジスタペア使ってないね。 うまくやればpush/popしないでできるんじゃないかなあ。 あと、ローテートが右回りってのがちと引っかかる。 ダメってことはないけど、ふつー(ってなんですか)は左シフトと adc でやらないかなあ?

あー、でも、わしやってたのはZ80だから8085では使えない何かがあるのかも。 16bitレジスタペアのキャリーつき加算てZ80だけ?

mail()関数の値がtrueしか返ってこないです -OKWave
PHP初心者です
PHPに関する質問なのですが
メールフォームにメールアドレスを入力して送信すると
メールが返信されるスクリプトを作成中

<?php
if (mail($_POST["mail"],'test','test@xxx.ne.jp')
echo "メールを送信できました";
else
echo "メールを送信できませんでした";
?>
という風なソースを書いて実行しました
メールアドレスを正しく入力して送信するとちゃんと
メールが届きます、それは当然なのですが
たとえば適当な文字の羅列
(例:f所亜ジョあじょgじゃおじょあじょじょあ)
こんな文字をフォームに入力して送信しても
if構文が正常に動作せず、"メールが送信できました"
と表示されます、これはifの条件の値がTRUEしか
返ってきてないということなのでしょうか?
また、このif構文を正常に動作させるにはどうしたら
いいでしょうか?教えてもらえるとありがたいです・・・・

どうして誰も、if (mail($_POST["mail"],'test','test@xxx.ne.jp') 入力をノーチェックでmain()に渡しているのを注意しないんだw

2008年04月22日

■_

ruby design meeting. 会社にいる時間に開催されるのでは(ブロックされてIRCのチャネルに接続できないので)、 傍聴すらできないのであった。がっくし○| ̄|_ → ruby-design / Design20080421 ログ

ビューティフルコード発見。三箇所で平積みになっていました。 詳説正規表現は発見できず。

家に帰るとオライリーから通販で買ったビューティフルコードと詳説正規表現第三版が届いていました。

通販で購入するともらえたノベルティ。

■_ Tcl

PLNewsを見ていると、ここ二三ヶ月くらいではTclのリビジョンアップのペースが やたらと早いような印象があります。実際昨日あたりでも 8.4.19とかいうアナウンスがありましたし (8.4.xということはメンテナンスリリース?)。 ということがあってかどうかはともかく I can’t believe I’m praising Tcl なんてのが。

I can’t believe I’m praising Tcl

I can’t believe I’m praising Tcl

So the other day I both defined Tcl procedures all by myself and used them 
interactively, and I liked it, to the point where it felt like some kind of local 
optimum. This entry is an attempt to cope with the trauma of liking Tcl, by means of 
rationalizing it. I’ll first tell the story of my fascinating adventures, and then I’
ll do the rationalizing (to skip the oh-so-personal first part, go straight for the 
bullet points).

(さくっと略)


Now what?

I don’t know if I’d use Tcl. It’s less of a programming language than your typical 
pop infix 4GL. For starters, [expr] is a bitch. And then there are “advanced” 
features, like closures, that I think Tcl lacks. It has its interesting side from a 
“linguistic” perspective though. It has really few core syntax, making it closer to 
Lisp and Forth than the above-mentioned pop infix ilk. So you can use Tcl and claim 
for aristocracy. Of course you’ll only manage to annoy the best programmers this way; 
the mediocre won’t know what you’re talking about, seeing only that Tcl doesn’t 
look enough like C to be worth the name of a language.

I’d think a lot before embedding Tcl as a scripting language for my tools, because of 
linguistic issues and marketing issues (you ought to give them something close enough 
to C, whether they’re a customer or a roommate). So the practical takeaways for me 
are modest:

   1. I ain’t gonna mock Tcl-scriptable tools no more. I understand what made the 
      authors choose Tcl, and no, it’s not just a bad habit. On a level, they chose 
      probably the best thing available today in terms of ease-of-programming/ease-of-use 
      trade-off (assuming they bundle an interactive command shell). If I need to automate 
      something related to those tools, I’ll delve into it more happily than previously. So 
      much for emotional self-tuning.

   2. I’ll let it sink, and try to figure out whether you have a better trade-off. 
      For example, if Ruby had macros (functions which don’t evaluate their inputs), you 
      could say doit x y without making x and y symbol objects, which forces you to prefix 
      them with a colon. How macros of that sort should work in an infix language escapes me 
      (not that I think that much about it, but still). Anyway, I’ll definitely add Tcl to 
      the list of things I should understand better in order to fight my linguistic 
     ignorance. Being an amateur compiler writer, that seems like one of my duties.

Tclってのは当初からアプリの制御 or 拡張のための言語として設計された面があって、 実際組み込みもしやすいようですけど、実際に組み込んだ例というのはどのくらいあるんでしょうかね? rmsのアレのせいでもないでしょうけど、あまり見かけないような気がします。 が、それはわたしが見ている場所のせいかもしれない。

■_ はまり道(Ruby編)

この仕様変更は全然記憶に残ってませんでした。

>ruby -ve "p [1,2,3].zip([5],[7,8])"
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32_71]
#<Enumerable::Enumerator:0x976f08>

>ruby -ve "p [1,2,3].zip([5],[7,8]).to_a"
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32_71]
[[1, 5, 7]]

>ruby186 -ve "p [1,2,3].zip([5],[7,8])"
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
[[1, 5, 7], [2, nil, 8], [3, nil, nil]]

すわ、バグか? と思ったがまずは調べてからとソースを見てみると(なぜリリースノートを見ない)、

/*
 *  call-seq:
 *     enum.zip(arg, ...)                   => enumerator
 *     enum.zip(arg, ...) {|arr| block }    => nil
 *  
 *  Takes one element from <i>enum</i> and merges corresponding
 *  elements from each <i>args</i>.  This generates a sequence of
 *  <em>n</em>-element arrays, where <em>n</em> is one more that the
 *  count of arguments.  The length of the sequence is truncated to
 *  the size of the shortest argument (or <i>enum</i>).  If a block
 *  given, it is invoked for each output array, otherwise an array of
 *  arrays is returned.
 *     
 *     a = [ 4, 5, 6 ]
 *     b = [ 7, 8, 9 ]
 *     
 *     [1,2,3].zip(a, b)      #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
 *     [1,2].zip(a,b)         #=> [[1, 4, 7], [2, 5, 8]]
 *     a.zip([1,2],[8])       #=> [[4,1,8]]
 *     
 */

static VALUE
enum_zip(int argc, VALUE *argv, VALUE obj)
{

そうでしたか。 これで数時間浪費してしまった○| ̄|_

参考までに 1.8.6の同じ箇所。

/*
 *  call-seq:
 *     enum.zip(arg, ...)                   => array
 *     enum.zip(arg, ...) {|arr| block }    => nil
 *  
 *  Converts any arguments to arrays, then merges elements of
 *  <i>enum</i> with corresponding elements from each argument. This
 *  generates a sequence of <code>enum#size</code> <em>n</em>-element
 *  arrays, where <em>n</em> is one more that the count of arguments. If
 *  the size of any argument is less than <code>enum#size</code>,
 *  <code>nil</code> values are supplied. If a block given, it is
 *  invoked for each output array, otherwise an array of arrays is
 *  returned.
 *     
 *     a = [ 4, 5, 6 ]
 *     b = [ 7, 8, 9 ]
 *     
 *     (1..3).zip(a, b)      #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
 *     "cat\ndog".zip([1])   #=> [["cat\n", 1], ["dog", nil]]
 *     (1..3).zip            #=> [[1], [2], [3]]
 *     
 */

■_ それじゃまずかろ?

MSN相談箱 [A-Z0-9]の正規表現

言語はCでなくても普通の言語ならよいです。
アルファベットと数字混在確認のための一般的な書式を教えてください。
アルファベットまたは数字
でしたら[A-Z]|[0-9]と書けますが、andを意味するように書く方法が分からないので教えてください。


回答 良回答20pt
アルファベットと数字が混在してる文字列かどうかチェック。
([a-zA-Z].*[0-9]|[0-9].*[a-zA-Z])

ちなみに自分の正規表現はperlベース。

質問者が望んでいた条件って「文字列全体」が「数字」か「アルファベット」で構成されていて、 かつ、「両方を必ず含む」という条件じゃないの?

echo abc:123|perl -ne "print qq{match} if/[a-zA-Z].*[0-9]|[0-9].*[a-zA-Z]/"
match

こうか?

echo abc123|perl -ne "print qq{match} if/(?=^[A-Za-z0-9]+$)(?=.*[0-9])(?=.*[A-Za-z])/"
match
echo abc:123|perl -ne "print qq{match} if/(?=^[A-Za-z0-9]+$)(?=.*[0-9])(?=.*[A-Za-z])/"

echo abc|perl -ne "print qq{match} if/(?=^[A-Za-z0-9]+$)(?=.*[0-9])(?=.*[A-Za-z])/"

echo 123|perl -ne "print qq{match} if/(?=^[A-Za-z0-9]+$)(?=.*[0-9])(?=.*[A-Za-z])/"

A-Za-zを \w、0-9 を \d としても(大概の場合は)いいけどまあそれはそれ。

■_

なぜ本屋の売上げが悪いのか - 黎明日記

最近、「コンパイラの構成と最適化」が携帯で読めたらなぁとよく思う。あの本は便所に持ち込
むには重たすぎる。

(ry

愚直なまでに"本"の品揃えにこだわります。というジュンク堂書店は、かなり頑張っ
ていて、無理してるんじゃないかと思えるぐらい*1。私はそこに惚れて、機会があるたびに利用
している。大阪本店にも、池袋本店にも、新宿店にも、広島店にも行ったし、特に欲しいものが
なくても行く。なぜなら行くだけで発見がある(よい本と出会える)からだ*2。梅田駅から近い順
でいうと、紀伊國屋書店、旭屋書店、ジュンク堂書店の順で近くて、ジュンク堂は梅田というよ
り堂島なんだけど、梅田駅からわざわざ歩いてでも行くし、この三書店の中で、最もよく利用し
ている。しかし、それであっても Amazon には敵わない。ジュンク堂書店だと、私が欲しいと思
った本は95%ぐらい揃うが、 Amazon は100%揃う。特に英語の書籍は Amazon という感じになっ
てしまう。

(ry

紙とトラックのまんまでは、いつまで経っても出版不況は解決しないでしょう。早く Amazon の
やっているような折衷主義的方法を越えるような、オンラインショッピングを始めて下さいよ。
ちなみに最近の携帯は PDF が読めるので、本が携帯で読めるようになるインフラは既に整って
います。あとは、出版業界が動くだけですね。

*1:倒産しない範囲で頑張って下さいね……。

*2:特に立ち読みできるというのは、オンラインショッピングにはない大きな価値です

「コンパイラの構成と最適化」が重量感あふれる本だというのはそのとおりだと思いますが、 ケータイの画面で一度に読み取れる情報量で不満ありません?

んで、書籍をAmazonさんで頼むのは自分の場合はリアル書店で手に入らないか、洋書の場合かですね。 中身を一ページも読まずにぽちっとなで買うのは、誰が書評をしている本であってもとても怖いです :-)

とはいえ洋書だとなかなかそうも行かないのがにんともかんとも。 池袋のジュンク堂さえも以前に比べると洋書の棚数が減っているような気がしますし (新宿も洋書がひとところに固まってたのがジャンルごとにばらけて置かれるようになったりで よくわからないけど減ってるような)、 日本橋の丸善なんかも改装後はぜんぜん?

■_ 工学

復刻したとか帯にあったので買ってみたこの本に絡めて何か書こうと思ったがまとまらなかったw 工作機械の歴史―職人の技からオートメーションへ

■_

バカが征く on Rails 2008年04月22日
http://www.jitu.org/~tko/cgi-bin/bakagaiku.rb?bakaid=20080422


なにいってんだかなぁ。レガシー作った人だって、それ
なりに先を見通して作ったつもりだっただろうに。それを
まるで昔の人はバカだったみたいな言い方はどうかと
思うよ、ほんとに。

都市計画を例にあげてるけど、都市計画っていうのは
むずかしいんだよ。たとえば、多摩ニュータウンとかな。
下のリンクは「スプロール現象」の話だけど:

http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%AB%E7%8F%BE%E8%B1%A1

それとおんなじくらい、長く使われるシステムを作るの
だってむずかしいんだよ。ただそれだけだろう。都市
計画とか関係ない。

ああ、そのときの事情をまるきり無視して現時点での視点と論理で文句つける人は多いですよね。 もちろんそれがすべての免罪符になるかというと微妙なところはあると思うんですが、 なぜそういう選択をしたかということに思いが及ばないというのはなんとも。

縮退運転ちう

ぐでー。

2008年04月21日

■_

まずはお詫びと訂正。 昨日の有隣堂でのフェアに関して書いた部分で、 オライリーの vi本に関して素のviしか説明してない本を~とか書きましたが、 「あれはvimの解説も載っている改訂版だ」という指摘を受けました。 → oreilly.co.jp -- Online Catalog: 入門 vi 第6版

oreilly.co.jp -- Online Catalog: 入門 vi 第6版

本書は、Emacsと人気を二分するスクリーンエディタであるviについての、唯一といっていい本格的な解説書
です。コマンドの便利な使い方、応用例、ファイル編集のテクニックを初心者にもわかりやすく解説していま
す。今回の改訂では、代表的なviクローンであるvimを解説した章と、クローンごとの機能比較やインター
ネット上のviに関する情報やトピックを付録に追加しました。

ぐはっ○| ̄|_

でも

入門 vi 第6版
Linda Lamb, Arnold Robbins 著
福崎 俊博 訳
2002年05月 発行
256ページ
定価2,625円
ISBN4-87311-083-1

この頃の vimと今の vimってずいぶん変わってそうな気がしますがどうなんでしょう? まあ m17nとかは当然でしょうけど。

Googleを支える技術読了。 コードレビューをしているというくだりで、「誰が書いても同じコードに~」といった 記述があってちょっと笑う。

■_ …Python?

Vestigial Syntax | polimath

Vestigial Syntax | polimath
vestigial syntax: programming languages don’t need tails anymore
盲腸構文: プログラミング言語にはもう“しっぽ”はいらない


This weekend I was helping out a friend when he pasted me some of the code from his latest project 
that happens to be written in C#:

この週末、わたしはC#を使っていた友人のプロジェクトを手伝っていました。

(the only change I’ve made was to rename the identifying feature to XYZ)
実際のものとは XYZの部分の名前が異なります

namespace XYZ.Core
{
    static class Entry
    {
        static void Main(string[] args)
        {
            using (Game game = new Game())
            {
                game.Run();
            }
        }
    }
}

Now, other people have addressed the myth of significant whitespace and I won’t got into great 
detail here, but I will say that Python essentially injects INDENT/DEDENT tokens that function in 
the exact same way as { and }. I know that monitors are getting bigger and bigger, but vertical 
space is still a precious commodity and turning the above code into something that looks more 
like

現在、わたし以外の人はmyth of significant whitespace (空白の重要性の神話?)に注目している
でしょうが、わたしはここでそれについてこまごまと述べるつもりはありません。
Ptyhonで {} と同じような機能を果たすように扱われている INDENT/DEDENT について述べたいと
思います。モニターは大きなものになってきていますが、vertical spcae は今でも重要な commodity
であり、上で例示しているコードは次のようにチューニングすることができます。


→ 後半部分

■_ 魔王子シリーズ

週末日記 - val it : α → α = fun

そんななか、こっそりとさいのさんから《魔王子》全5巻を譲り受ける。傑作であることと入手難であること
で有名なシリーズだが、個人的にもすごく思い入れがある。ただ最初に読んだときは高校の図書館でのこと
だったので、既読なんだけどずっと持っていなかった。ようやく手元に持っていられる。よかったよかった。
よかったといえば国書刊行会からはヴァンスコレクション全3巻が出るのだそうでこれも楽しみ。

いいですよねえ、魔王子シリーズ。 わたしは中でも、4巻目(だったと思う)の「闇に待つ顔」が一番のお気に入りです。 最後の最後になってタイトルの意味するところがわかったわたしはとてもにぶちんです(笑)

全巻持っているはずなんだけど、さてどこに埋もれているのやら(^^;

■_ mpfr

バージョンちょこちょこ上がっているようなので、新しいのをビルドするか。 と思ったはいいが、前回どうやったか覚えていない(笑) VC用にパッチとかを作ってくれている人はいるんだけど、 VC9(Visual Stuido 2008)用だったりするのでそのままは使えない(前回は2005用だったんだよな。 んでそれで苦労した)。 それよりなにより

#define MPFR_LOG_MSG2(format, ...)                                       \
 if ((MPFR_LOG_MSG_F&mpfr_log_type)&&(mpfr_log_current<=mpfr_log_level)) \
  fprintf (mpfr_log_file, "%s.%d:"format, __func__, __LINE__, __VA_ARGS__);
#define MPFR_LOG_MSG(x) MPFR_LOG_MSG2 x

#define MPFR_LOG_BEGIN2(format, ...)                                         \
  mpfr_log_current ++;                                                       \
  if ((MPFR_LOG_INPUT_F&mpfr_log_type)&&(mpfr_log_current<=mpfr_log_level))  \
    fprintf (mpfr_log_file, "%s:IN  "format"\n",__func__,__VA_ARGS__);       \
  if ((MPFR_LOG_TIME_F&mpfr_log_type)&&(mpfr_log_current<=mpfr_log_level))   \
    __gmpfr_log_time = mpfr_get_cputime ();
#define MPFR_LOG_BEGIN(x)                                                    \
  int __gmpfr_log_time = 0;                                                  \
  MPFR_LOG_BEGIN2 x

#define MPFR_LOG_END2(format, ...)                                           \
  if ((MPFR_LOG_TIME_F&mpfr_log_type)&&(mpfr_log_current<=mpfr_log_level))   \
    fprintf (mpfr_log_file, "%s:TIM %dms\n", __mpfr_log_fname,               \
             mpfr_get_cputime () - __gmpfr_log_time);                        \
  if ((MPFR_LOG_OUTPUT_F&mpfr_log_type)&&(mpfr_log_current<=mpfr_log_level)) \
    fprintf (mpfr_log_file, "%s:OUT "format"\n",__mpfr_log_fname,__VA_ARGS__);\
  mpfr_log_current --;

このマクロをどうやっつけてくれようw

■_

「インターネットマシン」で分かったウィンドウズモバイルの限界 モバイル-最新ニュース:IT-PLUS

「インターネットマシン」で分かったウィンドウズモバイルの限界 モバイル-最新ニュース:IT-PLUS
W-ZERO3を購入する前は「これでいつでもどこでもPCメールの返事が書けるし、サイトのチェックも
できるかも」と期待していたが、PHSの通信速度の遅さにガッカリしてしまった。イーモバイルのEM・ONE
が登場して、「今度はHSDPAでサクサク使える」と喜んで購入したが、プッシュメールがなくてイマイチ
だった。コンパクトなX02HTも「これで胸ポケットに入れておいて、いつでも使える」とワクワクしたが、
使っているうちに解像度の低さにゲンナリしてしまった。

うは。微妙に経路が違うけど、同じような感想に。

「インターネットマシン」で分かったウィンドウズモバイルの限界 モバイル-最新ニュース:IT-PLUS
この2週間、ソフトバンクモバイルの「インターネットマシン(922SH)」を使っている。キーボードが
搭載されたモデルということもあり、同社春モデルの目玉となる存在だ。最近はテレビCMなどでも頻繁
に露出しており、目にする機会も多い。(石川温のケータイ業界事情)

 とにかくキーボードが搭載されていること、目新しいコンセプトということもあって選んだのだが、
想像以上に快適だ。むしろウィンドウズモバイル端末を使いこなす必要がなくなってきてしまった。

んーーーー、どうなんでしょうねえ。 試しに契約するのはちと怖いな。


一つ前のページへ 2008年4月(中旬)
一つ後のページへ 2008年5月(上旬)

ホームへ


Copyright (C) 2008 KIMURA Koichi (木村浩一)
この文書の無断転載はご遠慮ください(リンクはご自由にどうぞ)。

メールの宛先はこちらkbk AT kt DOT rim DOT or DOT jp