スレッド: [cppll:12829] オブジェクト指向の起源

スレッド

[cppll:12829] オブジェクト指向の起源

[ | ▲ / | ]
Subject:
[cppll:12829] オブジェクト指向の起源
From:
Wraith the Trickster <wraith@...>
Date:
Tue, 23 Jan 2007 01:44:35 +0900
X-Mailer:
Microsoft Office Outlook, Build 11.0.5510
Message-Id:
<200701221644.l0MGib50016835‐at‐trick-palace.net>
道化師です。

# επιστημηさん、ゴミメールを投げてしまったようなんで承認
# せずに削除しちゃってください。

Tietewさんに続いて、hatenaから。

【■[OOP] オブジェクト指向の概念の発明者は誰ですか?】
http://d.hatena.ne.jp/sumim/20040525/p1

# ちょっと関係ないけど、Java や C# が "現代COBOL" なら
# C++ は "現代アセンブリ言語" だと思う今日このごろ。

□■□■                  Wraith the Trickster                  □■□■
■□■□ 〜I'll go with heaven's advantage and fool's wisdom.〜 ■□■□
[cppll ML] http://www.trickpalace.net/cppll/
[cppll BBS] http://jbbs.livedoor.com/computer/5651/cppll.html

[cppll:12830] Re: オブジェクト指向の起源

[ | / | ]
Subject:
[cppll:12830] Re: オブジェクト指向の起源
From:
MITSUNARI Shigeo <herumi@...>
Date:
Tue, 23 Jan 2007 08:30:35 +0900
Message-Id:
<20070123083035.031.herumi‐at‐nifty.com>
In-Reply-To:
12829
References:
12829
光成@本筋じゃないところにコメント です.

道化師さん

># ちょっと関係ないけど、Java や C# が "現代COBOL" なら
># C++ は "現代アセンブリ言語" だと思う今日このごろ。

最近,"現代アセンブリ言語"ぽい(?)ことやってます.
拙作のJITアセンブラ.
http://homepage1.nifty.com/herumi/soft/xbyak.html

#思いっきりx86限定ですが.

[cppll:12831] Re: オブジェクト指向の起源

[ | / | ]
Subject:
[cppll:12831] Re: オブジェクト指向の起源
From:
Wraith the Trickster <wraith@...>
Date:
Wed, 24 Jan 2007 02:02:03 +0900
X-Mailer:
Microsoft Office Outlook, Build 11.0.5510
Message-Id:
<200701231702.l0NH260e005677‐at‐trick-palace.net>
In-Reply-To:
12830
道化師です。

[cppll:12830] Re: オブジェクト指向の起源】
>拙作のJITアセンブラ.
>http://homepage1.nifty.com/herumi/soft/xbyak.html

あ、こーゆーのいいですねw

フツーはこーゆーの類のモノに頼っちゃいけない or 頼るぐらいなら
どこかで妥協するべきですが、いざって時にこーゆー選択肢があるの
とないのじゃ全然違うでしょうし。

そういえば、以前、森野さんとこにお邪魔した時に&oさんからGPU用の
プログラムをリアルタイムで書くプログラムを書いてるだとかどーだと
かって話を聞いた気がする。そっち(ゲーム業界)方面では結構需要の
高い技術かもしれませんね、コレ。

□■□■                  Wraith the Trickster                  □■□■
■□■□ 〜I'll go with heaven's advantage and fool's wisdom.〜 ■□■□
[cppll ML] http://www.trickpalace.net/cppll/
[cppll BBS] http://jbbs.livedoor.com/computer/5651/cppll.html

[cppll:12843] Re: オブジェクト指向の起源

[ | / | ]
Subject:
[cppll:12843] Re: オブジェクト指向の起源
From:
Shin'ya MORINO <smorino@...>
Date:
Tue, 13 Mar 2007 00:02:11 +0900
Message-Id:
<45F56B73.90605‐at‐d1.dion.ne.jp>
In-Reply-To:
12831
References:
12831
森野@あ、名前が引用されて... です。

Wraith the Trickster wrote:
>  道化師です。
おひさです。おひさです。ほんとーに。

> [cppll:12830] Re: オブジェクト指向の起源】
>> 拙作のJITアセンブラ.
>> http://homepage1.nifty.com/herumi/soft/xbyak.html
>
> あ、こーゆーのいいですねw
ものごっつ同意。

> そういえば、以前、森野さんとこにお邪魔した時に&oさんからGPU用の
> プログラムをリアルタイムで書くプログラムを書いてるだとかどーだと
> かって話を聞いた気がする。そっち(ゲーム業界)方面では結構需要の
> 高い技術かもしれませんね、コレ。
# &oさんも元気してるかいーっ。はぅー。

近頃のJavaのスピードを見てると、CインタプリタやC++インタプリタの方が、
バイナリよか速くなっちゃうんじゃないかと思います。
# 一度勉強して作ってみたくて作ってみたくて...
# けど、壮大すぎて手がでなひ。(^^;;

だけど、こういうピンポイントな実行時の最適化でも、用途によっては効果で
るんすね。(^^

[cppll:12844] Re: オブジェクト指向の起源

[ | / ▼ | ]
Subject:
[cppll:12844] Re: オブジェクト指向の起源
From:
ANDO Takahiro ( Pyramid,inc ) <t-ando@...>
Date:
Mon, 19 Mar 2007 17:29:56 +0900
X-Mailer:
Becky! ver. 2.28.01 [ja]
Message-Id:
<20070319170508.2FAE.T-ANDO‐at‐pyramid-inc.net>
In-Reply-To:
12831
References:
12830 12831
超亀レス失礼します。
&o@最近はC#っ子です。

> そういえば、以前、森野さんとこにお邪魔した時に&oさんからGPU用の
> プログラムをリアルタイムで書くプログラム

これは

http://libsh.org/

という、テンプレート&マクロを駆使して、GPUコードをC++内に書いてしまうと
いう激しいプロジェクトの話です。(ご興味のある方はメールの末尾に書いたお
まけを見てください)

> そっち(ゲーム業界)方面では結構需要の
> 高い技術かもしれませんね、コレ。

話題の出たGPUではなく、CPUの方がむしろ需要あるかもしれません。最近PCゲー
ムを作っているので、完全に外野にいることから、気楽に書けるのですが、

http://www.watch.impress.co.jp/game/docs/20070316/pe.htm

この記事のように、ゲーム屋は相変わらずの苦しいアセンブリ&最適化の日々を
過ごしております。また、ゲーム業界では、

「このゲームエンジンは1000体しか同時に表示できません」
「なるほど、わかったよ。ところで、4面のボスの時だけ10000体出るよう
にして欲しいんだけど」

なんてのは、よく聞きます。10000体が同じ敵キャラで良いと仮定できれば……
とか、夢が広がりそうです。後はこれが「Power PC」に対応すれば……。

#個人的には嫌いなのですが、こういう話が好きな人がたくさんいるんです

---- 8X ---- 8X ---- 8X ---- 8X ----

[おまけ]
Sh サンプルコード:拡散反射光計算

void DiffuseShader::init()
{
 vsh = SH_BEGIN_VERTEX_PROGRAM { // ここからが頂点を処理するシェーダー
   ShInputNormal3f normal;
   ShInputPosition4f p;

   ShOutputPoint4f ov;
   ShOutputNormal3f on;
   ShOutputVector3f lvv;
   ShOutputPosition4f opd;
  
   opd = Globals::mvp | p;
   on = normalize(Globals::mv | normal);
   ov = -normalize(Globals::mv | p);
   lvv = normalize(Globals::lightPos - (Globals::mv | p)(0,1,2));
  
 } SH_END_PROGRAM; // ここまでが頂点を処理するシェーダー

 fsh = SH_BEGIN_FRAGMENT_PROGRAM { // ここからがピクセルを処理するシェーダー
   ShInputVector4f v;
   ShInputNormal3f n;
   ShInputVector3f lvv;
   ShInputPosition4f p;
  
   ShOutputColor3f out;
   out(0,1,2) = Globals::color * dot(normalize(n), normalize(lvv));

 } SH_END_PROGRAM; // ここまでがピクセルを処理するシェーダー

}


--
ANDO Takahiro ( Pyramid,inc ) <t-ando@...>

Navigation

検索

[検索ヘルプ]

Maintener: Tietew <www.tietew.jp>
Powered by Ruby on Rails, Mongrel, PostgreSQL, and Hyper Estraier.
click here