C/C++の最近のブログ記事

 楽天の英語を公用語にしたというニュースの後、プログラマの間では「C言語でOK」なんて言ってたのは私含めて沢山いそうですがまさか会社トップから発言があるとは予想外でした。個人的には嬉しかったりします。もしかして和田社長って技術畑の人なのかな?

ねとらぼ:「社内公用語を英語にするくらいならC言語にしてやる!!」――スク・エニ和田社長 - ITmedia News
http://www.itmedia.co.jp/news/articles/1007/07/news065.html

プログラミング言語は国境の壁が無いという意味で世界共通語だし、文法はコンピュータがチェックするし、基本論理的なので意思疎通もしやすい。但し複雑な表現やトリッキーな書き方とするとダメ出し食らったり脱落者が出たりするので注意も必要w
 PHPもC++も使うプログラマーにとっては凄い興味が沸きます。確かにPHPはスクリプト言語という宿命がある限り、キャッシュしようが限界がありますよね。だからといってC++で再コーディングするにも時間的なコストを考えると手段から外される事も多い。

FacebookがPHPをC++に変換し高速化する「HipHop for PHP」を公開したようです | ke-tai.org
http://ke-tai.org/blog/2010/02/05/hiphopphp/

PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog

 PHPがウェブアプリ作る言語としてオリジナルで便利な関数が揃っている為プログラマーを教育しやすい初心者にも敷居が低いのは良く分かりますが、元々HTMLにSSIの代わりに埋め込んで使うような言語でJavaScriptとの違いはサーバーで動作させるか、クライアントで動作させるかといったものなのに、Smartyのようなテンプレートエンジンやその他多機能なフレームワークなど、折角Apacheモジュールとして高速動作させているのにパフォーマンスに対して本末転倒なライブラリを実装する開発のほうが標準的になっている事がとても嘆かわしいですね。

 そういったPHPを遅くするライブラリどもを全てエクステンションに追い出せるならサーバーコスト(特にCPU周り)の節約に貢献できそうです。あとバッチ処理とか単体で変換できるとバッチ付き抜け防止に役立ちそうですね。(そもそもPHPでバッチ組むなというのもありますがシェルプログラミングスキルがあまり無いのでほんのちょっとでも複雑になると他のスクリプト言語に逃げてしまいます。。。Perl使ってもOKならPHP選ぶ前に使ってます。)

 RubyはPerlの文字化けに苦しんでいた10年前は興味ありましたが未だに手を出してないなぁ。。。Pythonはあまり興味なし。(多分仕事で使うことがなさそうだから)。Javaはどうなんでしょう?アプレットは遊びで作ってましたが、サーブレットはコンパイル済みプログラムをシステムに反映するのにApache、tomcatを再起動なんて仕様がデバッグコストを上げる原因にもなるし、無停止サービスを目指すシステムから見れば「ナンセンス」なのでまずサービス稼動したままリロードできるようにしないと大変ですよね。


 なんとケータイでは珍しい!(日本だから珍しいのかな) Androidでネイティブコードアプリが開発できるとのニュースが!モバイル端末でC言語組むのはPocketPCとザウルス以来かな、ちょっとAndroid欲しくなった。

AndroidアプリでC/C++のライブラリを流用可能に,Googleが開発キット投入:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20090629/332778/

ke-tai.org > Blog Archive > グーグルがAndroid用ネイティブコード開発キットをリリース、C/C++言語が利用可能に
 時事ネタは今まで数件以内に絞ってエントリーしていましたが、まとめて記録するようにしました。記録したいニュースネタが最近は多岐に渡っています。。。

  • 石田晴久氏が死去(CodeZine, INTERNET Watch)
    カーニハン&リッチーの『プログラミング言語C』の日本語版を翻訳された事でも大変有名な方でしたが3月9日に心筋梗塞で都内の病院でお亡くなりになりました。72歳でした。
    C言語を学ぶさいに「C言語のバイブル」として薦められ縁のある方も多いのではないでしょうか。
    ご冥福をお祈り申し上げます。

  • 道頓堀のカーネルサンダース、24年ぶりに発見(朝日新聞)
    これはwww。まだ見つかって無かった事を知らなかった。24年間も道頓堀に沈められていては、祟りとか呪いとか噂されても仕方ないというか罰当たり物だよな。。。

DXライブラリ

| コメント(0) | トラックバック(0) このエントリーを含むはてなブックマーク
 DXLibって聞いたことがあるようなないような?DirectXを簡単に利用して2Dゲームを作るためのライブラリだそうです。確かにDirextXは初めてプログラミングするには面倒なコーディングが多いからそういった部分を省略して作りたい部分を先に組めるというのはとても良いですね。いきなりDirextXだとDirextXライブラリだけでなくWin32APIの形式になれないといけないから理解できてないまま書くコードが多くて幻滅するかもしれないですからね。慣れればテンプレみたくなるのですが。

DXライブラリ置き場 HOME
http://homepage2.nifty.com/natupaji/DxLib/

C/C++関連

| コメント(0) | トラックバック(0) このエントリーを含むはてなブックマーク
 少しだけですがC/C++関連のニュースがあるとうれしいですね。

C CodでCコードをスクリプトのように扱う - SourceForge.JP Magazine
http://sourceforge.jp/magazine/08/11/21/0128218

 C CodはC言語のコードをインタプリタっぽくCGIとして実行できる環境のようです。Linuxパッケージ版はまだのようですがソース版があるのでC言語でCGIを簡単にしてみたいなら試してみるのもいいかもです。

C/C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記
http://d.hatena.ne.jp/amachang/20081118/1227005285

元々AIRってActionScriptだったかな?これをC/C++のソースからコンパイルしたものをFlashやAIRで動作させるAlchemyというものが紹介されていました。私的にはActionScriptで良い気もしますがC言語一本化が目的ならありかなと思います。


 昨日みつけたネタ動画。等速でこんなスピードで安定してタイピングできたら人間じゃないと思ったら、そこはマクロっぽいので安心しましたが、今時ウェブページをC++で書く人も珍しいw。そして作り上げるのがアスキーアートとかJavaScriptアニメなんて変態すぎるwww。「もっと評価されるべき」。ずっと見ているとプログラマならみなぎってくるものがある!あんな感じでガリガリ書ける様になってみたい。

LLVM情報

| コメント(0) | トラックバック(0) このエントリーを含むはてなブックマーク
 BSDライセンスのコンパイラについて情報がありました。今後FreeBSDでgcc以外のコンパイラが実装されるとしたら何になるのか楽しみです。

【レポート】GCCに匹敵するコンパイラ?! LLVM - BSDCan2008 | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/articles/2008/06/03/bsdcan6/
プログラミング言語C++は1998年に発行され2003年に改訂された国際標準ISO/IEC 14882を仕様として採用している。ISO/IEC 14882はC++の言語仕様と標準ライブラリの双方を規程しており、1998年に規程されたものは通称C++98、2003年に改訂されたものは通称 C++03と呼ばれている。現在、JTC1/SC22/WG21 - The C++ Standards Committeeにおいて次期C++仕様"C++0x"の策定が進められている。
私が初めてC++に出会ったのも12年前ですね。VC++4.0買ったときだったと思います。あれから時々C++の案件に関わることはあってもメインで使っている言語ではないんですね。残念ながら。C++はゲーム開発のための手段として今後仕事でも使うチャンスが来るかもしれませんが、今度のC++0xはどのような仕様になるのでしょう。その前にC++0xって何て読むんだろう?

C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/news/2008/11/12/003/index.html
 これは凄い!まだ講座の方は見ていないのですが、実際に作られた作品を見る限りかなり期待できると思います!Windowsでゲーム制作したい人は必見。

C言語~ゲームプログラミングの館~
http://dixq.net/g/



しかし今ではVC++も無料版があるのでこの10年間で経済的には随分と敷居が低くなったと思います。今時はMFC使えなくても.net使えば良いしね。

 久々のC言語ネタです。GoogleよりBSDLでテストフレームワークが公開されました。

Google Test、Google C++テストフレームワーク登場  エンタープライズ  マイコミジャーナル
http://journal.mycom.co.jp/news/2008/07/07/030/

、今はC言語での開発をやってないのでテストツールをまともに使う機会を見つけるのが大変ですが、なんとか時間見つけて試用して見たいと思います。正常にビルドできるのはLinuxと言うことですがBSDでも大丈夫ですよね?

 これは凄い。負荷問題や通信内容の節約ノウハウなんて複数端末による接続テストを繰り返さないとなかなか分かって来ない部分もありますからね。これからオンラインゲームを作ってみようという方はぜひ参考にしてください。

ロブロブラボ - ROBROB LAB MMOの作り方
http://rob2.jp/mmodev/

 C言語のトラブルと言えばメモリ管理周りにプログラマーにとって想定外の操作が発生した場合に暴走したりSegmentation fault で強制終了したり、最悪なケースではそれが脆弱性となりクラックされることですが産総研よりFail-SafeなC言語コンパイラが公開されたとの事。このコンパイラを用いて既存のサービスをコンパイルすることで実行時メモリへの不正アクセスを防止できるらしい凄い夢のような技術です。因みに記事を見る限りではC++は対応していないっぽいですが、メモリ管理で手間の多いC言語だけでも十分有効だと思います。

産総研 RCIS Fail-Safe C 安全なC言語コンパイラ
https://www.rcis.aist.go.jp/project/FailSafeC-ja.html

Open Tech Press  産総研、メモリ安全性を確保したC言語コンパイラを開発
http://opentechpress.jp/developer/08/04/14/2235212.shtml

pthread関連

| コメント(0) | トラックバック(0) このエントリーを含むはてなブックマーク

 UNIXのネットワークプログラミングやオンラインゲーム開発等ではSocketとセットで使うスレッドですが、スレッドだけを取り上げたコーディング特集は初めて見ました。多分(いろんな意味で)ハマると思います。

pthreadについて(シグナル・バリア等):CodeZine
http://codezine.jp/a/article/aid/1973.aspx

 対応OS以外の違いがあまりわからないままなのですが(^^;
もう2008が来たんですねー。Express Editionはダウンロード開始していましたし、パッケージも来月には登場するようです。

 そこで長いこと使っていないVSなのですが、Windowsも64bit版やVISTAの存在が無視できないわけでそれを考慮すると出来る限り.NET Frameworkを利用した開発に切り替えたほうが良いと思いました。64bitバージョンや対応OS別にコンパイルしたパッケージ用意したり、ランタイムパッケージ配布するのが大変かな、それに動作検証負担も増えるし。そういうことで今後はMFCは使われなくなりそうな予感。元々Express EditionにはMFCついてないしね。簡単なツール類は.NETに移植して64bitとVISTA暫定対応にしようと思う。プラットホームに互換性が無いものが並行しているときはやっぱり中間言語やスクリプトで動作するプログラムの方が開発コスト下がりますね。しかしC++でも.NETはGCあるから旧式なmallocゴリゴリは危険すぎかもwww

 あとゲーム開発に関しては.NET FrameworkがWinAPIにどこまで近づけるかってところかな。さすがゲームメーカーは次々VISTA対応しているから根性なのか、リコンパイルでいけるのかよくわからないw

Visual Studio ホームページ
http://www.microsoft.com/japan/msdn/vstudio/

開発ツール対応 OS 一覧
http://www.microsoft.com/japan/msdn/vstudio/support/tools.aspx

 定期的に更新されているARToolKitのデモですが、とうとうライブっぽいのまで出来ているようです。ARToolKitで投影するモデル自体を動かすのって激しく面倒そうですね。動作まで3Dツールで全て定義してその結果だけARに渡すことができれば楽できそうだけど。。。

ARにはマーカー不要のものもあるみたいです。ただマウス操作などで出現エリアの指定が必要のようですが。

『攻殻機動隊』『電脳メガネ』どころではない拡張現実感技術の現在 王様の箱庭
http://www.masayashi.com/2008/01/20/556

PCC復活?

| コメント(0) | トラックバック(0) このエントリーを含むはてなブックマーク

 これもBSD陣営の脱GPLの一環なのかな。動作速度が速いを書かれていますが、コンパイル自体が速いようですね。PCCでコンパイルしたプログラムが速いかどうかは書かれていない。

【レポート】なぜいまPCC - 高速さとクオリティの高いコード出力が魅力 エンタープライズ マイコミジャーナル
http://journal.mycom.co.jp/articles/2007/10/16/pcc/

一度gccとtendraとpccでコンパイル比較、生成バイナリ比較、パフォーマンス比較を行うと面白いかも。ただテストコードが思い浮かばない…。

 最近ですがTenDRAというBSDライセンスのC言語コンパイラを知りました、今となっては何でもコンパイラになっているgccや有償のIntelコンパイラの代わりに使うことが出来るかもしれません。まだ試していないので品質的なことはこれからですが、出来具合によっては将来FreeBSDで標準採用されるかもしれませんね。

http://www.tendra.org/about/

書籍の追加

| コメント(0) このエントリーを含むはてなブックマーク

 今週はゲーム開発関連書籍を三冊追加。プログラミングは相変わらず時間が取れなくて全く組めていない。時間と余剰金の合計の絶対量が少ないと苦労するなぁ…。個人プロジェクトはゲーム開発がメインなので新規で仕事の依頼が来てもお断り中(^^;

 メールマガジン御購読ありがとうございました。そしてお疲れさまでした。今年のGWシリーズのサンプルソースを配布します。

コンフィグファイルの読み込み(C++とSTL利用)
ソース一式(ZIP形式)

これにコンフィグ新規作成・書き込み用クラスなんて作るととりあえずまともかな。カレントディレクトリの認識は特にやってないのでそこが甘いかもしれません。実際に使用するときはその辺の応用も考慮して修正してくださいです。

アーカイブ