C++を滅ぼそう
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGどのようにしたらC++を滅ぼせるでしょうか。
という事を話しあうスレです。ト-゙ゾ
0002デフォルトの名無しさん
NGNG少なくともWindows上では。
0003参考までに
NGNG0004デフォルトの名無しさん
NGNGカーボンってのもあるとオモワレよ。
0005デフォルトの名無しさん
NGNGありません。そんなことをするデベロッパーは CPPと同じ運命を辿るで
しょう。
toolboxがダメダメなのは有名だけど、ホントに使い勝手が全然違うんだって。
UNIXではまだまだ CPPが使われていくのかな? KDEとか。
0006デフォルトの名無しさん
NGNGあらそう。
じゃ、クラシックってのは何よ?
カーボンはアドビがアプリ移植に手間かかるのいやだから
作らせてたってのはホント?
JEDITの作者はカーボンに文句いってるんだっけか?
0007デフォルトの名無しさん
NGNGCarbon, Cocoa, Classicは開発フレームワークであると同時に各々
別の実行環境と考えても(正確ではないけど)間違ってないと思う。
Carbonは現行 Mac標準の APIである Toolboxを OS X用に焼き直した
物で、OS Xネイティブで動く。
主な用途は現行アプリのアップデートなど、従来の Macベンダーが
過去の資産を活かすために使う。
Cocoaは OS X標準のアプリケーションフレームワーク。Java2と Objective-C
に独自の APIを追加した物。OS X技術の恩恵を完全に享受できる。
アプリの新規開発するなら、このフレームワークを使うのが妥当。
従来の Macベンダーにとっては全く新しい物。
Classicはユーザが今までのソフトウェア資産を無駄にしなくていい
ように用意されたもの。エミュレータのような実行環境で、いわゆる
Toolbox APIで作られたソフトが動く。
OS Xネイティブでは動かないのでこのフレームワーク向けに新しい
アプリケーションがリリースされることは考えにくい。
Toolboxは肥大化し過ぎて評判はよいものではありません。
あとは良く知りません。
ただ MacOS Xで CPP使いたいっていう人は少数なんじゃないかな。
Cocoaから呼び出すには手続きが必要だし、Java, Objective-Cが使い
にくいわけじゃないし。
手許の半端な知識で書いたので、詳しくは Appleのサイトにある情報
を見て下さい。
0008デフォルトの名無しさん
NGNG#defineとか処理するアレか?
0009デフォルトの名無しさん
NGNGきっと、C++言語のことでしょ。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGマクーOSXは正当なNEXTの後継者ってわけだ。
マクーではC++は滅びるって事か。
それではWinでも滅びてもらうことにしよう。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG完全に消滅することはありえないが、主流ではなくなると。
ただ、アセンブラー、Cの知識は、ハードウェアに密着して、
どうしても必要になることがあるが、、C++は中途半端。
Cobol/Fortran みたいに、一度は一世を風靡したが、現在では
知らなくてすめばそれでもよしという時代が来るはず。
0014デフォルトの名無しさん
NGNGSTLが登場してしまった以上。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG今となっては特別に革新的なわけでもなし。
ふつーPureJavaに行くよなあ。
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG複雑怪奇でプログラムが実行する所まで
たどり着かないC++は必要ないです。
0020デフォルトの名無しさん
NGNGネイティブコードより.NETの方が高速動作するようになったら...
それは無理でも
Windows自体のカーネルが変更されて
既存のWinカーネルが死亡して
非常に安定したWindowsが登場し、
それは.NETアプリしか動作しないなんて事になった日には
ようやくC++はC#に置き換わるようになるのだろう。
0021デフォルトの名無しさん
NGNG.NET勘違いしてない?
0022デフォルトの名無しさん
NGNGしてないよ
0023デフォルトの名無しさん
NGNGなにせC++だから。
0024デフォルトの名無しさん
NGNGそうなったら、カーネルとかデバドラとかのAPIよりも下のレイヤ
と関係ないアプリケーションプログラマは、C/C++を知らなくてもOK
になりますか?
0025デフォルトの名無しさん
NGNGを勉強中で、Javaは試してないのですが。
その1.Pure Java
Pure Javaを意図して作られたコードは JavaVM上で動きます。これは他の OSと
全く同じです。原理上は他の OS上でも動く物が作れます。
その2.Java→ Objective-C変換
Cocoaフレームワーク向けを意図して作られた Javaコードはコンパイル時に
Objective-Cコードに変換されるそうです。
この場合はネイティブコードとして動き、他の OSでは動かないと思います。
利点としては OS Xの APIがフルに呼び出せる、Interface Builderという GUI
構築ツールで効率的にアプリケーションが作れることがあげられます。
それと OS Xの Objective-Cは、純粋な Objective-Cに NeXT, Appleがクラス
ライブラリを大幅に追加した物です。他のプラットホームでも Objective-C
が流行るということは考えにくいです。
>>18
OO言語の癖に Cとの互換性にこだわってぐちゃぐちゃになった CPPはよっぽど
中途半端です。って言ったら言語の一側面しか見てないことになりますよね。
おおまかには >>13に賛成。
CPPが滅びるとは思わないし、これからもどんどん使われていくと思いますが、
CPPを使う必然性は薄れていくと思います。
0026デフォルトの名無しさん
NGNG誤爆か?
002725
NGNGしつれいしました。
0028デフォルトの名無しさん
NGNGなんとなく。
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG0031(・ε・)プップクプー
NGNGCプププッ
でお願いしまs。 (・ε・)プップクプー
0032(・ε・)プップクプー
NGNG現状、汎用機でもLinux&JAVAの組み合わせで
プログラム組めるし。
いらないねC++
(・ε・)プップクプー
0033デフォルトの名無しさん
NGNG恥ずかしーな
(・ε・)プップクプー
0034(・ε・)プップクプー
NGNG(・ε・)プップクプー
0035デフォルトの名無しさん
NGNG0036名無しさんi486
NGNG0037デフォルトの名無しさん
NGNGえらくまっとうな意見だな
0038デフォルトの名無しさん
NGNG(・ε・)プップクプー
いいな、これ。
0039デフォルトの名無しさん
NGNG画面がカクッってなる。
0040デフォルトの名無しさん
NGNGオプション有るよ。インクリメンタルGCには使い道あるかもね。
0041デフォルトの名無しさん
NGNG0042(・ε・)プップクプー
NGNG(・ε・)プップクプー
0043(・ε・)プップクプー
NGNGVB&VC++にしたという話が日経ソフトの今月号に
(・ε・)プップクプー
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGいくよくるよ?(w
0046デフォルトの名無しさん
NGNGhttp://www.big.or.jp/~crane/cocoa/index.shtml
(・ε・)プップクプー ?
0047デフォルトの名無しさん
NGNGだれも突っ込まないのが不思議
0048デフォルトの名無しさん
NGNG0049(・ε・)プップクプー
NGNGCププププが無くなったらいいと思わない?
滅ぼそう。Cププププ
(・ε・)プップクプー
0051デフォルトの名無しさん
NGNGCenter for Plutonium Production プルトニウム生産センター
Communist Party of the Philippines フィリピン共産党
Cambodian People's Party カンボジア人民党
0052デフォルトの名無しさん
NGNGcpp/hpp
cxx/hxx
それとも区別せずマクロで切り分ける?
#ifndef __hogeh__
#define __hogeh__
#ifdef __cplusplus
extern "C" {
#endif
/*cの宣言...*/
#ifdef __cplusplus
}
#endif
/*c++の宣言...*/
#endif
0053デフォルトの名無しさん
NGNGそうは思えない俺は、選ばれた人間なのか?
0054デフォルトの名無しさん
NGNGマインドコントロールされています。悪いとは思わないよ。
C++で嫌なところと言えばヘッダファイルの
相互参照とかじゃないですか?(Cでもそうか。)
0055デフォルトの名無しさん
NGNGJAVAとかC#とかObject Pascalみたいな構造の方がすき。
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNGからみてもメリットは少ないね。出来ることも貧弱だし。>PP
Cとの互換を取った為だろうけど。
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGそれよりも、OOA したものを素直に OOPL 出来ないのが C++ のツラい所かな。
STL がなければ C++ 絶対触ってなかったですね。
0060デフォルトの名無しさん
NGNGそれはキミがC++の難しさを知らないからだ。
0061デフォルトの名無しさん
NGNGなんかあほさ漂う書き込みですね。
0062デフォルトの名無しさん
NGNG俺には君たちの脳の構造が良くわからないよ。
(・ε・)プップクプー
0063デフォルトの名無しさん
NGNG駄目なところとか解らないところを詳しく上げてみてよ。>撲滅派の人々
0064デフォルトの名無しさん
NGNG0065名無しさん@お腹いっぱい。
NGNG0066デフォルトの名無しさん
NGNGint main()
{
printf("ども\n");
printf("こんちは\n");
return 0;
}
0067デフォルトの名無しさん
NGNGMsgBox "ども" & vbCrLf & "こんにちは"
End Sub
0068sage
NGNG20 PRINT "ども" + CHR$(10) + CHR$(13) + "こんち" : INPUT A$;
0069デフォルトの名無しさん
NGNGclass itteyosi
{
public static void Main()
{
Console.WriteLine("僕の時代到来^^");
}
}
0070デフォルトの名無しさん
NGNG饒舌さは理解しがたいことよ
0071デフォルトの名無しさん
NGNGprint "Content-Type: text/plain\n\n";
print "itteyoshi!!";
exit;
0072デフォルトの名無しさん
NGNGまだ存在してるとは思わなかったが
0073デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
printf(
"せっかくだから\n"
"こうやって書きましょうよ(^^;\n"
);
}
0074C++派の皆様へ
NGNG消えたときに「チーズはどこに消えた!?」と言わないよう
今のうちによく考えておくのが良しです。
0075ドズル中将
NGNGおまいたちにC++は!!
0076デフォルトの名無しさん
NGNG自分の脳の構造、詳しく知ってんだ?
あ、ねずみ程度だからね
(・ε・)プップクプー
0077デフォルトの名無しさん
NGNGVBはもっと早く消え(以下略)
0078デフォルトの名無しさん
NGNGやっぱりC++&asm
0079デフォルトの名無しさん
NGNGかくしてC++は細々と生き残る、か?
0080デフォルトの名無しさん
NGNG誰に言ってるのかわからんが、
ガベコレも小さい領域に対して行なえば現実的な解だと思うけど?
0081デフォルトの名無しさん
NGNGJavaやC#やDelphiじゃつくれません。
0082デフォルトの名無しさん
NGNG人は、言語以前に基本的なデータ構造やアルゴリズムの知識が
欠けている傾向があります。よって、
------------------------- 終了-------------------------
0083デフォルトの名無しさん
NGNG------------------------- 終了-------------------------
0085>>82
NGNG008682
NGNGどっちかっつーと、VB…ゲホッ、ゴフッ、ダレダ!
008782
NGNG× C++使いは他の言語も使える人が多いので、そうでもない。
○ C/C++使いはデータ構造やアルゴリズムの基礎知識が比較的ある。
0088デフォルトの名無しさん
NGNGObject Pascal 使わせろやゴラァ
0089デフォルトの名無しさん
NGNG思い込み。
C++が滅びてもそういう知識は別物。
> プレステ2やXBOXとか、カーナビのソフトは
> JavaやC#やDelphiじゃつくれません。
それ以外のプラットホームでC++使うヤツは馬鹿
特にWindowsでいまだにVisualC++を使ってるヤツは
開発が遅いので周りの迷惑。
0090デフォルトの名無しさん
NGNGWindows上でマルチスレッド/マルチプロセス処理が必要なソフトって
何で書いてんのさ?
0091デフォルトの名無しさん
NGNGた落ちします。
ひよこや蝿の子供にはJAVA使ってもらうほうが安心できるので俺としては
C++には引退してもらいたいです。
0092デフォルトの名無しさん
NGNGうむ、かなり正しい意見だ。
0093デフォルトの名無しさん
NGNG言語処理系開発者 - なんでもいいと思うがC/Java多し
カーネル開発者 - 歴史的にはC、最近ならC++もあり
データベース開発者 - C/C++
デバドラ/デーモンなんかの比較的低位レイヤ開発者 - C/C++
堅牢性や速度を要求されるサーバ/クライアント側アプリケーション開発者 - C++/Java?
業務システムクライアント側開発者&データベース利用者 - VB/SQL
ここから帰納するに、VB使いはアカデミックな知識がない人間が多いってことか?
009493
NGNG学生の演習だと最近はJavaで書いてそうだが。
0095デフォルトの名無しさん
NGNG1は何を熱くなっているのだろう...
0096名無しさん@お腹いっぱい。
NGNG北見工業大学が授業でJavaだって
札幌市といい、稚内の大学といい
北海道はJavaが優勢なのだろうか
0097デフォルトの名無しさん
NGNG今ちょっと大きめの本屋にいけば、たくさんおいてあるハズです。
#もちろんJava、VB、COBOL(wユーザにもお勧めすることは
#言うまでもない。
0098デフォルトの名無しさん
NGNGC#ユーザーも読んだ方がいい本ですか?
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG0101名無しさん
NGNGやっぱJava?
もしCやC++で書かれてたら爆笑だよね。
0102デフォルトの名無しさん
NGNGJavaでどうやって書くの?
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG考え方には共感できるけど、実装が面倒で嫌い
0106デフォルトの名無しさん
NGNGJVMは大抵C++で書かれてます。つうか、Javaでもボトルネックのとこ
とかシステムコールとかをJNIでCライブラリコールするのは良くやるよ。
OnceWrite〜糞食らえ。
(プラットホームごとにJNIのアダプタモジュール作るんだけどね。)
なんか勘違いがあるみたいだけど、JVMってのは、ようするにJavaバイト
コードの、OS毎のドライバっすよ。Javaで書いてどーすんのよ。
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGネタならバナナで釘が打てるほど寒いし、本気なら敬して遠ざけたい。
0110デフォルトの名無しさん
NGNGCLRを作る為の言語がVBScriptだったら、おいらは絶対に
C#には手を出さないぞ。
0111C++ -C
NGNG解りやすい言語作ってくれないかなぁ。
0112デフォルトの名無しさん
NGNG中間コードになるのはいただけない。
0113デフォルトの名無しさん
NGNG重くて死にそうな処理をやるライブラリだけ、ネイティブのx86コードで
書くとかできると幸せかも。
Javaと違ってどうぜWindows環境でしか動かないので、仮想マシン化
する意味は薄いかも。
でも、C/C++になりガベージコレクタがあったり、VBでできないマルチ
スレッド処理ができたりとかの、これまでの弱点を補完してるのは
プログラマ的に幸せかも。
0115デフォルトの名無しさん
NGNG>ネタならバナナで釘が打てるほど寒いし
お・じ・さ・ん♪
0116デフォルトの名無しさん
NGNG薔薇がバラバラになるほど寒いよ、おじさん。
0117デフォルトの名無しさん
NGNGC++からCとっちゃったのか(w
0118デフォルトの名無しさん
NGNGネイティブコードにコンバートするのも
技術的には十分可能なはずだから、
そういうの作って欲しいなぁ。
そしたらC++ともおさらばやね。
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNGObjective-Cってどこで規格化されてますか?
ANSI?
JIS?
ISO?
IEEE?
0121デフォルトの名無しさん
NGNGAnsiがC++の足を引っ張っているのは目に見えていると思うが
0122デフォルトの名無しさん
NGNG0123ななし
NGNGどれもCOMを識別する名前を指すんだけど。
ANSIだったら、ID/const ID &なんてスッキリ
使い分けて定義してくれると思うけど。
typedef GUID IID;
typedef IID *LPIID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef GUID *REFGUID;
typedef IID *REFIID;
typedef CLSID *REFCLSID;
typedef FMTID *REFFMTID;
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG前から思ってるんだけど、MSのそのパターンってなんなの?
暗号化の一種なのでしょうか?読む気が失せるという点で。(マジ
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGバナナで釘が打てるくらい以下略
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG特にないと思う。
サイズくらいは知ってたほうがいいかも。
0132デフォルトの名無しさん
NGNG>特にWindowsでいまだにVisualC++を使ってるヤツは
>開発が遅いので周りの迷惑。
それはそいつのスキル(又はVC++)のせいであって、C++のせいではない。
だいたい、C++でしばらくシステム開発やってればほとんどの部分が
使いまわしで済むから早い。
そもそも、あんたのとこみたいに開発環境がばらばらなのがおかしい。
もしかしてみんなそれぞれ一から作ってんの?
0133デフォルトの名無しさん
NGNG夢を見ませんでしたか?これさえあれば、どれだけ
きれいなプログラムが書けるだろうと…
それなのに、嗚呼、なぜMFCなんてものがまだそこにあるのですか(涙
0134デフォルトの名無しさん
NGNGそんな俺はC/ASM使い。
ゲームプログラマあがりッス
0135デフォルトの名無しさん
NGNG思った思った。
それから2年ほど、必死で覚えたさ。
インテリジェンスなプログラムが書けるだろうと・・・
それなのに、嗚呼、なぜこんなにも悩ませられるのですか(藁
時には快適なんだけどねー
0136デフォルトの名無しさん
NGNGC#がモノになるならサクサク移行するぜ。
0137デフォルトの名無しさん
NGNGソースの互換性を低めてVCに固執せざるをえないようにするためです・・・
0138デフォルトの名無しさん
NGNGC++は遅くねぇよ。
コピーコンストラクタ呼びまくってるんじゃないのか?
コンパイルした結果をアセンブラで読んで、
研究してみろ。
仮想関数呼び出しが遅いというのなら、
それはオブジェクト指向がわかってない証拠。
フラグを設けてswitchで分岐するよりずっと速いぞ。
0139デフォルトの名無しさん
NGNGCプログラマはC++を使わないでください。
0140デフォルトの名無しさん
NGNG激しく同意。
CとC++のスピードの違いを体感できる人間など存在しない。
ギャバンでも無理。
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG何となく、ライブラリーのせいだと思われ。
stlとかバリバリつかってるんじゃないのかなぁ。
0143デフォルトの名無しさん
NGNGstream系はC標準ライブラリだけで書いたものよりだいぶ遅いかもね。
0144デフォルトの名無しさん
NGNG確かにiostream系は遅いよ。
でも、その他は特に遅さを感じないんだけど・・・
何処がそんなに遅いの?
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGことがあるけど、operator<<の実装ではsprintfを使っていて、しかもsprintfの
第二引数の文字列("%s%d"みたいなやつ)を動的に作っていたので、こりゃー
遅いだろうと思ったことはあるよ。
しばらく後にstd::mapとかの実装を追いかけたこともあるけど、こりゃー
まねできんとも思ったな。
で、134はなんで遅かったんだ? ただの煽りちゃんですか?
0147デフォルトの名無しさん
NGNG下手に作るよりずっと早くて簡単だし、
俺は重宝しているよ。
よってC++が消えて無くなると非常に困るな(藁
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGそう言う人は.h++へ走る(藁
http://www.roguewave.co.jp/
0152デフォルトの名無しさん
NGNG使わなければいけないときってどんな時?
0153>150
NGNGSGI STLなら、VC++やgccでも使えるそうな。
hash_mapもついてくるで。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGコードの再利用なんて気休めだってば。
0156デフォルトの名無しさん
NGNG「VisualC++言語」にしとけ (ワラ
0157デフォルトの名無しさん
NGNGCOMはどうよ?
0158デフォルトの名無しさん
NGNGオブジェクト指向は頭では理解できてもコーディングに完璧には
反映できないっす。C++はCのつもりでコーディングしてもOKだから良いっす。
0159デフォルトの名無しさん
NGNG0160名無
NGNG0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG言わなくてもわかる。
0165デフォルトの名無しさん
NGNGオーバーロードが入り組んでたりとか、コンストラクタの順番で起こるバグとか全然見つかんなくてかなりイヤ。
あと人のソースってC++だと壊滅的に読めないのもイヤすぎ。
0166デフォルトの名無しさん
NGNG0167is_Aよりhas_Aの方が簡単なのは火を見るより明らか。
NGNGこれは複雑化を避けるための鉄則だよ。
0168デフォルトの名無しさん
NGNG全部開けっぴろげで、どうせ〜ちゅうの
0169デフォルトの名無しさん
NGNGObjective-Cにしとけ。
0170デフォルトの名無しさん
NGNG実装継承はね。インタフェース継承ならやるでしょ。
0171デフォルトの名無しさん
NGNGC++はCに比べると簡単すぎるのでしょうがないんじゃない。
C++しか知らない奴はドキュソっぽい。仕様分析からできる奴は別だと思うけど。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGどんな奴だ?C++で人のライブラリ使うだけで何かを作るのは
アホでもできることだが、それで「C++できる」といってしまう
ようなイタイ奴しか知らないんだね、あんた。
C++でのライブラリ作成は奥の深い世界だ。
0174デフォルトの名無しさん
NGNG>C++しか知らない奴はドキュソっぽい。
えっそうなの? ヌルいC++プログラマは Cな人以下なのか
windows環境なので今時 Cに触れる機会ないんですよねぇ
0176172
NGNGC++だとしょぼいコードでも動いちゃうじゃん。
Cだとしょぼいコードを書くと速攻で自分の首しめちゃうから、
ある程度淘汰されているってことを言いたかった。
だから、きちんと分析して書いてるやつは別ってわけ。
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGC++は最初の標準規格が制定されてからまだ一度も変更されたことが無いのでは?
規格の改訂があったというニュースは聞きません。
0179デフォルトの名無しさん
NGNGつーか策定されたのつい最近じゃん。
0180デフォルトの名無しさん
NGNG>windows環境なので今時 Cに触れる機会ないんですよねぇ
Windows APIはCじゃん。
0181デフォルトの名無しさん
NGNG>windows環境なので今時 Cに触れる機会ないんですよねぇ
Windows APIはPASCALじゃん。
0182デフォルトの名無しさん
NGNGいつの時代だよPASCALって
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG0185183
NGNGあ、そうなの?
アセンブラで昔試しに書いたときに
push MB_OK
push OFFSET msgstring_a
push OFFSET msgstring_b
push 0
call MessageBoxA
で普通に動いてたけど・・・。どこらへんが
違うのかな? retもret nを使ってるよね。
SPを戻してないし。
別のことを言ってるのかな?
0186かい
NGNGhas-A支持派って言う人は
Smalltalkとかもやる人ですか?
is-A支持派の極みがEiffelなんですよね>どなたか?
0187デフォルトの名無しさん
NGNG関係ないが昔ヘッダの __pascal コール見て
Win は pascal で書かれているっていうバカが
大量に発生してたこと思い出した
0188デフォルトの名無しさん
NGNGEiffelには詳しくないんだけれども……
多重継承を積極的に活用するという意味ではis-A支持派なんだろうけど、
has-Aで済むところをis-Aにしようというほど積極的にis-Aにするものではないでしょう。
クラスを積極的に継承しないという発言は、
ポリモーフィズムを利用しない(=オブジェクト指向しない)
とも受け取れかねないのでやめたほうがいいと思います。
ところでEiffelの継承元クラスのメンバのリネーム機能、
C++にも欲しいんですけど……。
Eiffelは、多重継承、テンプレート(ジェネリックプログラミング)などの実装がいいけど、
あのPascalに似たスタイルがどうも馴染めなくて……。可読性も悪いと思うし……。
JavaやC#みたいにCをベースに拡張していくのが正解でしょう。
だけどこれらの後発の言語は、とっつきやすさを重視しすぎていて、
C++やEiffelと比べると中途半端なところは否めない。
そもそもオブジェクト指向が普及しているとは言えないこの状況で、
Java派の人たちがC++のことを理解した上で批判しているかどうか疑問。
型安全なコンテナクラスが無いことをもっと危機的に感じて欲しい。
それでも、Javaが普及して、UMLやデザインパターンが広まるのは素直に嬉しい。
これまでオブジェクト指向に対するネガティブなイメージがなかなか取れなかったけれど、
Javaがトレンディな言語というイメージがついたことで、
オブジェクト指向が広まるいいきっかけになった思います。
Javaが気に入ったら、UMLも覚えてね。>ALL
0189183
NGNGはぁ、そんなこともあったんですか。Pascalコールなんてのは
add sp,nが省けることで、少しは速い&ちょっとコードが小さくなる
程度の利点ぐらいしかないとは思うけど。まぁ8086のころのようにCPUが
遅くてRAMも少ないころは大きな意味があったんでしょうけどね。
Winの場合はSpeedを少しでも稼ぐ方かな。
結局、なにが違うのかな? ちょっと気になってgoogleとかで情報を
漁ってみたけど、みつけられなかったし・・・
pascalコールの定義が間違ってるのかな? わたしは、引数逆順でス
タックに積んでret nで戻す呼び出しだと認識してるんですが・・・
0190190
NGNG呼び出し規約がPASCALだと
PASCALで書かれてるんですか?
0191デフォルトの名無しさん
NGNG二回繰返した方が良いかも(謎
0192デフォルトの名無しさん
NGNGx86 プロセッサだと、ユーザプロセスからコールゲートを介し
て OS のコードを呼び出したときに、自動的にユーザスタック
上の引数をカーネルスタックにコピーする機能があります。
この場合、OS のコードの最後で ret n する (PASCAL 呼び出
しにしておく) と、ユーザスタックとカーネルスタック両方か
ら引数を取り除ける。
Windows の API 呼び出しって、この機能を使って実装されて
たりしません?
# 最近の PC UNIX だと lcall 使わずに int 使うのが流行り
# だけど。
0193183
NGNGなるほど。そういう便利な使い方もあるんですね。久しぶりに
放置してあったプロテクトモードプログラミング本をひっぱり出して
みてみました(w
でもAPIの場合はプロセス間をまたぐわけでもないので、これを目的と
して作っているのかは?のような気はしますが・・
内部的には使ってるかもしれないけど。むむ。
■ このスレッドは過去ログ倉庫に格納されています