言語関連の書籍売り上げから何か見えるか?

O’Reilly Radarの「State of the Computer Book Market 2008, part 4 — The Languages」というエントリでプログラミング言語別の書籍売り上げが分析されていますね。

一番面白いと思ったのは、以下に引用したマップかな。

占める領域の大きさと色で表現されているわけですが…色は赤いほど縮小傾向、緑なほど成長傾向にあることを表しています。領域の大きさはそのままですね ;)

C#とJavaの領域が大きいですね~これは、日本も同じような傾向かな :?: 意外にも領域が大きいのがPHP(失礼)。

次に色に着目すると、やはり目を惹くのは明るい緑なObjective-Cですね。これは、Appleの勢い以外の何ものでもないでしょう :)

一方落ち込みが激しい赤色はRubyなんですよね。これは少し意外な印象。Railsブームがひと段落したのと、よい書籍がでなかったのが原因と思いたいところです :arrow:

よくわからないのが、C/C++が落ち込んでるのにCが明るい緑なこと。C/C++って、C++と考えればよいのかな :?: でも、Cの復権はなんでだろう。

まだまだ領域は小さいですけど…LuaやF#、Haskell辺りの伸びが要注目なのかな。

まぁ、若干違うだろうけど日本も同じような傾向なんじゃないかなぁ。

入門Luaプログラミング 入門Luaプログラミング
上野 豊

スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践 (GAME DEVELOPER) スクリプトエンジン プログラミング ゲームプログラマになる前に覚えておきたい技術 プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~ ひなた先生が教えるデバッグが256倍速くなるテクニック (Software Design Books) (Software Design Books)
by G-Tools

トラックバック URL :

CでGetPrivateProfile*を使わずにINIファイルを扱う

以前、『Slashcolon /: » C#でGetPrivateProfile*を使わずにINIファイルを扱う』というエントリで超適当なコードを晒したわけですが…今回は、そのC言語版です ;)

要するに客先指定で、C#ではなくC/C++で書くのが命題なので仕方ない。フラットホームは前回同様WindowsCEなので、GetPrivateProfileStringとかのWinAPIはありません。WindowsCEでもMFCを使うのであれば、AfxGetApp()->GetProfileString(…)とか使えるんですけど…今回はMFCもなし。

最初、CodeProject辺りで誰か作ってくれてないか検索してみたのですが…見たものは全て内部でGetPrivateProfileStringを使ってました。要するにWinAPIをラップしてC++のクラスとして公開してるものがほとんど :|

残念ながら、WindowsCEじゃ使えないので前回同様に超適当にでっち上げてみた。

今回のは、空白とかも無視しないしINIファイル形式をガチガチに規定してるので使用は運用でカバーできる場合のみ、さらに問題があっても前回のC#版同様自己責任ってことで。もちろん、コメント、バグ報告、改善要望etc.は歓迎します ;)

#define BUFSIZ 512
 
TCHAR *GetString(TCHAR *Section, TCHAR *Key, TCHAR *Default, TCHAR *IniFile)
{
    TCHAR    buffer[BUFSIZ];
    TCHAR    token1[BUFSIZ], token2[BUFSIZ];
    TCHAR    section[BUFSIZ];
    TCHAR    *p;
    BOOL      sectionFound = FALSE;
    FILE        *fp;
 
    if ((fp = _tfopen(IniFile, _T("r"))) == NULL) {
        return(_tcsdup(Default));
    }
 
    _sntprintf(section, sizeof(section), _T("[%s]"), Section);
 
    while (_fgetts(buffer, BUFSIZ, fp) != NULL) {
        if ((p = _tcschr(buffer, L'=')) != NULL) {
            *p = L' ';
        }
        _tcscpy(token1, _T(""));
        _tcscpy(token2, _T(""));
        _stscanf(buffer, _T("%s %s"), token1, token2);
        if (_tcscmp(token1, section) == 0) {
            sectionFound = TRUE;    // 指定セクション発見
        } else {
            if (*token1 == L'[') {
                sectionFound = FALSE;    // 別セクション発見
            }
        }
        if (sectionFound == TRUE) {
            if (_tcscmp(token1, Key) == 0) {
                // 指定セクションの指定キーを発見
                fclose(fp);
                return(_tcsdup(token2));
            }
        }
    }
    fclose(fp);
    return(_tcsdup(Default));
}
 
int GetInt(TCHAR *Section, TCHAR *Key, int Default, TCHAR *IniFile)
{
    TCHAR    *p;
    TCHAR    *endp;
    long    l;
 
    p = GetString(Section, Key, _T(""), IniFile);    // 文字列として取得
    if (p != NULL && _tcscmp(p, _T("")) != 0) {
        // 指定のセクションとキーが見つかった
        l = _tcstol(p, &endp, 0);
        if (*endp == L'\0') {
            free(p);
            return((int)l);    // long値をintへ
        }
    }
    free(p);
    return(Default);
}

GetString関数の戻り値領域は_tcsdupで確保されるので、厳密に言えばfreeで解放が必要です。でも、たいていの場合は初期時に読み込んで終了まで保持しておくことが多いと思うので神経質になるほどでもないかと思いますが…。

━超適当な作りだなぁ~ :oops:

もっと、効率的でスマートな方法があると思うので教えていただければうれしいです。

トラックバック URL :

N700系初体験

昨日は日帰りで東京へ。どうせなら、N700系に乗りたいと言うことで余裕のある1本前ではなく、ギリギリの列車で :)

個人的には、あまり700系と変わらないってのが正直な感想。細かな点が色々と改善されてる気はするんですけど。

によると無線LANが今年の春から使えるようになるらしいんですけど…そろそろですかね :?: そうなると、断然N700系だな。

乗り物で寝るのが得意じゃないので…読むものがなかったり、かと言ってパソコンの画面も見たくない時に行き先案内板でニュースが流れるのを結構ボケッと眺めてることが多いんですけど…N700系の案内板はわたしには輝度が高すぎて眩しかったです :|

帰りの時間は明確に決まってなかったわけですが…結局帰りもN700系でした。

そういえば、山陽九州直通新幹線は「さくら」になったようですね。

どうせなら、ボディの色とかもさくら色にしてくれれば面白かったのになぁ ;)

トラックバック URL :

ThinkPad W700ds 発売記念モニタープログラム

各所で話題になってるデュアル・スクリーン搭載のThinkPad W700dsですが…発売を記念してモニタプログラムを実施してるようですね。Lenovoからのメールマガジンで知りましたが誰でも参加できるみたいです ;)

モニタに参加して、ちゃんとレポートを提出すれば以下のような価格でW700dsが手に入るようです。

ダイレクト価格: 897,225円 (税込)
モニター価格: 399,840円 (税込)
送料: 1円 (税込)

もとの価格が高いので、約50万も安く手に入れることができますが…モニタ価格でも高いですね :|

ThinkPad自体は大好きなんですが…わたしは、Xシリーズで良いです :)

トラックバック URL :

週刊少年ジャンプ 13号

まず、NARUTO…やはり、今週はペインの語りでしたね :)

忍界大戦の話とかをする際に説教臭くなるんですよねNARUTOって。しかも、その説教が薄っぺらいので…個人的にはあまり好きではないパターンでした。

いのいちが思いついたことは…凡庸なことでしたね。と言うかホンモノハイナイ+雨隠れに塔がある時から、大体わかっていたことですよね。

新連載のべるぜバブは読んで思い出しました~嫌いな設定ではないのでガンバッテ欲しいかも。なぜかマモーがツボに入っちゃって通勤バスの中でニヤニヤしちゃいましたよぉ :arrow:

ネウロがいよいよ佳境を迎えつつありますが…やはり、この戦いが終わると連載も終了なんですかね :?: 少し気になってます。

魔人探偵 脳噛ネウロ 1 [DVD] 魔人探偵 脳噛ネウロ 1 [DVD]
子安武人

魔人探偵 脳噛ネウロ 2 [DVD] 魔人探偵 脳噛ネウロ 3 [DVD] 魔人探偵 脳噛ネウロ 4 [DVD] 魔人探偵 脳噛ネウロ 5 [DVD] 魔人探偵 脳噛ネウロ 6 [DVD]
by G-Tools

トラックバック URL :

下請け奴隷根性に反吐がでそう

以下の記事を見て激しく気分を害した。まぁ、元々違うことで虫の居所が悪いのもあるかも知れないけど…。

以下一部引用。

1月に社内規定を変更し、自家用車で会社に通う従業員に支給していた通勤手当を「トヨタ系列」と「トヨタ系列以外」の二つに分割。トヨタ自動車、ダイハツ工業、日野自動車の3社の車に乗る従業員にはこれまでの金額を支払う一方、それ以外のメーカーの車に乗る従業員は半額とした。

:?: 何なのコノ下請け奴隷根性丸出しの社内規定は :shock:

で、トヨタ本体の反応は…。

トヨタ自動車広報部は「コメントする立場にありません」としている。

と、これまた当たり前の反応。

部品工場や下請けの辛さがわからないわけじゃない。ほんとに死活問題のところも多いだろうし…藁にもしがみつきたいのかも知れない。

でも、この制度を導入して何かこの会社が得るものはあるんだろうか :?:

担当者は「トヨタがあってうちの社が成り立っていることを従業員一人ひとりに意識してほしかった。自社製品があれば『うちの製品を買って』と言えるのだが……」と話す。

もうダメ押し。そりゃ今から業態を急に変更するのも無理だろうし、実態はこの担当者が語ってる通りなんだろう。で、でも、プライドはないのかい。

どの程度の従業員を抱えてる会社か知らないけど、もし全員がトヨタ車に乗り換えたら仕事が増えるのかな :?: それとも大トヨタへのアピールのつもりなのかな :?:

もし、わたしがトヨタ側の立場ならこんな下請けは優先して斬ります :roll: でも、お偉い人はイエスマンや露骨にすがってくるモノのが好きなので…この会社の業績も少しは伸びるかも知れませんね :mrgreen:

ほんと最近、経団連とかを牛耳っている経営者って、紳士面したゲスな野郎が多いように思えるのは気のせいですか :?: 立場を利用して脅しをかけたり、胡散臭い人物とつながってたりね :arrow:

4344410289 銭ゲバ 上 (1) (幻冬舎文庫 し 20-4)
ジョージ秋山
幻冬舎 2007-10

by G-Tools

B001P3POVQ 銭ゲバ (松山ケンイチ 出演) [DVD]

by G-Tools

トラックバック URL :

Ktai Style 1.70リリース

Yuriko.Net » 携帯対応プラグイン Ktai Style バージョン 1.48, 1.70 リリースと言うことで、正式リリース版が登場したので早速本サイトも対応させていただきました。感謝 ;)

WordPressのバージョンによって、サポート対象が以下のようになるようです。

今回のバージョンから、WordPress のバージョンごとにサポート対象の Ktai Style のバージョンが分かれます。バージョン 1.70 は WordPress 2.5 以降が対象で、旧安定版の 1.48 は WordPress 2.0〜2.3.3 が対象となります。

1.4系はセキュリティ修正のみと考えた方が良いでしょう。色々なシガラミでWPのバージョンを上げれないケースでなければ、Ktai Style 1.7系への移行を理由にWPのバージョンを上げることを検討しても良いんじゃないでしょうか :)

なお、今回は1.48、1.70共にセキュリティ修正が含まれてますのでバージョンアップは必須ですね。

細かな変更点は作者のYurikoさんのページを参照してください。結構な量ですね :roll:

各社携帯キャリア対応 USB充電ケーブル GH-USB-3MK 各社携帯キャリア対応 USB充電ケーブル GH-USB-3MK

バッファローコクヨサプライ Arvel USB 2口出力 ACアダプタ ワールドワイド仕様 AGP5V2 ELECOM フェライト内蔵USBケーブル USB(A)オス-USB(miniB)オス 0.3m USB-FSM503 レノボ・ジャパン ThinkPad 65W ウルトラポータブルACアダプター 40Y7699 SANYO eneloop 充電器 単4形2個セット (単3形・単4形兼用) N-MDR0204S PLANEX Bluetooth Ver2.1+EDR対応 Microサイズ USBアダプタ (Class2/10m) BT-MicroEDR2X
by G-Tools

まったくKtai Styleと無関係ですが…携帯電話の充電インタフェースがMicro USBに統一されるようですね。

これは素直にウレシイです。

トラックバック URL :