トップページ⇒tech
1001コメント283KB

なぜ、C++じゃいけないの?

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2005/05/10(火) 23:28:21
JAVA、C#なんて存在価値に疑問抱かざるを得ない言語など
あるけど、C++でいいじゃん

JAVA、C#でかけるものはC++で全て書ける
逆はそうとはいいきれないんじゃないかな?

Boost+C++これ最強間違いない!
0002デフォルトの名無しさん2005/05/10(火) 23:33:15
2
0003デフォルトの名無しさん2005/05/10(火) 23:33:37
ヒント:生産性
0004デフォルトの名無しさん2005/05/10(火) 23:35:48
C++が生産性が悪いなんていうひとってC++が使えないからでは?
0005デフォルトの名無しさん2005/05/10(火) 23:44:32
使えない人がいる=生産性が悪い
0006デフォルトの名無しさん2005/05/10(火) 23:47:05
BOOSTにはSocketがない、GUIはいらない。
0007デフォルトの名無しさん2005/05/10(火) 23:52:57
C++ってそろそろGUI持たないの?
0008デフォルトの名無しさん2005/05/10(火) 23:58:03
たかが文字列処理やガベコレ相当の事をするのにSTLまで出てくる。
しかもSTLを正しく使わないと、逆効果になる。

GUIライブラリやその他のライブラリが各プラットフォームで統一されていない。
特にRADを使う場合使用できるライブラリは限られている。

リフレクション機能が少なくデバッグが大変。
0009デフォルトの名無しさん2005/05/10(火) 23:58:05
>>7
言語でサポートするもんじゃないだろ
0010デフォルトの名無しさん2005/05/11(水) 00:07:19
これは基礎知識レベルのことなのに、上級レベルの知識を必要とするから。

・ポインタの種類
*
&
auto_ptr
shared_ptr
weak_ptr
intrusive_ptr
shared_array
scoped_ptr

・キャストの種類
(int)
static_cast
reinterpret_cast
const_cast
dynamic_cast
0011デフォルトの名無しさん2005/05/11(水) 00:08:12
>>9
標準ライブラリでサポートするもんだろw
0012デフォルトの名無しさん2005/05/11(水) 00:23:44
>>5ですでに答えが出てるじゃないか
0013デフォルトの名無しさん2005/05/11(水) 00:23:59
いまJavaやってるけど、
正直C++のほうがコードが少なくてきれいに書ける。
個人的にはC++が現実的な生産性は高い。

コードの抽象性、汎用性も高い。性能も出せる。

Javaは、標準のライブラリがイマイチ。
STLとかの方が良く考えて作ってあると思うよ。

Javaを書いてると、昔COBOLやらされた時のイメージを思い出すよ。
0014デフォルトの名無しさん2005/05/11(水) 00:29:24
>>11 gtkmm
0015デフォルトの名無しさん2005/05/11(水) 00:39:36
>>14 "標準"ライブラリ
0016デフォルトの名無しさん2005/05/11(水) 01:01:30
Javaは少人数で短期間で開発するのに向いている.殊に日本では漢字を
扱わなければならない都合事務的な処理はJavaやC#が向いていると言える.
しかし現実は厳しい.大規模で斬新なソフトの開発のためには世界中に
散在する研究結果、ソフトウェアのノウハウを集積しなければならない点に
注目だ.ここでC++は評価が高い.なぜなら長い歴史があるからだ.

90年代中盤に登場したJavaと比べればC++はさらに5〜10年早く普及して
いる.開発競争の激しい今の時代,C++で培った技術をJavaに移行する
作業はなかなか進まないだろう.Javaがフロントエンド向けの開発ツール
だとするならばC++は基幹向けの開発ツールと言えるだろう.
0017デフォルトの名無しさん2005/05/11(水) 01:08:09
世界中に散在する研究結果と長い歴史

つまり、FORTRAN最強!ということだな。
0018デフォルトの名無しさん2005/05/11(水) 01:24:51
「適材適所」
・3DゲームにJavaなんか使えるかよ。
・携帯のアプリなんかJavaで十分。
・業務系の低スキル技術者にC++なんか危なくて使わせられるか。
・WindowsのGUIアプリならC♯.NETで十分。
・大規模システム資産を潰すわけにいかないからやっぱCOBOLは捨てられない。
・などなど
0019デフォルトの名無しさん2005/05/11(水) 01:44:26
ひとつの言語しか使えない人はたいへんですね。
0020デフォルトの名無しさん2005/05/11(水) 01:48:12
数値演算の分野ではFORTRANはかなりの実績があると思う.
現存の数値演算ライブラリの多くはこれらのコードを引き継いでいるはず.
その都度トランスレータが開発されていくからね.
数値演算ライブラリなんかは再開発するとしたらプロセッサの設計と
深くかかわってくるからあまり一般向けに公開されたりまして標準化なんて
言葉とは縁がなくなってしまっている.
CG分野の場合に限ってはOpenGLやDirectXはあるけど、工業専門分野向
けのものは用途が特殊すぎて市場も狭く規格として定めてもあまり広まらない.
正直BoostとかSTLも含めてソフトウェアの標準と言うのは
浅く広くをモットーにしているみたいで、実用的に使うと言う観点では
どれもいまいちと言う感がある.結局古いライブラリを引用することになるの
だ.
0021デフォルトの名無しさん2005/05/11(水) 02:00:11
>>20
例えば、
OpenGL + STL + C++ + cstdlib
とか
DirectX + STL + C++ + MFC + cstdlib
とか、ライブラリってのはそういう使い方をするんですが。

STLやBoostはどんな分野においても十分実用的です。
汎用的かつ効率的な標準的アルゴリズム+データ構造集ですから。
0022デフォルトの名無しさん2005/05/11(水) 03:01:39
>>1
C++ 一人のタコがプロジェクトを台無しにできる
Java,C# 一人のタコが居てもプロジェクトを維持できる。
0023デフォルトの名無しさん2005/05/11(水) 03:12:09
JAVAっていうとサーバサイドばっかしっていうイメージが強いけどな
0024デフォルトの名無しさん2005/05/11(水) 03:29:40
>>22
実際問題、どんな優秀な人間でもミスはするからな。
そういう意味ではC++は非人間的言語だな。
0025デフォルトの名無しさん2005/05/11(水) 03:39:48
JavaよりもC++の方がクロスプラットフォームであるという事実。
0026デフォルトの名無しさん2005/05/11(水) 03:41:52
良いと評価するからにはそれを選んだことでそれなりに利点が得られ
なければならないわけです.
C++もJavaもC#もオブジェクト指向言語ですから再利用性重視と言えます.
C++の欠点はライブラリの老朽化です.つまり古すぎるからリファクタリングして無理矢理使うと言うことです.まあそれを再利用性と呼ぶべきです
が,否定されるのは新しく登場したSTLとかBoostの良し悪しでなく,資産の
維持のしやすさではないでしょうか.人間はめんどくさがりですから.
0027デフォルトの名無しさん2005/05/11(水) 04:02:04
Javaでも各OSで動作試験しなならん
どこでも動くとは限らん
0028デフォルトの名無しさん2005/05/11(水) 04:25:29
>>22
タコが一人でもいる場合は、出来るだけ早い段階でプロジェクトを台無し
にしてもらった方が安全。
JavaやC#(極めつけはVB)のような言語だと、最終段階にさしかかった
ところでメンテ不能かついびつな形のものがいきなり出現して、損害額を
桁違いに膨れ上がらせたりする。
0029デフォルトの名無しさん2005/05/11(水) 04:56:12
ある程度の大きさで、世間で一定の評価を得ているオープンソース(ソースを見れる)のアプリって
ありますかね。
ソースを呼んで勉強したいのですが。
0030デフォルトの名無しさん2005/05/11(水) 05:18:03
>>29
ソースは呼んでもこないよ、たくさんありすぎるから自分の目的に合うのを自分で探さないと。
0031デフォルトの名無しさん2005/05/11(水) 05:20:20
Linux
0032デフォルトの名無しさん2005/05/11(水) 05:26:07
全てが優れてるわけじゃないけどソースへのリンクつき
http://www.freebsd.org/ja/ports/
0033デフォルトの名無しさん2005/05/11(水) 11:05:37
>>29
Mozillaのソース、1ファイルで8000行もあるソースコードに(((;゚Д゚)))
あれじゃあバグもでるよ……

実践(ソースを読む)だけでなく、理論(本を読む)も平行したほうがよいと思います。
どちらか一方だけだと偏ってしまいます。
0034デフォルトの名無しさん2005/05/11(水) 11:50:41
>>29
gccに付いているlibstdc++読めよ。
0035デフォルトの名無しさん2005/05/11(水) 11:51:39
ガベージコレクションがないのとバッファオーバーフローがチェックされないのが痛い。
(GCに関してはスマートポインタがあるが、構文がきたなくなりがち)
0036デフォルトの名無しさん2005/05/11(水) 12:39:26
c++でも例外をJavaみたいにstrictに扱えるようにしてほしい。
投げる例外の種類をかえたときとか、コンパイラで検出できなくて
困る。
JavaはGenericsが入って使いやすくなった。
こう考えると、strict typed languageマンセーなんだな。俺は。
0037GreatFixer ◆ASWqyCy.nQ 2005/05/11(水) 16:45:11
C,C++は自分用のアプリケーションを作るときに使うものだと思う。
0038デフォルトの名無しさん2005/05/11(水) 17:55:28
はぁ?
0039GreatFixer ◆ASWqyCy.nQ 2005/05/11(水) 18:02:12
Re:>>38 昔はそういう認識ではなかっただろうけど、今の時代ではアプリケーションを作るのにはC,C++よりも開発効率が良いものがあるだろう。
0040デフォルトの名無しさん2005/05/11(水) 18:09:36
何言い出すのこのコテは。
0041GreatFixer ◆ASWqyCy.nQ 2005/05/11(水) 18:20:52
Re:>>40 大して手間のかからないプログラムを作るときはJavaよりもCの方がいいということ。
0042デフォルトの名無しさん2005/05/11(水) 18:46:13
>>41
たとえば、Windows を Java で書き直せってことか?はぁ?
0043デフォルトの名無しさん2005/05/11(水) 18:49:51
>>42
書き直す必要はないけど
新規に作る場合はJavaの方がいいんでない?
こう書くとJavaは遅いから云々言われそうだが
遅い云々は別問題だから、一応。
0044GreatFixer ◆ASWqyCy.nQ 2005/05/11(水) 18:55:35
Re:>42 Windowsってアセンブラでやってるんじゃないの?
0045GreatFixer ◆ASWqyCy.nQ 2005/05/11(水) 18:56:39
Re:>>42 誰もそのようには言っていない。技術力があるのならアセンブラでもCでも使えばいいだけの話。
0046デフォルトの名無しさん2005/05/11(水) 19:11:51
なんか色々と矛盾してるね
0047GreatFixer ◆ASWqyCy.nQ 2005/05/11(水) 19:46:39
Re:>>46 「だと思う。」
0048デフォルトの名無しさん2005/05/11(水) 19:57:07
C++って使う場所では使うんだろうけど、
オレみたいなアマグラマには縁はないな。
C#かDelphiで決まりだよ。
0049デフォルトの名無しさん2005/05/11(水) 19:57:40
↓門外漢







GreatFixer ◆ASWqyCy.nQ
0050デフォルトの名無しさん2005/05/11(水) 20:28:00
>>1の仲間。
ttp://mag.autumn.org/Content.modf?id=20050504145851
0051デフォルトの名無しさん2005/05/11(水) 21:36:06
C++はまずEffective C++やらなんやらじっくり読み込んで、
大量のお約束や禁則を頭に叩き込む必要があるからな。
一度習性レベルまで身に付いたら、Javaとかと大して変わらないんだが、
問題は、そのレベルに達していないプログラマの存在だろう。

あと、ヘッダファイルとソースファイルが分かれてるのは
いつまで経っても激しく面倒くさい。
0052デフォルトの名無しさん2005/05/11(水) 22:15:00
仕事じゃJava使うけど、
趣味ではC++だな。だって楽しいもん。

あと、デスクトップアプリ作るときは、やっぱりC++だなー。
起動や動作が機敏だから、使う側にストレスがない。
0053デフォルトの名無しさん2005/05/11(水) 22:25:46
それ言ったらJavaなんてやっつけ仕事以外使い道ない
0054そのレベルに達していないアマグラマ2005/05/11(水) 22:33:43
>>51
>Effective C++やらなんやら
「Effective C++ C++の50の急所 」や
「Effective C++ 」でしょうか?
"なんやら"が激しく気になります。主観で良いので
おすすめはやはり「Effective C++」ですか?

>ヘッダファイルとソースファイルが分かれてるのは
ぜひ詳しく聞いてみたい内容です。
私はIDEでどうにかならないかな-と考えてたりします。
0055デフォルトの名無しさん2005/05/11(水) 22:37:24
え、別にcppソースそのままインクルードすればええんちゃうんの・・・?
0056デフォルトの名無しさん2005/05/11(水) 22:40:07
漏れは実装もほとんどヘッダに書くなー。

すげえコンパイル重くなるのと、
数値型以外のstatic定数を定義できないのが難点だ。
0057デフォルトの名無しさん2005/05/11(水) 23:53:23
Javaも Effective Javaとかお約束事あるじゃん
0058デフォルトの名無しさん2005/05/12(木) 00:41:17
Javaの起動が遅いっていうのはGCJ次第で解決するんじゃない?
0059デフォルトの名無しさん2005/05/12(木) 03:02:42
C++はJavaやC#などに比べてソースが読みにくい・理解しにくい。
あるシンボルが何であるかを調べるのが大変だし
マクロとか使われてると最悪。

結局はCベースに古いデザインをつぎはぎして拡張してきてるのが問題で、
色々ボロは出てる。
たとえば後で継ぎ足した例外仕様とか、かなり悲惨。
0060デフォルトの名無しさん2005/05/12(木) 13:02:35
>>59
>Cベースに古いデザインをつぎはぎして拡張してきてるのが問題で
それは問題ではなく目的。
0061デフォルトの名無しさん2005/05/12(木) 13:27:56
だからその目的自体に問題があるといいたいのでは?
0062デフォルトの名無しさん2005/05/13(金) 15:44:18
なぜ、ハンドアセンブルじゃいけないの?
0063デフォルトの名無しさん2005/05/13(金) 15:55:51
もうハンドアセンブルやってる奴いないだろ
昔からやってる奴は脳内アセンブルまで進化してるだろうし
0064Zeno ◆5nZQbNmQPs 2005/05/14(土) 17:15:50
     普通に自分用のプログラムを書くのであれば 、 Python か elisp。
              Win アプリは C# か Java。
      個人的に、 C++ など必要ない。 というか、生産性が低すぎて
           C++でプログラムをする気にはならない

____________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T.
0065デフォルトの名無しさん2005/05/14(土) 19:22:54
資産だの生産性だの以前に、C++の登場から20年近くが経過している以上
そろそろ引退するべき言語ではあるな。今のアーキテクチャとは概念的にも
時代遅れ感が否定できない。
0066デフォルトの名無しさん2005/05/14(土) 19:24:24
Rubyの生産性がC++の30倍あるってマジですか?
0067GreatFixer ◆ASWqyCy.nQ 2005/05/14(土) 20:05:17
Re:>>64 一時的に使うか、何度も使うかで使い分けた方がよさそうな気もする。
0068デフォルトの名無しさん2005/05/14(土) 21:56:10
C++でかけない、ソフトウェアはない!!
0069デフォルトの名無しさん2005/05/14(土) 21:58:24
それはどんな言語でも同じですね
0070デフォルトの名無しさん2005/05/14(土) 22:10:57
CとC++以外に
組み込みで使えるほどリアルタイム性を要求されるアプリを
作れる言語ある?
0071デフォルトの名無しさん2005/05/14(土) 22:27:20
逆にいえば組み込みぐらいですね。C,C++が活躍できる場は。
0072デフォルトの名無しさん2005/05/14(土) 22:47:59
ふーん。
お前が仕事で使っているソフトは何で書かれている?
0073デフォルトの名無しさん2005/05/14(土) 23:33:33
Java。
0074デフォルトの名無しさん2005/05/14(土) 23:38:19
>>72
仕事で使っているソフトを作るのは我々の仕事ではない(大抵はMSの仕事)から、
やっぱりC++不要。

それに、自分で作るソフトも大抵はJava/C#/ObjCになってきている。
0075デフォルトの名無しさん2005/05/14(土) 23:47:24
ObjCて・・・
0076デフォルトの名無しさん2005/05/14(土) 23:50:54
みなまでいうな
0077デフォルトの名無しさん2005/05/15(日) 04:31:18
ネイティブなコードを書けることに対する優越感(プライド)をどうしても捨てきれないんじゃないの?
ここの人たちって。気持ちはよくわかるよ。でも、世の中、メシの種になるものしか結局は
生き残れないんだな。
0078デフォルトの名無しさん2005/05/15(日) 04:42:55
>>70
asm
0079デフォルトの名無しさん2005/05/15(日) 04:53:35
C++はともかくC言語は今後も間違いなく生き残る
0080デフォルトの名無しさん2005/05/15(日) 05:35:49
遅漏でしょ。
0081デフォルトの名無しさん2005/05/15(日) 05:50:45
いやいや、
C++→80過ぎのばあさん。
Delphi→16歳の女子高生。
だからでしょ。
0082デフォルトの名無しさん2005/05/15(日) 06:53:45
80杉のばあさんのほうが人気な件。
0083デフォルトの名無しさん2005/05/15(日) 07:15:52
>>79
お年寄りの願望乙(w
「携帯電話はなくなっても電話ボックスはなくならんわいっ」
0084デフォルトの名無しさん2005/05/15(日) 07:35:21
>>81
親に逃げられた女子高生…
0085GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 08:30:49
自作ライブラリが増えて収集がつかなくなりつつある現在、
という話を確信もないまましてみる。
0086デフォルトの名無しさん2005/05/17(火) 08:49:41
C++って知れば知るほど腐った言語だな
建て増し建て増しで基本思想のかけらもない
0087デフォルトの名無しさん2005/05/17(火) 09:59:25
そもそもCとの互換性がガンなんだが、それがないとC++にする意味がなくなりかねないわけで難しいところだな。
0088デフォルトの名無しさん2005/05/17(火) 14:35:01
思想があるからこその建て増しなんだけどね。

まぁ挫折組には邪悪なものとしか映らんわな。
0089デフォルトの名無しさん2005/05/17(火) 15:55:01
逆に知れば知るほど輝いて見えるのは俺だけ?
0090デフォルトの名無しさん2005/05/17(火) 16:14:13
>輝いて見えるのは
禿げ頭じゃないんだから。
でもまぁ、自然言語だって建て増しっつーか少しずつ複雑化したのだろうし、
私も肯定的に見てますがね。

杓子定規で一辺倒な使い方しかできない道具より、
使い方次第で能力を発揮する道具の方が好きだしね。
0091デフォルトの名無しさん2005/05/17(火) 20:33:46
そういうのを進化の袋小路とも言うね
0092デフォルトの名無しさん2005/05/17(火) 21:05:53
思想が表に出すぎて信者以外誰も使わない言語よりはマシなのでしょう
0093デフォルトの名無しさん2005/05/17(火) 21:23:13
設計思想は完全に実務向けで、だからこそのCとの互換性なんだが
あまりに複雑&仕様の幅が広過ぎで、他人のコード読みにくい点が
実務で問題を生じる。

テンプレートヲタとかが、一人で趣味で使ってる分には問題無かろうけど
実務だと、規約でスタイルをあれこれ縛らんとつらいんじゃないか。
0094デフォルトの名無しさん2005/05/18(水) 00:56:12
Cの互換性と
templateに代表されるような新しい機能が
いい具合いに混合されている。
0095デフォルトの名無しさん2005/05/18(水) 14:31:51
>>94
ことはない。

C++には必要な文法と便利な文法に、
コンパイラを振り落としてしまうくらいの複雑化用文法と、
プログラマを振り落としてしまうくらいの下位互換用文法がある。
0096デフォルトの名無しさん2005/05/19(木) 00:52:28
そういや最初はC++に比べシンプルな言語であることを前面に
押し出してたくせに、結局拡張して汚らしくなった言語が
あったね。なんだっけ?
0097デフォルトの名無しさん2005/05/19(木) 00:58:53
INTERCAL
0098デフォルトの名無しさん2005/05/19(木) 01:01:06
>96
何だったっけ?度忘れしてて思い出せないよ・・・。

CにシンプルなOOPを組み込むことを前面に押し出してたくせに、
結局拡張して汚らしくなった言語なら1つ知ってるんだけれど・・・。
0099デフォルトの名無しさん2005/05/19(木) 01:12:31
>>98
どの言語?
0100デフォルトの名無しさん2005/05/19(木) 01:13:49
>>98
つ[C++の設計と進化]
絶 賛 発 売 中
0101デフォルトの名無しさん2005/05/19(木) 11:26:38
多重継承ソース読むの怖いね。
0102デフォルトの名無しさん2005/05/19(木) 11:33:03
まずC++をDLL化するにあたりextern "C"しなければならない事自体が汚らわしい
0103デフォルトの名無しさん2005/05/19(木) 12:05:38
>>102
それは言語の都合ではないね。
0104デフォルトの名無しさん2005/05/19(木) 13:53:47
CにシンプルなOOPを組み込むことを前面に押し出してたくせに、
結局ほとんど使われるどころか存在すらあまり知られてないマイナー言語よりはマシでしょう
0105デフォルトの名無しさん2005/05/19(木) 14:03:18
>>103
言語規格がABI周りに言及していないという点では
言語の問題と言えなくもないように思えますがどうなんでしょうか?
まぁ,言及していないというよりかは言及できないといったほうが正しいと思いますが.
0106デフォルトの名無しさん2005/05/19(木) 23:15:29
どうしてC++に劣等感を持つ人がこんなにいるんだろう?
C++ができなかった奴は、結局、Javaもだめだったろうに。
Cならわかったと思ってる?そりゃ勘違いだよ。
配列のポインタの関係がわかったってプログラムは書けんでしょ。
0107デフォルトの名無しさん2005/05/19(木) 23:22:50
> どうしてC++に劣等感を持つ人がこんなにいるんだろう?
そんな人いませんが?
あなたこそ、何かに劣等感持っているようですね。
0108デフォルトの名無しさん2005/05/19(木) 23:23:21
>>101
超同感
するならするでちゃんとしてほしい
0109デフォルトの名無しさん2005/05/20(金) 00:08:44
>>105
あなたもしや馬鹿ですね。
0110デフォルトの名無しさん2005/05/20(金) 02:21:18
Shimula
0111デフォルトの名無しさん2005/05/20(金) 04:52:32
なんだかC#って、ここではだいぶ嫌われてるみたいだね。
おれは好きなんだけどなー。
0112デフォルトの名無しさん2005/05/20(金) 08:45:49
なぜC++じゃいけないのか?

コンパイラが標準Javaコンパイラよりも劣っているから。
エラー例外チェックが甘いから。
堅牢性が低いから。
JavaコンパイラライクなC++コンパイラが普及しておらず
規格が乱立しているから


0113デフォルトの名無しさん2005/05/20(金) 09:13:19
それは仕様です
それが好まれない理由は他にあるはず
0114デフォルトの名無しさん2005/05/20(金) 12:12:58
最近の流行は、言語仕様の中に制約をもりこんで、
コードの質を一定に保つって方向。
C++は、プログラマに最大限の自由度を与えるので、
自分で制約を課さないと、すぐに破綻する。

コード1行ごとに、呼ばれるコンストラクタ、代入演算子、キャスト演算子、
例外の可能性、など考慮しなければならないことが多い。

七十而従心所欲
の心境に達していないと、C++で大規模コードを書くのは難しい。
0115デフォルトの名無しさん2005/05/20(金) 12:38:59
javaももう少し最適化が進めば使うのだが、VB並のスピードしか出ないjavaは使う気がしない
0116デフォルトの名無しさん2005/05/20(金) 13:01:32
>自分で制約を課さないと、すぐに破綻する。

soreda!
それができない香具師はjava飴でも舐めてろと。
0117デフォルトの名無しさん2005/05/20(金) 14:15:02
>>116
それってC++が糞言語だってことだと思われるが。
自由がほしければアセンブラかなんかやってればぁ?

C#飴を舐めてる人からの煽りでした。
0118デフォルトの名無しさん2005/05/20(金) 16:06:35
>>114
何故か少林寺三十六房を思い出した
0119デフォルトの名無しさん2005/05/20(金) 16:35:42
>>117
真のプログラマ(==C++プログラマ)がなぐさみに甘いjava飴を舐めるのは良し。
C#飴はにおいがきつくて舐めれん。
0120デフォルトの名無しさん2005/05/20(金) 19:47:07
食糞に近いからな<C#飴
0121デフォルトの名無しさん2005/05/20(金) 19:51:00
>>120 ← ダメだコイツw
0122デフォルトの名無しさん2005/05/20(金) 20:19:33
>>117
何言ってる。自由がほしければ会社辞めて「日本セックスの旅」に決まってる。
0123デフォルトの名無しさん2005/05/20(金) 20:36:12
C++は不要だがC言語は必要だ
なぜならたいていどの言語もC言語のライブラリの存在がベースになってるから
0124デフォルトの名無しさん2005/05/20(金) 20:39:29
>>120
それはなんで?食糞に似せて作られているから?
0125デフォルトの名無しさん2005/05/20(金) 20:45:14
>>124
C#が糞だからだな。

C#飴を舐めすぎると、悪い成分が脳に回って
>>121みたいな反応しかできなくなってしまう。
0126デフォルトの名無しさん2005/05/20(金) 21:12:00
C--
0127デフォルトの名無しさん2005/05/20(金) 21:18:28
(C)
0128デフォルトの名無しさん2005/05/20(金) 21:44:02
++C
ってあってもいいよね
0129デフォルトの名無しさん2005/05/20(金) 21:46:20
なるほど>>125みたいになっちゃうんですね。合掌。
0130デフォルトの名無しさん2005/05/20(金) 21:47:07
Cplusplus = C++;
インクリメントされずに実は中身はCだったというオチ
0131デフォルトの名無しさん2005/05/20(金) 21:56:29
C++をオナニーする右手以上に自由に使えれば
C#やJAVAなんて使おうなんて気には絶対にならない
0132デフォルトの名無しさん2005/05/20(金) 21:56:57
>1
C++が漢の言語だから。
フェミニストが跋扈する昨今の世情にはあわない
0133デフォルトの名無しさん2005/05/20(金) 22:06:25
>>1-132
この中に、廃老人が一人いる!それは...











                                           >>123だ。(w
0134デフォルトの名無しさん2005/05/20(金) 22:09:22
>>133
相当C言語が嫌いなんだなw
0135デフォルトの名無しさん2005/05/20(金) 22:23:07
>>132
漢の言語は漢字と言います
0136デフォルトの名無しさん2005/05/20(金) 22:42:22
C++の中の人も大変だな
0137デフォルトの名無しさん2005/05/20(金) 22:54:21
133の過去に一体何があったのか気になる
0138デフォルトの名無しさん2005/05/20(金) 23:05:44
>>137
昨日上司にこっぴどく叱られたんだよ
0139デフォルトの名無しさん2005/05/20(金) 23:45:44
あと5年すれば答えが出ると思っている
0140デフォルトの名無しさん2005/05/20(金) 23:50:00
つまり、難解な言語を使っているというだけで優越感に浸れるような時代は
もう終わった、ってことですか。そうですか。
0141デフォルトの名無しさん2005/05/21(土) 00:00:03
>>19
激しく同感

>>36
それさえあれば・・・と俺も思っている

で、D言語は、皆どう思っているのか聞きたい
スレが伸びていないので死んだのかなぁ
0142デフォルトの名無しさん2005/05/21(土) 00:05:17
C + template + 型チェック強化 な言語がほしい。
GCはいらん(組み込みに向かなくなる)
オブジェクト指向とか状態遷移マシン実装サポートとかは
templateメタプログラミングなライブラリで提供。
組み込みでも使いやすいようtemplate使用時の
コード生成が規制できる。
 
そんな言語がほしい。
0143デフォルトの名無しさん2005/05/21(土) 00:11:49
その程度なら自作すりゃいいじゃん
0144デフォルトの名無しさん2005/05/21(土) 01:05:20
俺は、perlで十分
0145デフォルトの名無しさん2005/05/21(土) 01:51:14
>>140
そんな時代があったのかどうかはともかく、
自分が馬鹿なのを言語のせいにしてごまかせる時代がまだ来ていないのは、
ここのJava厨やC#厨の間抜けなレスで明らかだな。
0146デフォルトの名無しさん2005/05/21(土) 01:51:38
>>141
おれてきにはDはいまいち。

標準ライブラリサポートがjavaだのC#だののイマドキのリッチな環境に
比べて貧弱で、Cなどのアリモノのライブラリを直接リンクできるとはいえ、
そのためのインタフェースをいちいち記述しなければならない点で
C++よりめんどいのよね。
0147デフォルトの名無しさん2005/05/21(土) 01:56:32
JAVAの圧倒的物量のライブラリをもってしてもC++は駆逐できなかった。
真理は別の所にある
0148デフォルトの名無しさん2005/05/21(土) 01:58:13
>>145
現場ではマニアのための言語なんか要らないんだよ。ほんとはC++は
そうじゃない筈なんだけど。

テンプレートバリバリなコードは激しく読みにくい上に
コンパイラの吐き出すメッセージは激しく意味不明になりがちだし

演算子オーバーロードや型の暗黙変換や多重継承は比較的昔ながらの機能で
コードを書くだけなら便利だけど、
多用するとやっぱコードは絶対理解しにくくなるし

「この+はどこで定義されてるんだろう?」みたいな単純なことを、
調べるのが大変なんだよなC++は。コード読む人に優しくない言語だよ。
だから仕事では縛らなきゃいけないんだよ。
理解しにくい=無駄な時間を消費するってことだからね。

馬鹿とかそういう問題じゃないよ。

0149デフォルトの名無しさん2005/05/21(土) 01:59:05
>>147
JavaとC/C++では適用可能な分野が違うもの。
0150デフォルトの名無しさん2005/05/21(土) 01:59:05
LISPがいいよ
0151デフォルトの名無しさん2005/05/21(土) 02:07:20
>>148
COBOLをつかえと
0152デフォルトの名無しさん2005/05/21(土) 02:09:10
C++屋ってCOBOLぐらいしか馬鹿にできるものが無いの?
0153デフォルトの名無しさん2005/05/21(土) 02:12:36
別に馬鹿にしてないんですけど。
どこをみてそう思ったの?
0154デフォルトの名無しさん2005/05/21(土) 02:15:38
>>123
Cはポータブルなアセンブラだよな今や
ABIがシンプルなのも重要なポイントだ
0155デフォルトの名無しさん2005/05/21(土) 02:17:53
>>115
感覚的に、クライアント系のアプリはVBのがむしろ早い気がする。
VB5.0以降は一応Nativeだし、Nativeになる前からそこそこ軽かった。
最近はJavaもマシになってるのだろうか。

最近久々にVB6.0の開発環境を立ち上げる機会があったのだが
非常に軽くてびっくりしたよ。
0156デフォルトの名無しさん2005/05/21(土) 02:22:28
Javaのメソッドはデフォルトで(C++で言う)virtualだけど
C#はそれとは間逆なんだよな。少なくとも継承とポリモーフィズムをキモとする
古典的なオブジェクト指向とは間逆を行ってる。あれは何でなんだろう。
0157デフォルトの名無しさん2005/05/21(土) 02:56:09
継承が万能でないとわかったからだろ
0158デフォルトの名無しさん2005/05/21(土) 03:13:19
確かに現在は継承よりobject compositionの方が重視されているとは思うけど
親と子の両方で指定しないとオーバーライドできないってのは
やり過ぎっつーか不便な気がする
0159デフォルトの名無しさん2005/05/21(土) 03:22:27
おかしな話だがC++の方が言語として遥か先を行っている
自由があればあとは賢い奴がなんとかするってわけ
0160デフォルトの名無しさん2005/05/21(土) 08:46:15
>>112
> なぜC++じゃいけないのか?
>
> コンパイラが標準Javaコンパイラよりも劣っているから。
> エラー例外チェックが甘いから。
> 堅牢性が低いから。
> JavaコンパイラライクなC++コンパイラが普及しておらず
> 規格が乱立しているから
>
>
>

ほかに存在する理由は、
演算子オーバーロードをルールを守って使う香具師が少ない。
一般的でない変なC++コンパイラを好んで使う香具師が多すぎる。
古い仕様のC++コードが乱立・混在しており、初心者はとっつきにくい。
- 初心者はどの仕様、どのコンパイラを選ぶのかとまどう、路頭に迷う。
- MFC? Managed C++? GNU C++ ? ANSI非対応? なんだそりゃ? どれをえらべばよいのだ? と。
上記のような混乱が原因でC++の人気はJavaに吸い取られてしまったのではないかと推測。
0161デフォルトの名無しさん2005/05/21(土) 08:46:30
>>116
> >自分で制約を課さないと、すぐに破綻する。
>
> soreda!
> それができない香具師はjava飴でも舐めてろと。

一人で開発するときにはC++でやってもいいが
多人数大規模開発、既存の開発を引き継ぐ、
オープンソース開発をするとなると
あるていどの制約は必要だ。
自分勝手な制約ではなくルールで定められた制約が必要だ。

多人数大規模開発で各々が制約を守るには
言語仕様に制約を盛り込んだほうだ非常に効率がよい。
コンパイラが厳しくチェックしてくれる。
0162デフォルトの名無しさん2005/05/21(土) 08:47:55
>>142
> C + template + 型チェック強化 な言語がほしい。
> GCはいらん(組み込みに向かなくなる)
とりあえずC#だな。
GCつきだったらD言語、Java5
だったのだが。
0163デフォルトの名無しさん2005/05/21(土) 08:55:59
>>147
> JAVAの圧倒的物量のライブラリをもってしてもC++は駆逐できなかった。
> 真理は別の所にある

C++は今あまり普及していないのはC言語のせいだろう。
C言語がC++普及の足手まといになってしまい、
Javaにオブジェクト指向言語人気度トップの座を奪われてしまった。

Cの足かせによって初心者は困惑し、どれから勉強していけばよいのか、
どれをつかえあ将来困らないのか困惑してきた。

むかし、インターネットが徐々に知られるようになってきたとき、
まだYahooなんて検索エンジンも知られていなかったとき、
栗フォードストールが「インターネットは空っぽの洞窟」
という本を出した。C/C++を勉強しようとする者たちは
まさにこの、「空っぽの洞窟」に迷い込んでしまったのだ。

Yahooという検索エンジンの存在もしらずに、これさえ知っていれば
インターネットが空っぽの洞窟ではなく便利なものだとすぐに気づいていただろうに。
C++の人気が低下した原因はYahooのような窓口ツールが知られていないことだと思うのだ。
Java側Sunはそれを問題視し、窓口を言語の中に盛り込み、標準化しなかった。
今ではJava Community Process に委託されているが乱立は置きにくくなっている。


0164デフォルトの名無しさん2005/05/21(土) 08:57:19
>>156
過去の名残
0165デフォルトの名無しさん2005/05/21(土) 08:57:22
>>148
以前そう思っていたこともあったが、今はむしろ分からない方が馬鹿だと思った、
無節操に組めば分からなくなるのは、別にtemplateに限らずclassだけを使っても同じこと
templateを使った定型的な書き方はもうboost等でほぼ完成に近い状態になりつつある。
もう読めないほうがおかしいね
0166デフォルトの名無しさん2005/05/21(土) 09:11:39
Javaはプログラミング言語業界に矯正治療補正効果をもたらしたのではないか。

Javaが登場して以来数々のプログラミング言語に変化が起き
Javaの影響を受けた言語が登場した。

Java以後の大抵の言語やAPIはJavaの思想の影響をうけて作られている。
Javaが他の言語に矯正治療補正効果をもたらしたのはこのためではないかと考えられる。

C#, DはJavaによく似ている。Perl, PHPもバージョンアップするにつれて
Javaのような言語になってきた。
BoostもJavaのようなAPIを持っている。

Javaが言語業界に共通規格をもたらしたと。
0167デフォルトの名無しさん2005/05/21(土) 09:38:02
perl 5ってリリースはいつだったっけ?
0168デフォルトの名無しさん2005/05/21(土) 09:41:56
影響を与えたというのは別にいいけど治療とか補正とか言うのは疑問。
矯正というのは良くも悪くもということでなら同感。
0169デフォルトの名無しさん2005/05/21(土) 09:48:22
実際の話、さながら前衛芸術のようなコード書く奴は
JavaにおいてもC#においてもちゃんといるんで、
C++ばかりが「馬鹿に扱えなくて集団作業に向かない」的な
言い方をされるのはアンフェア。
0170デフォルトの名無しさん2005/05/21(土) 10:15:12
前衛芸術的なコードが新しい技法の原動力となることを示したのは Modern C++を見てのとおり。
テンプレートブラックマジックは誰にも分からない魔法であったけれども、今となっては単なる一知識となっている訳で……
そして一知識になってしまえば、誰にでも使える、魔法ではなく単なる技術であり只の知識に過ぎなくなる。
前衛的だから駄目というのもちょっと考え物のような気がする、それは技術の進化を否定する物だ。
0171デフォルトの名無しさん2005/05/21(土) 10:48:25
テンプレートコードが読みにくいなんていうやつって結局勉強不足なんだよね
0172デフォルトの名無しさん2005/05/21(土) 11:06:58
一昔前のコードは本当にキツイぞ > template
0173デフォルトの名無しさん2005/05/21(土) 11:22:00
>>171
しなくても良い勉強に時間をかけるのは勉強不足ではなくて単なる時間の無駄。

他の言語では標準で備わっていたり、簡単にかけたりすることが
C++だとかなりトリッキーな技法を理解していないとかけない。
さんざん勉強した挙げ句、実現できるものって「他の言語では
普通にできていること」だなんて、哀しくないのかね?
C++が他の言語より作業効率を高くしている例ってあるか?

C++なんて諸般の理由(主に過去とのしがらみ)で他の言語に移行できないやつが、
他の言語の機能をうらやましく思って仕方なく悪あがきしてるだけじゃん。
0174デフォルトの名無しさん2005/05/21(土) 11:31:48
C++が普及してないなんて堂々と言い切ってる人いるが、
殆どの売り物アプリケーションはC++でないの?
某所にも書かれてたがC++は糞だなんていってそういった
現実から目をそむけているからそういったソフトウェア分野
でアメに勝てないんでないの?
0175デフォルトの名無しさん2005/05/21(土) 11:36:26
>>173
キミについて言えば多分勉強不足(藁
0176デフォルトの名無しさん2005/05/21(土) 11:39:51
ふと思ったんだがC++の吉野家コピペみたいな
0177デフォルトの名無しさん2005/05/21(土) 11:43:29
>170
あえて混沌を残すことで前衛芸術的なコードを生み出す余地を残した
という意味ではC++はすばらしいと思う。逆に混沌を規制するすべがない
のがすばらしくないと思う。
0178デフォルトの名無しさん2005/05/21(土) 11:43:56
>>173
>他の言語の機能をうらやましく思って仕方なく悪あがきしてるだけじゃん。
たとえばさ、新しい言語で新しい事ができたとき、それを取り込める言語はどれだけある、
さらに実用的な言語でそれを可能にしている言語はどれだけある?
私はC++以外にそのような言語は知らないね。
0179デフォルトの名無しさん2005/05/21(土) 11:50:48
>>178
抽象的なことを言っていて何が言いたいのかのさっぱり分からん。
「新しいこと」って具体的になんだよ。
言語はどれだけある?って質問されても、新しいことが
なんなのか定義されて無い以上答えようが無い。
C++以外ではなぜ不可能か理由を言ってみな。
0180デフォルトの名無しさん2005/05/21(土) 11:52:52
新しいこと=リフレクション。
未だにC++に取り込まれていない。
0181デフォルトの名無しさん2005/05/21(土) 11:53:17
>>179
メタプログラミングができないから、もちろんLisp系の言語にはできる物もあるだろうが
実用的ではないな、ていうかおまえ非常に勉強不足。
0182デフォルトの名無しさん2005/05/21(土) 11:55:59
>>180
同義な事はできるよ、これはテンプレートというよりもローレベルを取り扱えるC言語からの特性
これにテンプレートを組み合わせればよい
0183デフォルトの名無しさん2005/05/21(土) 11:57:47
>>181
質問に答えてください。
0184デフォルトの名無しさん2005/05/21(土) 11:59:38
>>183 基本過ぎて馬鹿すぎるから答えない(藁
0185デフォルトの名無しさん2005/05/21(土) 11:59:56
>>184
質問に答えられない物とみなします。
0186デフォルトの名無しさん2005/05/21(土) 12:02:03
Boostには確かメタプログラミングのためのライブラリもあったような・・・
0187デフォルトの名無しさん2005/05/21(土) 12:02:37
>>182
それを言い出したら、他の言語だって、
いろいろ組み合わせて作れば何でもできるわけだが。

C++は昔テンプレートは無くて後から追加されたの知っているよね?
どんな言語でも後から機能を追加できる。
JavaやC#にもテンプレートは追加される。

つまり、どんな言語でも新しいことを取り込むことは可能。
0188デフォルトの名無しさん2005/05/21(土) 12:05:24
>>187
少なくともじゃばのジェネリックスを使っては不可能、これあたり前
0189デフォルトの名無しさん2005/05/21(土) 12:07:02
>>188
理由書いてないね。当たり前という言葉で誤魔化しているよね?
0190デフォルトの名無しさん2005/05/21(土) 12:08:39
> 少なくともじゃばのジェネリックスを使っては不可能

「なに」が不可能なのでしょうか?

だれも「なに」について話していないのに、
どうして定義されていない物が不可能といえるのですか?
0191デフォルトの名無しさん2005/05/21(土) 12:09:21
>>187
C#は知らんがJavaのGenericsはコレクションを型付けする程度のことしか出来ないぞ
変なことがやりほうだいよりはこのほうがJavaの思想には合致してるからいいんだろうけど
0192デフォルトの名無しさん2005/05/21(土) 12:10:05
>>187
もういいよ馬鹿すぎて話にならんから
0193!=1882005/05/21(土) 12:13:11
>189 190
メタプログラミングがでないの?
つうかJava/C#マンセーなのは構わんが、議論する気なら
少しは敵についても勉強しろよ。それとも単に煽りか釣?
0194デフォルトの名無しさん2005/05/21(土) 12:15:14
少しぐらい検索してから言えという話。

http://java-house.jp/ml/archive/j-h-b/019719.html

(*1) メタプログラミング (meta programming)

 オブジェクトの構成を使用したプログラミング手法。
 Javaではjava.lang.Classやjava.lang.reflect.*がメタプログラミングのた
めの機能を提供している。
0195デフォルトの名無しさん2005/05/21(土) 12:17:02
stlやboost並の利便は、他言語のライブラリではまだ提供できてないのだが。
C#にGenericsがついたら、もしかするとC++から乗り換える人が出てくるかもしれない。




0196デフォルトの名無しさん2005/05/21(土) 12:17:07
仮想敵とか作る段階でもうすでに何かオカシイんだよ
だから厨房と呼ばれるんだよ

言語に注目するな、技術・考え方だけに注目しろ
0197デフォルトの名無しさん2005/05/21(土) 12:17:57
そもそもC++にメタプログラミングは
あとから追加された物。

今出来ないというのなら、C++と同じように
あとから追加すればいいだけの話。

たとえばJavaにアスペクト指向を追加することが可能なのは
AspectJ で証明済み。
0198デフォルトの名無しさん2005/05/21(土) 12:21:47
Java用のプリプロセッサもある。以上。
0199デフォルトの名無しさん2005/05/21(土) 12:24:16
Javaや,NETの場合はバイトコードやILにさえ変換できればどんな言語だって作れるぞ
0200デフォルトの名無しさん2005/05/21(土) 12:26:05
BoostはともかくSTL程度の機能なら普通の言語なら備えてると思われ
0201デフォルトの名無しさん2005/05/21(土) 12:26:37
C++の場合はアッセンブラにさえ変換d(ry
0202デフォルトの名無しさん2005/05/21(土) 12:27:50
>>200
意外とないよ、あれはあれで結構こってるから、ふぁんくた周りとか
0203デフォルトの名無しさん2005/05/21(土) 12:29:36
>>200
そうか?。各種コンテナとアルゴリズムを直行的に表現したライブラリで、しかも
ちゃんと型付けがあって、キャストの山にならなず、速度的な低下もないライブラリ
といったら、STLが最初だ。そのような特徴を持つライブラリは他言語ではまだ出来
ていないはず。
0204デフォルトの名無しさん2005/05/21(土) 12:33:31
関数型言語系ならありそう(できそう)
まあ、最もC++の場合は手続き型な処理と組み合わせられる所が
すばらしいわけだが
0205デフォルトの名無しさん2005/05/21(土) 12:38:07
C++厨ってやたらと技術主義だよね。
一体それがなにに役に立つのかという話。

テンプレート使ってリフレクションやガベージコレクション
実装できた! テンプレートすごーい!
とかいうけど、そんな当たり前の物実装して
面倒な構文で手間と時間かけて書いてないで、
サポートされている言語でシンプルにさっさと仕事しろと。

はっきり言ってクラスライブラリや外部ツールで十分だろ。
クラスライブラリでは実現不可能な
実用的な応用例あげられるか?
無いだろ。そういうことだ。
0206デフォルトの名無しさん2005/05/21(土) 12:42:35
>>205
つまらないことを言うやつだな
プログラマなら技術至上主義でありたいね
0207デフォルトの名無しさん2005/05/21(土) 12:45:13
まあさあ、どの時代にも最終的な生産物をいかに効率よく作るかってことより、
道具とか材料に固執するアナクロってのはいるわけで。

既存の高性能のオペアンプ使わずにトランジスタでごりごりアンプ回路を
設計できる俺はスゴイってそんなの単に時間のムダだろって話だよな。
もちろん趣味の世界ならそれで別にいいんだけどさ。
0208デフォルトの名無しさん2005/05/21(土) 12:47:41
>>205
かゆいところに手が届くライブラリを使うと、ソースコードは短くなるし、
論理構造もわかりやすくなると思うけどな。

STL/Boostを使用sる宇土、ループで何行〜何十行かで回していたり、サブルーチン
や関数ポインタを使って対応していたのが1行になったりする。そこが良いところなん
だけど、1行に含まれる情報量が大幅に増大するので、一行あたりではわかりに
くくなるのが欠点だな。


0209デフォルトの名無しさん2005/05/21(土) 12:49:31
>>207
その高性能のオペアンプがSTL/Boostなんだけどね。
C++でSTL/Boostを使わないで、自作の関数・ライブラリですませようと
するのが、トランジスタごりごりアンプに相当すると思う。
0210デフォルトの名無しさん2005/05/21(土) 12:49:51
C++のテンプレート最高とか言ってる奴は、一度は関数型言語の
型推論+多相型の仕組みに触れてみたほうがいいと思う。
0211デフォルトの名無しさん2005/05/21(土) 12:52:52
どの言語も知ってるにこしたことはないね
0212デフォルトの名無しさん2005/05/21(土) 12:53:00
>>210
windows上で実用となるプログラムを作る以上、「関数型言語」といわれる言語は現状
では選択肢にならない。普通に使う言語として便利な機能があればいい。
それが、C++でいえば、STL/Boostで、本当に便利だから今のところ他に乗り換えられない。

C#のgenericsに少し期待しているけどね。期待通りならC#に乗り換えてみる。
0213デフォルトの名無しさん2005/05/21(土) 12:53:58
つかCpp以外で書いてみりゃいいんだよな。
javaにしろ、C#にしろ、多分、何を書いても、C++の半分くらいで打ちあがるんじゃねえか?
0214デフォルトの名無しさん2005/05/21(土) 12:54:23
私の言語履歴。
 
  C → Delphi → C++(C++ builder,VC++) → C# → C++(VC++)

0215デフォルトの名無しさん2005/05/21(土) 12:56:53
C++からC#来たやつってみんなC++に戻ってくよね
02162102005/05/21(土) 12:58:45
>>212
いや実用がどうこうじゃなくて、教養として触れてみると学べる
ことが多いんじゃないかなと思って言った。
boostやSTLといったライブラリの理解も深まると思うし。
02172122005/05/21(土) 13:04:49
>>216
了解っす。
0218デフォルトの名無しさん2005/05/21(土) 13:33:14
MFCを使えるようにするためにこれからC++を学習しようと思ってるんだが。
Javaは、いかにも、現在の技術動向に流されて追従しようとするその他大勢の人間、
という印象がするから、という理由で、あえて学習の対象外にしようと思ってるんだが。

どうかいな、その考えは愚かかいな。
02192122005/05/21(土) 13:41:07
C++使いだけど、C言語使いでもない限りC++に行く必要はないと思う。
C/C++は基本的にポインタ操作マニアのための言語のようなものだから。
CやC++はメジャーな言語ということになっているけど、マニアックだよ。
素直にJava/C#から始めれば良いと思う。皆がJavaやC#から始めたら、
C++は先細りになってしまうけど、仕方ない。
C++はBoostを含めて、高級アセンブラの延長線上にあるから・・。


0220デフォルトの名無しさん2005/05/21(土) 14:52:02
うざいな言語叩いているやつ。ばかだろ?
使えない奴に限って、あーだこーだうるさいのはこの業界の特性だね。
しかも血液型はA型なんだよな大抵。
COBOLであれ.NETであれ、「与えられた環境の中」で、考え得る最良の結果を出すためのものが技術だろ。
0221デフォルトの名無しさん2005/05/21(土) 14:56:36
C++は 閉じた世界 情報がない だから流行らない それだけだ
0222デフォルトの名無しさん2005/05/21(土) 16:01:33
意味不明です。もうちょっと具体的に。
0223GreatFixer ◆ASWqyCy.nQ 2005/05/21(土) 16:34:32
Re:>>221 私はC言語のプログラミングができるから、C++(の一部)もできる。C++はまだ終わってはいないよ。

というか、C++でできてCではできないこととは何だろう?
オブジェクト指向プログラミングとかテンプレートとか?
0224デフォルトの名無しさん2005/05/21(土) 16:40:07
そうか俺たちにはOBJECTCがあったんだ
0225デフォルトの名無しさん2005/05/21(土) 19:35:13

>>165
templateは使い方を誤ると汚くなり読みにくくなる。
Java Generics のような使い方をすれば効率は良いが。
0226デフォルトの名無しさん2005/05/21(土) 19:36:25
>>167
Perl6はかなりJavaの影響を受けていると思うが
0227デフォルトの名無しさん2005/05/21(土) 19:42:14
>>174
> C++が普及してないなんて堂々と言い切ってる人いるが、
> 殆どの売り物アプリケーションはC++でないの?

その発言には詭弁じみたものが含まれている。

売り物の販売個数だけで考えればそう見えるが
種類分け、分類をしっかりとすればC++の普及率の現状は定かではない。

中には個人用の売り物としてではなく、企業顧客向けの売り物として
サービスとしてWeb上で提供されているものもある。
最近のプログラマの仕事の大半はWeb系でそのサービスを構築するものばかりだ。
スタンドアロンアプリの仕事は実に少ない。
Web系でC++が使われるケースはまずない。
大抵使われるのははPerl, PHP, Javaくらいだ。

同じソフトを何度もコピーして、ちょっとだけ修正してマイナーバージョンアップ
しただけで売りさばけるものだ。
売り物だけで言語の普及率を考えるのは浅はかだ。
Cの普及率は膨大なものだが昨今のC++の普及率は怪しい。
0228デフォルトの名無しさん2005/05/21(土) 19:43:11
>>177
> >170
> あえて混沌を残すことで前衛芸術的なコードを生み出す余地を残した
> という意味ではC++はすばらしいと思う。逆に混沌を規制するすべがない
> のがすばらしくないと思う。


あえて、というよりも自然な前進だろう。
0229デフォルトの名無しさん2005/05/21(土) 19:48:09
>>182
> >>180
> 同義な事はできるよ、これはテンプレートというよりもローレベルを取り扱えるC言語からの特性
> これにテンプレートを組み合わせればよい

たとえそれがC++でできたとしても
他の言語とくらべどれだけの少ないコストでそれを実現できるか?
また、それを実現するのにいかなる副作用が発生するか?
どのようなリスクを背負うか?
今まで通りの使い方で通用するか?
それとも、今まで通りのやり方をすて、互換性を犠牲にして捨てなければならないか?
既存のコードに悪影響を与える羽目になるか?

このように後付するように他の言語をC++で真似すると
といった問題が付きまとう危険性も潜んでいる。

個人で小規模開発するには問題は少ないかも知れないが、
多人数で大規模開発するには大きな問題を背負う可能性がある。

0230デフォルトの名無しさん2005/05/21(土) 19:51:17
もういいからC++は捨てろ
0231デフォルトの名無しさん2005/05/21(土) 19:57:54
>>218
> MFCを使えるようにするためにこれからC++を学習しようと思ってるんだが。
> Javaは、いかにも、現在の技術動向に流されて追従しようとするその他大勢の人間、

現在の技術動向とは一体どういうものかいな?
サービス指向アーキテクチャ?
Spring Framework? Dependency Injection?
テスティングフレームワーク? テストの自動化? テスト駆動開発?
アジャイル開発?

それが流されやすいものかな? これらの技術を習得しようとするものは以外に少ないぞ。
なぜなら、覚えるのが面倒くさい、時間が無い、いまさらその技術を導入していては
何か支障をきたすのではないか、と危惧してStrutsなどを使わず
未だに Tomcat で Servlet + JSPのみで開発しているところが多いのが実情だ。


> という印象がするから、という理由で、あえて学習の対象外にしようと思ってるんだが。
>
> どうかいな、その考えは愚かかいな。

Javaをあえて学習の対象外にするのは愚かだとは思わないが
そこでJavaの代わりにMFCを学ぶのは愚かというより勿体ないことだと思うぞ。
.Net framework, WinFXやSTLの学習をしたほうがましかと。
0232デフォルトの名無しさん2005/05/21(土) 19:59:40
>>Spring Framework? Dependency Injection?
この二つを並列してあげるのはどうだろう・・・
0233デフォルトの名無しさん2005/05/21(土) 19:59:46
>>220
血ヲタがプログラマなんてやってるのか。
血液型性格診断なんて宗教じみた迷信を信じて血液型が無いと
人を判断できないなんて技術者として最低だな。

0234デフォルトの名無しさん2005/05/21(土) 20:01:07
>>232
あくまでキーワードとしてならべるには問題ない
0235デフォルトの名無しさん2005/05/21(土) 21:16:45
>>233
いえ、>>220はこの国にA型が多いと言っているだけですw
0236デフォルトの名無しさん2005/05/21(土) 21:31:57
血液型が大抵A型だと何だ?
0237デフォルトの名無しさん2005/05/21(土) 21:32:58
たぶんそういう人の40%くらいがA型なのでしょう
0238最凶VB厨房2005/05/21(土) 21:41:53
>>237
おもしろい言い方だ。
0239デフォルトの名無しさん2005/05/21(土) 22:29:40
C++でよほどいやな事があったような人がいますね、反撃が鬼気迫ってますよぉ(^^;
0240デフォルトの名無しさん2005/05/21(土) 23:03:31
C++よりも高速なバイナリを生成することは
C#やJAVAでは絶対無理
0241デフォルトの名無しさん2005/05/21(土) 23:05:09
絶対ではないと思う。現状ではというだけで。
0242デフォルトの名無しさん2005/05/21(土) 23:05:57
友人の山田くんΣΣ(゚ρ゚ )
0243デフォルトの名無しさん2005/05/21(土) 23:06:24
>>239
C言語すら認めない人もいますからね、なんなんだろうね
0244デフォルトの名無しさん2005/05/21(土) 23:08:46
おれC言語なかったらこの業界いなかったよ
それぐらい重要
0245デフォルトの名無しさん2005/05/21(土) 23:09:16
ちなみにC++はどっちでもいいや
作ってて楽しいのはCだから
0246デフォルトの名無しさん2005/05/21(土) 23:13:33
メールを使うだけでお金が貯まる!
http://osaifu.com/?mitan69
0247デフォルトの名無しさん2005/05/21(土) 23:21:17
>>240
そうともいいきれないよ。

http://www.shudo.net/jit/perf/
の SciMark2.0、部分的に FFT やらモンテカルロ見れば
C++ が Java に負けてたりするからね。
C# も 2.0 になれば速度あげてくるだろうし。
0248デフォルトの名無しさん2005/05/21(土) 23:27:08
>>247
それね、普通に書いて普通にチューンしただけでJavaが負ける
単純に比較の仕方が変
0249デフォルトの名無しさん2005/05/22(日) 00:05:41
絶対無理って…
0250デフォルトの名無しさん2005/05/22(日) 00:14:33
>>231
・・・WinFXってまだ実働していないんじゃなっけ?
0251デフォルトの名無しさん2005/05/22(日) 00:25:04
C++が嫌いなやつは、Windowsを使うのをやめろ(^∀^)
0252デフォルトの名無しさん2005/05/22(日) 00:57:36
C++ が嫌いなやつは、C++ で作られた java VM を使うのをやめろ(^∀^)
0253デフォルトの名無しさん2005/05/22(日) 01:01:56
マシン語知らないやつはパソコン使うなといわんばかりだな
0254デフォルトの名無しさん2005/05/22(日) 01:01:57
>>248
そーゆー事はベンチマーク作ってる連中に言えば?
0255デフォルトの名無しさん2005/05/22(日) 01:08:22
>>251-252
小学生みたいな屁理屈だな。
C++使ってる奴ってこーゆー奴が多いのの?
0256デフォルトの名無しさん2005/05/22(日) 01:09:35
のの?
0257デフォルトの名無しさん2005/05/22(日) 01:10:12
てめえら酔ってんじゃねえのか
0258デフォルトの名無しさん2005/05/22(日) 01:12:03
「先祖を把握してないお前らは人間辞めろw」
な理論だな
0259デフォルトの名無しさん2005/05/22(日) 01:16:36
おれひいじいちゃんの世代ってぜんぜんしらないな
名前も知らないや
0260デフォルトの名無しさん2005/05/22(日) 01:18:12
>>261の先祖はスゴイ人です!!!
0261デフォルトの名無しさん2005/05/22(日) 01:27:15
>>247
なんか素人臭が香ばしい。
インタープリタ型とコンパイラ型の違い判ってる?
知っているとしたら、どうしてFFTの性能ではVMが上とか言ってんの?
FFTの性能だって実装次第。
0262デフォルトの名無しさん2005/05/22(日) 01:30:19
「ちゃん」とC++で使えるプログラマ集めてきたら使ってるよ。
0263デフォルトの名無しさん2005/05/22(日) 01:31:12
なんか誰もVMが上とか言ってない気がするんだが気のせいか?

ベンチの対象はもちろん全部JITでしょ。つかJITじゃないC#の実装なんて
存在しないよね。
0264デフォルトの名無しさん2005/05/22(日) 01:33:05
今時のC++屋ってModern C++ Designぐらいはデフォなんかなあ。敷居高いよなあ。
そういう奴って連れてこようとしても高いよなあ。
三流腐れ業務システム屋の俺には無縁だわ。
0265デフォルトの名無しさん2005/05/22(日) 01:36:39
>>261
> インタープリタ型とコンパイラ型の違い判ってる?
JIT すら知らん奴がいるのか?

>>263
Mono にはインタプリタモードあったような。
デバッグとかベンチマーク以外では使う事は滅多に無いと思うが。
0266デフォルトの名無しさん2005/05/22(日) 01:40:13
>>264
俺はExceptionalデフォなところで働きたい・・・。
周りがレベル低すぎて嫌だ・・・。
0267* 2005/05/22(日) 01:40:31
とりあえずC++はおバカな人たちには使って欲しくないね…

基地外に刃物を持たすようなものだ。
0268デフォルトの名無しさん2005/05/22(日) 01:41:35
>>267
はげどー。特に >>261 とか。
0269デフォルトの名無しさん2005/05/22(日) 01:42:06
インタープリタ型とコンパイラ型の違いがわかってないやつハケーン >>265
0270デフォルトの名無しさん2005/05/22(日) 01:42:20
>>267
その前にコンパイル通すまでの道のりが長いから大丈夫
0271デフォルトの名無しさん2005/05/22(日) 01:42:20
>>266
そういう時は全員に「お前らレベル低すぎ」っていうメールを出せ
0272デフォルトの名無しさん2005/05/22(日) 01:42:52
>>269
ハァ?
0273デフォルトの名無しさん2005/05/22(日) 01:42:57
>>266
そういうトコでC++使うのって言語の選択としてどうよ
つか間違ってない?

アタマのいい奴がフレームワーク作ってチームにバカチョンコーディング
させようと思ってもC++ではつらいものがあるでしょ
0274デフォルトの名無しさん2005/05/22(日) 01:43:22
>>264
Stroustrup本やC++ Primerの分厚さはキチガイの域だよな
0275デフォルトの名無しさん2005/05/22(日) 01:48:24
>>274
新しい版はそうやね
俺はStroustrup本は第二版しか読んだことないや
今D&E読んでる

でもC++、仕事ではあまり役に立つ機会がないなあ
0276デフォルトの名無しさん2005/05/22(日) 01:48:33
>>274
別に。普通の厚さ。
0277デフォルトの名無しさん2005/05/22(日) 01:49:31
JVMはそんな単純なインタプリタじゃないよ
0278デフォルトの名無しさん2005/05/22(日) 01:50:07
>>272
「ハァ?」でごまかそうとしてもムダですよ。
0279デフォルトの名無しさん2005/05/22(日) 01:51:07
つかVMとインタプリタをいっしょにしちゃだめだろ

そういえば、むかしけっこうあったような気がするP-Codeってどうよ
あれはインタプリタになるのかな
0280デフォルトの名無しさん2005/05/22(日) 01:52:07
結果としてJITのほうが速くなる処理もあることは事実だし
0281デフォルトの名無しさん2005/05/22(日) 01:52:10
つ[バイトコードインタープリタ]
0282デフォルトの名無しさん2005/05/22(日) 01:52:11
P-code ってVB だっけか?
0283デフォルトの名無しさん2005/05/22(日) 01:52:39
つ[Pascal]
0284デフォルトの名無しさん2005/05/22(日) 01:53:05
昔のPascalのでしょ?
0285デフォルトの名無しさん2005/05/22(日) 01:53:08
中間言語+VM=インタプリタ
0286デフォルトの名無しさん2005/05/22(日) 01:53:49
インタプリタでもメモリ内で擬似的に「コンパイル」してから実行する
実装は多いんじゃないの。perlとか
0287デフォルトの名無しさん2005/05/22(日) 01:54:18
>>273
うちは本来C++はやらない(出来ない)らしいのだが、今回はお客さんの指定なので・・・。

しかし本当の「凄腕」に出会ったときの興奮はJavaの比較にはならないだろうなぁ。
一緒に仕事したいなぁ・・・。
そんなエキサイティングな日々を夢見て俺は今日もC++を使い続けるのさ。
0288デフォルトの名無しさん2005/05/22(日) 01:54:23
>>280
どういう理屈で?
0289デフォルトの名無しさん2005/05/22(日) 01:54:36
>>282
たしかにVB4以前もP-codeって用語使われてたね
0290デフォルトの名無しさん2005/05/22(日) 01:55:12
perl って昔は構文木のまんまで実行してなかったっけ?
0291デフォルトの名無しさん2005/05/22(日) 01:55:51
>>288
実行環境に合わせた動的な最適化が出来るから、じゃないかなぁ。
つっても、Javaの遅さはそんな数値計算とかの問題じゃないだろう。
0292デフォルトの名無しさん2005/05/22(日) 01:55:57
JITは完全に機械語に翻訳されてから実行されるから
インタプリタじゃないんじゃないの?
0293デフォルトの名無しさん2005/05/22(日) 01:57:28
>>292
いやだから誰もそんなことは言ってない
0294デフォルトの名無しさん2005/05/22(日) 01:57:46
インタプリタの場合、最適化の技法として中間言語(Pascalならpcode)へプリコンパイルしたりする。
だからといって、それを「コンパイラ型」とはいわない。
0295デフォルトの名無しさん2005/05/22(日) 01:58:20
お前らそういう話好きだな
おれはまったく興味ない
読めばわかる答えをなぜ議論するのか
比較とかって意味ないし・・・
0296デフォルトの名無しさん2005/05/22(日) 02:00:11
>>292
あなたの「機械語」の定義は?
0297デフォルトの名無しさん2005/05/22(日) 02:01:10
マシン語
0298デフォルトの名無しさん2005/05/22(日) 02:02:05
>>297
10001010011111010101010110001111
00100100011101010110101110101001
0299デフォルトの名無しさん2005/05/22(日) 02:02:32
インタープリタ型
0300デフォルトの名無しさん2005/05/22(日) 02:03:14
バイトコードとは違う
0301デフォルトの名無しさん2005/05/22(日) 02:04:26
82 CA 82 E9 82 DB 0D 0A 92 40 82 A9 82 EA 82 C8 82 A9 82 C1 82 BD 82 E7 0D 0A 89 B4 82 CD 8E 86
0302デフォルトの名無しさん2005/05/22(日) 02:04:36
なんか一人変なのが混じってる
0303デフォルトの名無しさん2005/05/22(日) 02:05:22
>>291
ひょっとして例えばフーリエ変換をやってくれるDSPをサポートしている
VM上ではFFTが速いとかそういうことをいっているんですか?
だとしたら、かなり特殊な状況下での比較で、
「C++よりVMの方が速いときがある」と一般化して語るのはおかしいと思われますが。

0304デフォルトの名無しさん2005/05/22(日) 02:06:16
だれか早くあのAA貼れよ 逃げられちゃうぞw
>>301に
0305デフォルトの名無しさん2005/05/22(日) 02:06:22
>>261が「勘違いしてましたごめんなさい」とあやまれば済む話
0306デフォルトの名無しさん2005/05/22(日) 02:07:08
なんか業務系の人と会話していると、アタマが可笑しくなりそうなので退散します。
0307デフォルトの名無しさん2005/05/22(日) 02:07:22
>>287
マズレスすると、転職したほうが早いかもしんない(w

どういう業界かしんないけど、業務システム屋とかは、やっぱレベル低いです。
俺なんかを優秀とか言うな、とか思うこと何度もある。社外の人からも
そういう評価を受けることが多いので、「ああこれはもうそういう業界
なんだな」と思ったよ。
0308デフォルトの名無しさん2005/05/22(日) 02:07:30
あー、やっぱり >>261 とかって分っててやってるんだよねぇ?
03092612005/05/22(日) 02:07:59

82 B2 82 DF 82 F1 82 C8 82 B3 82 A2
0310デフォルトの名無しさん2005/05/22(日) 02:19:08
>>307
そだね。
マ板に行ってレベルの高い業界でも聞こうかな。
でもさ、大体どの会社も品質最優先でレベルの高い仕事をしてるとか言うんだよね。
お前ら基準低すぎるんじゃねぇのと言いたい。
0311デフォルトの名無しさん2005/05/22(日) 02:22:19
確かに基準は低いね
そんなんで誉められても恥ずかしいだけ
IPAの連中に比べたら相当低いと思うけどね俺なんか
0312デフォルトの名無しさん2005/05/22(日) 02:29:26
下には下がいるから気にしない
0313デフォルトの名無しさん2005/05/22(日) 02:31:56
結局C++でもいいことになったの?ならないの?
0314デフォルトの名無しさん2005/05/22(日) 02:32:30
レベルの高い低いってのはプログラミングの能力がってこと?
0315デフォルトの名無しさん2005/05/22(日) 02:33:56
そもそも誰がいけないって言い出したんだ
0316デフォルトの名無しさん2005/05/22(日) 02:36:26
Java厨
0317デフォルトの名無しさん2005/05/22(日) 02:38:15
そういえばこのスレではC屋からの攻撃を見ないな。仮想敵がJavaやC#なのか
今や。
0318デフォルトの名無しさん2005/05/22(日) 02:39:01
>>314
まあ狭義ではそうで、広義では技術力、かなあ
もっと別の能力が業務系では求められる
0319デフォルトの名無しさん2005/05/22(日) 02:41:46
とりあえず、プロであるという自覚を持ってほしい。
0320デフォルトの名無しさん2005/05/22(日) 02:46:28
そういう意味ではサラリーマン的な人、多いよね
職人的、というのとは別の意味でのプロフェッショナリズムなんだけど。
0321デフォルトの名無しさん2005/05/22(日) 04:31:45
コンパイラ型
0322デフォルトの名無しさん2005/05/22(日) 04:33:09
>>320
生きることを優先するとそうなります

趣味を優先とすると職人的傾向が見られます
0323デフォルトの名無しさん2005/05/22(日) 06:11:21
>>303
最近のCPUがそれまでの実行結果に基づいて
分岐予測しながらコードを実行していくのと似た感じで
最近のVMはそれまでの実行結果に基づいて
バイトコードを動的にネイティブコードにコンパイルして実行していくんだよ。

C++の場合はコンパイル時にCPUにあわせた最適化したバイナリを作らないといけないが
Javaの場合はVMが賢ければ同じバイトコードでも
(理論的には)それぞれのCPUに最適化された動作になる。

特にプログラムを動作させる条件(入出力パラメタ、ループ回数など)によっては
インライン展開した方がいい処理、絶対に呼ばれないので削除した方がいい処理なども出てくるが
動的コンパイルの場合はそれを最適化してくれたりする。
0324デフォルトの名無しさん2005/05/22(日) 06:13:31
>>323
( ゚д゚)
そんなの静的コンパイルだって何ら変わりないだろ。
0325デフォルトの名無しさん2005/05/22(日) 06:59:18
OOの凄腕ってgotoの達人と同類なようなキガス
0326デフォルトの名無しさん2005/05/22(日) 07:06:01
>>323
>バイトコードを動的にネイティブコードにコンパイルして実行していくんだよ。

だからさ、コンパイルする時間が馬鹿にならないと思うんだが、どうよ。
場合によっては一番高くつくぞ。
0327デフォルトの名無しさん2005/05/22(日) 07:38:17
コンパイルする時間はカウントしないんだよ馬鹿
0328デフォルトの名無しさん2005/05/22(日) 07:56:56
>>55
こんな阿呆がC++を駄目にする。
0329デフォルトの名無しさん2005/05/22(日) 08:03:10
日本でそれほどC++が流行ってきたとは思わないのだけれど、
なんでC++擁護者はこんなに多いのだろう?
みんなが言ってるC++ってベターCのこと?
0330デフォルトの名無しさん2005/05/22(日) 08:14:08
>>327
は?そしたら何?実行バイナリだけの速度比較?
馬鹿じゃない?
0331デフォルトの名無しさん2005/05/22(日) 08:18:34
釣れました
0332デフォルトの名無しさん2005/05/22(日) 09:14:13
>>325
OOとプログラミング言語の一機能を比較されても…
0333デフォルトの名無しさん2005/05/22(日) 09:54:53
OOとgotoを比較したんじゃないけど・・・
0334デフォルトの名無しさん2005/05/22(日) 10:24:40
>>326
だから結局、JVM の JIT でやってる最適化は実際には C/C++ コンパイラなどに比べると
結構ぬるいことしかやってないと聞いたことがあるけど、最近はどうなんだろ。
0335デフォルトの名無しさん2005/05/22(日) 10:28:43
>>329
C言語由来のマシンに密着したメモリ管理+ポインタ操作+STL+Boost
クラスの概念もそれなりに便利だったりする。
0336デフォルトの名無しさん2005/05/22(日) 10:37:19
C++とJAVAとC#全部使えればそれでいいんじゃない?
0337デフォルトの名無しさん2005/05/22(日) 10:41:05
それができりゃ苦労しないよ
0338デフォルトの名無しさん2005/05/22(日) 11:01:50
C++が判ればほかの二つもすぐに判るようになる。
0339デフォルトの名無しさん2005/05/22(日) 11:09:44
C++の偏執的なまでのタイプセーフに対するこだわりはすごいと思う。
言語に動的な要素があるとバグが見つかりにくいのは事実。
品質を求めるならやっぱC++だよ。
0340デフォルトの名無しさん2005/05/22(日) 11:12:07
> 338
っていうとまた荒れるぞー(w
0341デフォルトの名無しさん2005/05/22(日) 11:21:15
わかるて、文法だけわかっても仕方ないよ・・・
0342デフォルトの名無しさん2005/05/22(日) 12:01:12
>>235
> >>233
> いえ、>>220はこの国にA型が多いと言っているだけですw

残念、この国でA型が多いのは女だけ。
男だけで見れば一番多いのはO型。次にB型。以外にもA型は3番目。
0343デフォルトの名無しさん2005/05/22(日) 12:03:11
>>237
O型だったりしてな。
この業界、男ばかりの世界
男の中で最も多いのはO型だけに
O型にあたる確率は高い
0344デフォルトの名無しさん2005/05/22(日) 12:05:22
>>261
実装するコストがどれくらいかってことも重要。
潜在するバグが潜んでいるかどうかもな。
0345デフォルトの名無しさん2005/05/22(日) 12:05:51
>>337
できるって、文法は一週間、ライブラリや文化については仕事で一年もやっていれば余裕で出来るようになる。
趣味でも二年はかからんよ。
0346デフォルトの名無しさん2005/05/22(日) 12:09:16
>>338
JavaやC#のほうが機能的に劣るので無理。
たとえばJavaでは「リソースの獲得は初期化である」イディオムなんかがぜんぜん使えないから、
JavaでC++並みの信頼性のあるコードを書くのはC++使いにとっては苦痛。
C#にはusingがあるので若干改善されてるけど。
0347デフォルトの名無しさん2005/05/22(日) 12:10:17
>>326
一度コンパイルしたら常駐させればいいんだよ。
今どき、マシンやアプリケーションを何度も再起動
するようなのは時代遅れ。
0348デフォルトの名無しさん2005/05/22(日) 12:12:01
>>329
> 日本でそれほどC++が流行ってきたとは思わないのだけれど、
> なんでC++擁護者はこんなに多いのだろう?
> みんなが言ってるC++ってベターCのこと?

かつて、その昔、C++を信仰した時代があったのだよ。
「C++さえやっていれば最強だ!」
「C++さえやっていれば凄いと思われる!」
「C++さえやっていれば偉いと思われる!」
そういう勘違いが今でも蔓延している結果。
その名残。
0349デフォルトの名無しさん2005/05/22(日) 12:13:58
>>338
> C++が判ればほかの二つもすぐに判るようになる。

かといって、C++がわかったとしても最近Javaで全盛期になっている
テスト自動化、依存性注入絡みのフレームワークといったものは
容易に理解できまいよ。
さらに勉強する必要がある。
0350デフォルトの名無しさん2005/05/22(日) 12:14:36
>JavaやC#のほうが機能的に劣るので無理。
これには反対、残りは認める。
0351デフォルトの名無しさん2005/05/22(日) 12:14:48
>>339
> C++の偏執的なまでのタイプセーフに対するこだわりはすごいと思う。
> 言語に動的な要素があるとバグが見つかりにくいのは事実。
> 品質を求めるならやっぱC++だよ。

JavaとC++とを思いっきり勘違いしていると思うw
0352デフォルトの名無しさん2005/05/22(日) 12:16:14
>>345
> >>337
> できるって、文法は一週間、ライブラリや文化については仕事で一年もやっていれば余裕で出来るようになる。
> 趣味でも二年はかからんよ。

その程度じゃたいしたものも作れなさそうだな。
作れたとしてもバグだらけ。でかいものは無理。
スパゲティコードの山、チーム開発では迷惑。

プログラミングを独習するには10年かかるからな。
0353デフォルトの名無しさん2005/05/22(日) 12:17:10
>>352
お前才能ないな。
0354デフォルトの名無しさん2005/05/22(日) 12:17:20
>>352
十年かかったらさすがに能無しだとおもった
0355デフォルトの名無しさん2005/05/22(日) 12:19:09
>>346
> >>338
> JavaやC#のほうが機能的に劣るので無理。
> たとえばJavaでは「リソースの獲得は初期化である」イディオムなんかがぜんぜん使えないから、
> JavaでC++並みの信頼性のあるコードを書くのはC++使いにとっては苦痛。
> C#にはusingがあるので若干改善されてるけど。

下2行、何か頓珍漢なことを行っていないか?
C++がそんなにJavaよりも信頼性のあるコードを書けるのか。
現状ではそうは思えないな。セキュリティやバグの発生率の上では
C++はJavaに劣る点が多すぎので。

usingを使えば信頼性のあるコードを書ける?
これもイマイチだな。たとえばどんなコードなんだ?

0356デフォルトの名無しさん2005/05/22(日) 12:20:02
「10年かかる」の記事読んでないの?
0357デフォルトの名無しさん2005/05/22(日) 12:21:35
1年じゃたいしたものかけない。
少なくとも2年はかかる。
0358デフォルトの名無しさん2005/05/22(日) 12:21:41
>>353-354
たった一週間でものができるといっても
そのブツはどれだけ質が高いのか?
経験が浅い人間が作ったソフトの品質はどれだけのものか?

大規模開発において、たった一週間程度のド素人と
10年かけて経験を積んだ熟達者とを比べるとすると、
どちらがどれだけ質のよいコードを書けるか?
答えは明らかだろう。

0359デフォルトの名無しさん2005/05/22(日) 12:22:10
>>355
勉強をしなはれ、もしガベージコレクタが使えないと言い張る人なのであれば
同様の信念においてこれも使えないとなるかもしれないが、そいう場合はそういう事という事で。
0360デフォルトの名無しさん2005/05/22(日) 12:25:23
>>357
同意。
しかし10年たったら時代に置いてかれてると思う。
Javaはたしか今年で10周年とかじゃなったか?
0361デフォルトの名無しさん2005/05/22(日) 12:34:21
誰も >>347 に突っ込まないのか?
0362デフォルトの名無しさん2005/05/22(日) 12:43:26
「C++さえやっていれば最強だ!」
「C++さえやっていれば凄いと思われる!」
「C++さえやっていれば偉いと思われる!」

いま、まさにJavaがコレだよね。
Java最強杉www
0363デフォルトの名無しさん2005/05/22(日) 12:52:22
そんな奴いねえって。
C++最強って奴は未だに多いみたいだがw
0364デフォルトの名無しさん2005/05/22(日) 12:53:50
>>360
新しいのを常に吸収しつつ10年かけて
経験を積むってことだよ。

最近では学習効率を高める方法も編み出され
もっと早くはなっていると思うが
高度な技術を身に着け熟練したプロのプログラマになるには
それくらいはかかるもんよ。
0365デフォルトの名無しさん2005/05/22(日) 12:54:40
>>359
> >>355
> 勉強をしなはれ、もしガベージコレクタが使えないと言い張る人なのであれば
> 同様の信念においてこれも使えないとなるかもしれないが、そいう場合はそういう事という事で。
>

勉強をしなはれと人に言う前に
おまいさんこそ日本語をしっかり勉強しなはれ。
0366デフォルトの名無しさん2005/05/22(日) 12:57:20
>>364
そいつは多分10年前にはCかアセンブリで、C++を経由して今Javaをやってるんじゃないだろうか。
それはソフトウェア開発全般にかかる経験や知識の習得に少なからず時間がかかるだけで、
ひとつの言語の習得にそれほどの時間を費やしてるやつはまずいないと思うが。
0367デフォルトの名無しさん2005/05/22(日) 13:07:49
>>364
学習効率を高める方法って昔からあったけど有害で無益な手法だったが
あがるといっても個人差ありすぎて結局数字の遊びだったが、
今そんなに学習効率が上がる手法が存在するのか?
0368デフォルトの名無しさん2005/05/22(日) 13:08:02
RUBYYYYYYYYYYYYYYYYYYYYYYYY!!!!
0369デフォルトの名無しさん2005/05/22(日) 13:20:47
>>357
俺はCの勉強始めて半年でWin用のエロゲー作ったぜ?
それも言語仕様・標準ライブラリという言わば基本の学習からはじめてさっ!
おかげで学校で受けさせられた情報技術検定1級もC言語でただ一人受かっちまった。
この検定のためには全然勉強してなかったんだが^^;

あ、そうそう。途中でC++の勉強なんていう寄り道もしたっけな〜♪
まっ、やっぱセンスと才能次第っすよ♪

じゃっ、俺はこれで。
0370デフォルトの名無しさん2005/05/22(日) 13:22:21
>>369
落ちるやつのレベルが低すぎ
0371デフォルトの名無しさん2005/05/22(日) 13:23:05
>>369
一行ごとにワロス
0372デフォルトの名無しさん2005/05/22(日) 13:23:44
>>369
エロゲうpきぼん
0373デフォルトの名無しさん2005/05/22(日) 13:29:09
Strutsの様なコンフィグ書いて動的にコード実行ってC++で出来んの?
javaやってからextern Cとか馬鹿馬鹿しく感じるようになったんだけど。
03743712005/05/22(日) 13:33:02
> 情報技術検定1級
冷静に考えたらこれって基本情報より下じゃねーかw
普通の人間はこんなマイナー資格知らんぞ。
0375デフォルトの名無しさん2005/05/22(日) 13:33:45
>>369
ちくしょう・・・
0376デフォルトの名無しさん2005/05/22(日) 13:35:29
>>374
そんなことないぞ、言葉の響きは基本より上じゃないか。
なんてったって1級だぞ、それより上無いんだぞ。
0377デフォルトの名無しさん2005/05/22(日) 13:36:05
プだったらソフ会以上がデフォでしょ。
持ってないやつは詐欺。とっとと業界から消えろ!
0378デフォルトの名無しさん2005/05/22(日) 13:38:18
>>369は多分高校生だと思われ
工業高校だとコースによっては受検するらしいから
0379デフォルトの名無しさん2005/05/22(日) 13:40:43
簿記3級しか持ってねーや。
0380デフォルトの名無しさん2005/05/22(日) 13:41:13
おれも学校にいるうちに資格とっておけばよかった
ま、今俺が学生時代に戻っても取ることはないだろうけど
メンドクサ
0381デフォルトの名無しさん2005/05/22(日) 13:42:05
つか今時エロゲなんて、スクリプト打てりゃプログラミングの知識無くても作れるやん。
0382デフォルトの名無しさん2005/05/22(日) 13:43:08
俺の時代の情報技術検定1級はFortranだったよ?
0383デフォルトの名無しさん2005/05/22(日) 13:43:14
HTML製のエロゲもありますよ
0384デフォルトの名無しさん2005/05/22(日) 13:45:49
よく釣れてますね。
0385デフォルトの名無しさん2005/05/22(日) 13:47:14
や〜ふぉ〜 ふぉ〜とらんらんらん♪
0386デフォルトの名無しさん2005/05/22(日) 14:04:43
>>376
特級とか無かったっけ?
ありゃ違う資格か
0387デフォルトの名無しさん2005/05/22(日) 14:45:56
C++するやつは、他の言語使いも多いと思うんだが、
おまいらどうですか?

おいらは、C, Java, PHP, DelphiといじくってるYO!

一生涯一言語主義ほど無駄なことはない。
0388デフォルトの名無しさん2005/05/22(日) 14:53:50
> 一生涯一言語主義ほど無駄なことはない。
さすがにそんなアホな主義持ってる人はいないと思われ
0389デフォルトの名無しさん2005/05/22(日) 15:24:39
「これ一つで何でも出来る」主義の言語は結構あるけどな。
0390デフォルトの名無しさん2005/05/22(日) 15:34:22
>>387
私は一生涯日本語のみで生きて行きまふ
0391デフォルトの名無しさん2005/05/22(日) 16:32:12
ま、現実的にはJava最強なんだけどね。
明らかだから誰も言わないだけ。
0392デフォルトの名無しさん2005/05/22(日) 16:36:38
>>391
あなたが言っているということは
明らかではないわけですね ;-P
0393デフォルトの名無しさん2005/05/22(日) 17:06:40
まぁいいんじゃねぇの、C#も出てきたし、そろそろ過去形だし
0394デフォルトの名無しさん2005/05/22(日) 20:55:41
>>367
> >>364
> 学習効率を高める方法って昔からあったけど有害で無益な手法だったが
> あがるといっても個人差ありすぎて結局数字の遊びだったが、
> 今そんなに学習効率が上がる手法が存在するのか?

昔よりも開発環境がよくなったし
世の中便利になったし
インターネットの影響力は絶大だし
ネット上でも様々なサービスが生まれたし

昔と比べれば大幅に学習効率はよくなっていることは間違いない。
0395デフォルトの名無しさん2005/05/22(日) 20:57:18
>>369
その資格が実業務で役に立つことって稀なんだよね・・・・
Oracleをとったほうがいいんじゃない?
0396デフォルトの名無しさん2005/05/22(日) 21:09:57
>>394
ネットの登場で学習効率は上がったけど学ぶべきことも大幅に増えたような
0397デフォルトの名無しさん2005/05/22(日) 21:17:15
同意
0398デフォルトの名無しさん2005/05/22(日) 21:40:59
>>393
C#のgenericsのできがいいなら、C++はなくなってもいいけど。
現在のC++は欠陥だらけであると同時に、バランスがいいんだよね。

記憶するべき・注意するべき「言語的細部」が多いのだけど、
つぼにはまればいろんな道具がそろっていて使いやすい。
0399デフォルトの名無しさん2005/05/22(日) 21:44:20
C#版STL/Boostが出来れば、C++は消えてもいいかも。

MicrosoftからC#とC++の混合言語(C++/CLI)が発表されるから、
それが解になるかもしれないな。
0400デフォルトの名無しさん2005/05/22(日) 21:45:20
C++って何かやろうとすると
初心者が困惑するのでは?
俺は今でこそc++暦7年だけど
最初の頃はホン杜にこれでよいの
0401デフォルトの名無しさん2005/05/22(日) 21:46:01
>>399
結局そうなるのかよ
C#厨・・・お疲れさん
0402デフォルトの名無しさん2005/05/22(日) 21:46:41
400
0403デフォルトの名無しさん2005/05/22(日) 21:47:35
>>401
399はC++が解になると言ってるが?どこがC#厨なんだ?
0404デフォルトの名無しさん2005/05/22(日) 21:48:44
>>403
結局混合言語が発表されるということは
今までC#やってた人はなんだったんでしょうね・・・お疲れさん
の意味
0405デフォルトの名無しさん2005/05/22(日) 21:52:54
>>398-399
ATL/WTLに慣れてると、多重継承の無い世界では生きていけない・・。

Rubyのmix-inモジュールとか言ったっけ?
なんかそんな感じの制限つきのでいいから多重継承を認めてほすぃ。
(というかC++の多重継承で罠にはまったことが無いので何がいけないのかわからない・・・)
0406デフォルトの名無しさん2005/05/22(日) 21:56:03
多重継承で罠にはまるというのは・・・
C++では継承の仕方に問題があってもコンパイルエラーにならないの?
0407デフォルトの名無しさん2005/05/22(日) 22:00:45
MSがJAVAを嫌わなければ、JAVAで全てが決まりだったのにね
0408デフォルトの名無しさん2005/05/22(日) 22:14:20
SUNが悪い
0409デフォルトの名無しさん2005/05/22(日) 22:15:15
>>407
JavaはintなどのプリミティブがObjectじゃ無い時点で論外だろ
0410デフォルトの名無しさん2005/05/22(日) 22:16:12
>>404
C#はC++/CLIのためのトレーニングだった
0411デフォルトの名無しさん2005/05/22(日) 22:19:18
>>409
Smalltalk厨か?
それだけで終わりだったらC++もC#も終わってるだろ。
0412デフォルトの名無しさん2005/05/22(日) 22:22:16
C#にはboxingがある
0413デフォルトの名無しさん2005/05/22(日) 22:23:21
C++にはvoid*がある
0414デフォルトの名無しさん2005/05/22(日) 22:24:01
つうか、C++/CLIってManagedC++の後継じゃないの?
0415デフォルトの名無しさん2005/05/22(日) 22:24:14
C++/CLIって何?
0416デフォルトの名無しさん2005/05/22(日) 22:28:11
漏れが学生時代の時、うちの大学の教授は、
「言語に優劣を付ける厨房は氏ね。どんな言語でも万能に扱えなきゃプログラマ失格。」
って、言っていたな。
0417デフォルトの名無しさん2005/05/22(日) 22:31:26
”厨房”なんて単語を使う大学の教授って一体どこの
2流大学ですか?
0418デフォルトの名無しさん2005/05/22(日) 22:31:44
素人はとかく筆のせいにしたがる。
弘法は筆を選ばない(ことになっている)
弘法は実はマイ筆を持っていた。

どんな言語も使いこなせて当然だが、その中で自分のスタイルに合った言語というのが出てくるのもこれまた必然。
0419デフォルトの名無しさん2005/05/22(日) 22:39:03
>>417
教授の言葉を2ch風に意訳したに決まっているだろw
と、マジレス。
まあ、実際母校は2流どころか3流以下だろうけどさw
まあ、その教授は富士通で30年ぐらい働いていて、
学生時代を含め30種類以上の言語を扱っていらしく、
「使用する言語なんて時代と共に変わるから、1つの言語しか使えない低脳はやっていけない。」
って言っていたな。
04204192005/05/22(日) 22:40:43
×扱っていらしく
○扱っているらしく

しかも、「まあ」二連発とかやっているしorz
0421デフォルトの名無しさん2005/05/22(日) 22:48:30
>>409
intなんかObjectで持ってたら、それだけでアウトだろ。
Smalltalkみたいに。
0422デフォルトの名無しさん2005/05/22(日) 22:52:32
Smalltalk のは Object に見せかけてるだけでしょ
0423デフォルトの名無しさん2005/05/22(日) 23:01:45
見せかけだけど見せかけで言語が成立してるんだからさ
言語と実装とは分けて考えましょう
0424デフォルトの名無しさん2005/05/22(日) 23:03:04
javaのプリミティブは激しく使いにくい・・・
0425デフォルトの名無しさん2005/05/22(日) 23:04:44
>>416 >>418
そんな精神訓話は大規模開発には適用できまい。
ただの綺麗事に過ぎない。
そもそも筆と言語は異なるわけだが。
現実をよく見よ。
言語のこだわりがなければこんなに言語が乱立することはなかったはずだ。
言語にこだわらないというならアセンブラや機械語だけでC++,Java,C#で作ろうとしているものを
作ってみろ。
玄人だと称して筆にこだわるなら印刷物はすべてプリンタやコピー機を使わずに
すべて筆を使って書いてみろ。

お前らは超高層ビルを建設するのにクレーンも設計図も無しで無計画
に建設する気か? 無謀どころか違法行為、いや殺人行為だ。
無計画な建築が人の命を奪う。

無計画なソフトウェア開発はみずほ銀行のような大失態を繰り返すのだ。
0426デフォルトの名無しさん2005/05/22(日) 23:05:48
>>419
そもそもひとつの言語しか使えない奴はおらん。
んなもんはお前らの妄想だ
0427デフォルトの名無しさん2005/05/22(日) 23:08:28
僕は日本語only
0428デフォルトの名無しさん2005/05/22(日) 23:09:10
いないことはないだろ。
0429デフォルトの名無しさん2005/05/22(日) 23:10:03
覚えたての人は1つだろうね
0430デフォルトの名無しさん2005/05/22(日) 23:11:05
覚えたての奴が社会で通用するわけないだろ。
0431デフォルトの名無しさん2005/05/22(日) 23:24:52
ヒント:通用する奴はプログラマ卒業
0432デフォルトの名無しさん2005/05/22(日) 23:25:40
>>423
実装の話だよ

intなんかObjectで持ってたら、それだけでアウトだろ。
↓
Smalltalk のは Object に見せかけてるだけでしょ
(効率をなるべく犠牲にせずに pure OOPL である事を保ってる)
0433デフォルトの名無しさん2005/05/22(日) 23:30:43
キモイ
0434デフォルトの名無しさん2005/05/23(月) 00:39:38
Smalltalkは書き方がどうも馴染めん。
Java風の文法でPure OOPLはできないのか?
0435デフォルトの名無しさん2005/05/23(月) 00:41:42
Smalltalk、そんなにすばらしいなら、
なぜに全然普及しないの?
0436デフォルトの名無しさん2005/05/23(月) 00:42:51
Pascalがあまり普及しないのと似てるかね
0437デフォルトの名無しさん2005/05/23(月) 00:46:38
すばらしいと思ってるのはオブジェクト指向信者だけだよ
普通のプログラマは言語の思想なんてどうでもよくてそれを使うと便利だから使ってるだけなんだけど
信者はそれを知らないか知らないフリをして思想の信念を押し付けようとするから嫌われる
0438デフォルトの名無しさん2005/05/23(月) 00:49:05
>>435
>>434
0439デフォルトの名無しさん2005/05/23(月) 00:50:54
普通のプログラマーって?
0440デフォルトの名無しさん2005/05/23(月) 00:52:37
ぶっちゃけ普通のプログラマ(最頻値)はSmalltalkなぞ知らん。
0441デフォルトの名無しさん2005/05/23(月) 00:53:47
>>434
>Java風の文法でPure OOPLはできないのか?

どうもああいう人らはJava風というかC言語風の記法を嫌ってる節があるからなぁ
いちおうSmalltalkのオブジェクト指向を取り入れたと宣伝されてるObjective-Cなんてのがあるが
どうなんだろうね。これも普及してるとはいえないが。
0442デフォルトの名無しさん2005/05/23(月) 00:56:18
>>439-440
特定の言語や思想の信者じゃないプログラマというつもりだったが
たしかに不適切かもしれない、それは謝る。
0443デフォルトの名無しさん2005/05/23(月) 00:56:43
Smalltalkしってるのは普通のプログラマじゃないってこと?
0444デフォルトの名無しさん2005/05/23(月) 00:58:37
>>443
オブジェクト指向をまともに勉強したなら普通に知ってると思うが
なんせオブジェクト指向信者御用達の言語だから
0445デフォルトの名無しさん2005/05/23(月) 01:00:04
俺は普通のプログラマだけど
Smalltalkなぞしらんぞ
0446デフォルトの名無しさん2005/05/23(月) 01:01:03
Squakは?
0447デフォルトの名無しさん2005/05/23(月) 01:03:05
Squeak?
0448デフォルトの名無しさん2005/05/23(月) 01:03:52
知らん
0449デフォルトの名無しさん2005/05/23(月) 01:05:20
Squeakはぜひ見ておいたほうがいいぞ。
俺は感動したね。
0450デフォルトの名無しさん2005/05/23(月) 01:07:11
Squeakはとにかく見た目をどうにかしてかつスクリプトで出来る範囲がもっと広がれば
プログラミングが苦手なデザイナさんは喜ぶんじゃないかと思う
0451デフォルトの名無しさん2005/05/23(月) 01:07:31
Analは?
0452デフォルトの名無しさん2005/05/23(月) 01:15:01
>>451
あーあ・・・
0453デフォルトの名無しさん2005/05/23(月) 01:16:13
>>435
動的言語は主流になれないんだよ
Lisp 然り
Obj-C も動的過ぎた

動的言語はどうやっても遅い&危険になるから仕事プログラマから疎まれる
その分、使ってて気持ちいいから趣味グラマからもてはやされる

# 静的言語ならば主流になれると言ってる訳じゃないぞ
0454デフォルトの名無しさん2005/05/23(月) 01:17:27
動的言語って?
0455デフォルトの名無しさん2005/05/23(月) 01:18:53
変数の型とかを実行時に解決するタイプの言語
0456デフォルトの名無しさん2005/05/23(月) 01:19:05
動的型付け言語という意味だと思う
0457デフォルトの名無しさん2005/05/23(月) 01:19:18
ECMAScriptは最近脚光を浴びてるぞ。
0458デフォルトの名無しさん2005/05/23(月) 01:19:23
そういや、Smalltalk では実行時エラーに悩まされたなあ
今ならJavaに近いものがあるが・・・
0459デフォルトの名無しさん2005/05/23(月) 01:20:46
だったら、C/C++のvoid*や多態も動的型づけの一種では?
0460デフォルトの名無しさん2005/05/23(月) 01:22:09
>>457
まぁブラウザで実行するスクリプト言語って事実上ECMAScriptしか選択肢がないから・・・
0461デフォルトの名無しさん2005/05/23(月) 01:23:38
当然ハイブリッドな言語もあるよ
Lisp も型付け可能だし

要はどちら側により近いか
0462デフォルトの名無しさん2005/05/23(月) 01:24:06
>>459
C++の場合テンプレートで多態を無理やり静的に解決するなんて裏技があったりするがw
0463デフォルトの名無しさん2005/05/23(月) 01:46:21
ところで、Boostと同じモノを自作したいんだがどう作るのか教えてくれないか?
0464デフォルトの名無しさん2005/05/23(月) 01:48:10
Boostのソースを見ればいい
0465デフォルトの名無しさん2005/05/23(月) 01:49:39
コピーコマンド一発実行するだけじゃないか
0466デフォルトの名無しさん2005/05/23(月) 01:53:23
そっか、ところでC++を1年も使ってないので勘が戻らないのだがこうゆう
場合どうしてる?今の仕事はまたJavaだしあーあーC++の仕事がしたいよ
0467デフォルトの名無しさん2005/05/23(月) 03:34:24
マイナーな方にシフトしていく人は、メジャーなところで太刀打ちできないからではないか疑惑。
ちょっと触ったSmalltalkやlispでもって、「おれSmalltalk/lisp使いだから」とマイナー言語使いを標榜し、
C++を巧く使えない事をまるで正当かのように語る。
というわけで、どれ一つ習得したといえるMy言語がない。っていう風に勝手に推測しちゃうんですが。


0468デフォルトの名無しさん2005/05/23(月) 03:42:07
何かコンプレックスでもあるの?
0469デフォルトの名無しさん2005/05/23(月) 03:48:59
Smalltalk使いは知らないけど、Lisp使いはオタク系でCやC++を使いこなして
トリッキーなコードを書いたり、自作のLisp処理系をプログラムに取り入れたり
して悦に浸ってるイメージがある。あくまで俺のイメージだけど。
04704672005/05/23(月) 03:56:44
コンプレックスというより正確にはトラウマでしょうか。
過去の同僚にそういう奴がいたので。
某難関理系大学卒で優秀なことは優秀だったんだけど、あまりにプライドが高くて。
メジャー言語界では競争が激しくて目立って1番になれない。
そこでSmalltalkなわけですよ。勝手にそんなもん導入して、
結局、彼のアイデンティティを維持するためのツールでしかなかった。
あまりのプライドの高さがゆえ組織破壊者となりクビになりました。
04714672005/05/23(月) 04:11:37
>>469
自分は学生時代にPascalコンパイラを書きましたが、PascalやLispって処理系に
都合よく設計されてますね。再帰的に投下していくパーサーを書きやすい。
変数のスコープなんかもパーサーの都合でスコープができちゃっているんだけど、
それが逆にコーディングする立場にとって良い効果として顕れている。
そういうのが沢山あって、それがエレガントだなぁと思わせるところなんですけどね。
ヴィルトさんは相当賢い人だろうなと思いました。
0472デフォルトの名無しさん2005/05/23(月) 05:43:52
本物のプログラマーは Pascalを使わない
0473デフォルトの名無しさん2005/05/23(月) 06:10:55
本物のプログラマーは Pascalを使う
0474デフォルトの名無しさん2005/05/23(月) 06:19:05
>>471
だからといって、お前が偉いわけじゃない。お前はカス。
0475デフォルトの名無しさん2005/05/23(月) 08:12:55
何かコンプレックスでもあるの?
0476デフォルトの名無しさん2005/05/23(月) 09:04:06
ゴスリンもRMSもリスパだったな。
だからJAVAやUNIXは糞なのか
0477デフォルトの名無しさん2005/05/23(月) 09:15:28
へ〜UNIXってRMSが作ったのか。知らんかった。
0478デフォルトの名無しさん2005/05/23(月) 09:45:42
>>470
すごい奴だな。
そいつ今どうしてるんだ?
独立しちゃってる?
もっといいところに転職した?
0479デフォルトの名無しさん2005/05/23(月) 09:46:27
余計な機能が多すぎるため
初心者はとつじょ巨大な百科事典数十冊を
渡された気分になる。

それがC++を難しくしている原因だ。

C++が簡単だと言ってる馬鹿は
C++のすべてを理解しているつもりですべてを理解していない馬鹿どもだ。
百科事典も使わずに馬鹿でもわかるC++本をよんだだけで
C++の全貌を理解したつもりになっているクズどもだよ
0480デフォルトの名無しさん2005/05/23(月) 10:12:42
C++ ってコンパイラ作るの面倒くさそうだよな。
0481デフォルトの名無しさん2005/05/23(月) 10:22:21
完全準拠コンパイラは存在しない筈ですが、何か?

某CBが98%くらい対応じゃなかったっけ?
0482デフォルトの名無しさん2005/05/23(月) 12:02:54
>>479
C++ってそげにむずかしいのけ?
0483デフォルトの名無しさん2005/05/23(月) 12:09:41
>>482
全部覚えようとしたらものすごいボリュームになるのは確かだが
そもそも全部覚える必要なんてまずない
だから
>C++のすべてを理解しているつもりですべてを理解していない馬鹿どもだ。
この批判の意味がわからん
勘違いしてる奴がいることは否定しないがほとんどは理解して無い部分があることくらいわかってるかと
すべてを理解してる奴なんてC++のコンパイラや仕様を作ってる人らくらいしかいないと思われ
0484デフォルトの名無しさん2005/05/23(月) 12:59:43
>>482
お前もタブン、エクセルぐらいは使ってるだろうが、
おそらくお前が持ってるエクセルの知識はエクセル全機能の
5%にも満たないだろう。つまり、そーゆーことだ。
0485デフォルトの名無しさん2005/05/23(月) 18:00:27
> おそらくお前が持ってるエクセルの知識はエクセル全機能の
> 5%にも満たないだろう。

お前と一緒にするな。
0486デフォルトの名無しさん2005/05/23(月) 18:57:15
COBOL→PL/Iで、言語仕様が重くなり杉で失敗であることを作者が認めている。
C→C++も同じ失敗じゃないの?
各種文法が重なったときの振る舞い定義も要るだろうし、
さらに多重継承クラスライブラリの振る舞い追うなんてガクブル。
いやー、BCBのVCLは単一継承でヨカタ
0487デフォルトの名無しさん2005/05/23(月) 19:09:10
>>485
無知ってすばらしいですね。チョーウケルwww
0488デフォルトの名無しさん2005/05/23(月) 20:53:18
勉強前:C++はただのC++ ←アンチ
勉強中:C++はC++以上の何か ←479はこの辺
勉強後:C++はC++ ←普通のC++プログラマ
0489デフォルトの名無しさん2005/05/23(月) 21:03:54
つか、普通テンプレートのクラスを使うことはあっても
自分で作ることってなくね?
0490デフォルトの名無しさん2005/05/23(月) 21:25:24
このスレの住人たちよ、
議論してるつもりかね?おいちゃんは頭が痛くなってきたよ、
自己満足発言は止めたまえ
0491デフォルトの名無しさん2005/05/23(月) 21:28:49
>>489
テンプレートの目的は再利用だからね。
自分で作らなくても既存のもので満足しているならテンプレートの目的は達せられてるといえる。
でも俺はよく使うよ。
0492デフォルトの名無しさん2005/05/23(月) 21:28:53
>>483
C++の仕様策定は複数人で行われている。
よって、作った人さえもすべて理解してるわけではない。
作った人を寄せ集めたら「すべて」が出来上がるかと。
誰だっけ、C++を最初に世に出した人も、今となっては(ry
0493デフォルトの名無しさん2005/05/23(月) 21:34:32
>>492
そんなことはない
俺はC++で理解できない、しらないことは絶対ない
0494デフォルトの名無しさん2005/05/23(月) 21:49:03
あっそ
0495デフォルトの名無しさん2005/05/23(月) 21:49:22
>>493
汝の名はg++3.4
0496デフォルトの名無しさん2005/05/23(月) 21:54:08
>>493
そこまでしてレス欲しいのかよ・・・・
0497デフォルトの名無しさん2005/05/23(月) 21:56:32
どうせここで氏らなそうな事を質問しても文献漁るなりして調べるだろうから
確かめようがないしな。
0498デフォルトの名無しさん2005/05/23(月) 21:57:02
たとえ知らないことがあっても密かにgoogle様がフォローしてくれますw
0499デフォルトの名無しさん2005/05/23(月) 21:58:56
googleでカバーできないくらい深いこともあるわけで。
0500デフォルトの名無しさん2005/05/23(月) 22:00:43
>>493
C++の仕様完全準拠コンパイラ製作きぼんぬ
0501デフォルトの名無しさん2005/05/23(月) 22:00:43
C++いる?
0502デフォルトの名無しさん2005/05/23(月) 22:01:29
>>499
498がC++の全てをカバーしてくれるなんて言ってる訳じゃない事は
文盲の僕でも分かります。
0503デフォルトの名無しさん2005/05/23(月) 22:01:30
>>500
つかまず標準化委員会に完全準拠のコンパイラを作ってほしいね。
本当に実現可能なのか?
0504デフォルトの名無しさん2005/05/23(月) 22:03:03
出来上がる頃には次期C++の規格が発表されているだろうな。
0505デフォルトの名無しさん2005/05/23(月) 22:08:03
次期C++なんてないよ。
あるとしたらCムラムラ。これだね。
0506デフォルトの名無しさん2005/05/23(月) 22:13:31
(・∀・)イイ!!
0507[壁]*゚ー゚)ノ2005/05/23(月) 22:40:42
ふあははははh!!あskdfじゃ

全部読んでやった・・・
おふくろが夕飯できたっていっても「あとで」と言って
1から全部読んでやったぜ!!
今Cやってる
去年の末から初めて、ゆっっっくり学習中
やる気出たときに本ひらいて打つって感じかな

このスレずーーーっと読んできてさ、
まぁなんていうか
C++は、プログラムを元から作る事っしょ

俺さ、学校でCOBOLやらされてて・・・・
文字を探索する記述とかあったんだよ
SARCH ALL なんたら ってやつが、
で、探索する記述が確か5行くらいだったんだ。
Cで文字を検索するプログラム書くと2ページくらい使って書いてあったのにね

でも、Cだとフラグが立ったり、下りたり、って事が理解できたし
本質を知ろうとするなら元から始めるのも良いかと

C++が1〜50までだとしたら、よくわからんけど、最近のは30〜80までとか、
こんな事っしょ!(*´∀`)説明うまーーーーー
0508デフォルトの名無しさん2005/05/23(月) 22:42:21
文字の探索ごときに1行以上かけるなよ・・・言語問わずな。
0509デフォルトの名無しさん2005/05/23(月) 22:48:17
次はC+++
0510デフォルトの名無しさん2005/05/23(月) 22:54:41
D--で
0511デフォルトの名無しさん2005/05/23(月) 23:00:58
>>507
文字の探索にいったいどんなフラグがいるんだ?
0512デフォルトの名無しさん2005/05/23(月) 23:01:24
D♭
0513[壁]*゚ー゚)ノ2005/05/23(月) 23:09:24
printf("ファイル名を入力してください>");
scanf("%s", filename);
printf("検索文字列>");
scanf("%s", key);
keylen = strlen(key);

if((fp = fopen(filename, "r")) == NULL) {
printf("ファイルオープンエラー\n");
exit(1);
}

while((c = fgetc(fp)) != EOF) {
if(search) {//検索中
//検索文字列に一致しない文字列が現れた
if(c != key[i] ) { search = FALSE; i = 0; }
else { i++; }
} else {//検索中ではない
if( c == key[i] ) { search = TRUE; i++; }

}
if(keylen == i)
{ count++; i = 0; search = FALSE; }

}

fclose(fp);
printf("出現回数 %d\n", count);

return 0;
}
改行多すぎるらしいからint の所まで消した
つぅか一行って・・・・・・・・・どうやるのか想像もつかない・・・ちゅうぼうですまそ
0514[壁]*゚ー゚)ノ2005/05/23(月) 23:11:12
初めの文字と一致したらフラグ立ててそんで次いってちがったらおろして
次いってー
みたいな作業って本にかいてあったった
0515デフォルトの名無しさん2005/05/23(月) 23:12:06
>>513
メッセージの表示だけで4行あるぞ・・・。
どうやってそれと同等のものをCOBOLで5行で書いたんだ。
0516デフォルトの名無しさん2005/05/23(月) 23:16:32
DIVISION書くだけで3行はいるしな
0517デフォルトの名無しさん2005/05/23(月) 23:21:59
>>513
strstr()使わせないなんて不公平じゃないか。
0518[壁]*゚ー゚)ノ2005/05/23(月) 23:22:22
あぁーーーもーーうぜぇ
だから、どのプログラムでも初めにかくもんはだいたい決まってるじゃん
だから、SARCHの部分だけが5行程度だったと

Cより楽だね♪ と

PROCEDURE DIVISION
FD なんたら
01 なんたら PIC なんたら
とかやった気もするけど覚えてない。今書いてくれた516のおかげで思い出した
0519[壁]*゚ー゚)ノ2005/05/23(月) 23:24:47
>>517
strstr()使わないと不公平 の意味が理解できなかった、 はじめにちゅうぼうですまそって断ったとおり
あんまり分からないから何が不公平なのか不明
0520デフォルトの名無しさん2005/05/23(月) 23:25:45
>>518
釣れますか?
0521デフォルトの名無しさん2005/05/23(月) 23:26:48
strstr()を自分で実装する楽しみを奪わんでくれ
0522デフォルトの名無しさん2005/05/23(月) 23:28:05
IDENTIFICATION DIVISION
0523[壁]*゚ー゚)ノ2005/05/23(月) 23:28:29
どうぞ実装してくだしあ>>521

0524C++ユーザー2005/05/23(月) 23:29:05
C++を目の敵にしている人がいるけど、なぜそこまでC++を憎悪するんだろか。
万能ではないし欠陥も多いけど便利だと思っている人も多い、普通の言語のひとつに過ぎないのに。
身近にあほなC++厨がいて、C++ができないことを馬鹿にされて、このスレッドで当り散らしているのか?。
0525[壁]*゚ー゚)ノ2005/05/23(月) 23:32:03
つうヵさぁ
俺が

σ(´ρ` )がね!

わざわざ昔に描いたプログラムここに乗せたのは
>>511の文字の探索にいったいどんなフラグがいるんだ?
の発言にピキッってきてcmd→ファイル開く→こぴぃ→貼り付け→行数多いから少し消し→投稿
の作業してやったんだよ
なのに無反応かよ>>511、ていうかID見えなくて誰が誰だか・・・・
「へぇぇぇえl!そういうふらぐたてるんだぁぁぁ!!!」
くらい驚け
0526[壁]*゚ー゚)ノ2005/05/23(月) 23:43:43
俺が此処にこんな書き込みするなんて初めてだよ

俺が掲示板好まない理由、
『返答がノロィ』

『いるのかいないのか分からない』

『∩(´∀`)∩そんなとこだ』

こうやって返答待ってる時間が無駄に覚えてしょうがない
夕飯食いながらやってたけどさ
さっき食べ終わった
俺はいつもチャットのほうにいるんだよ
掲示板やっぱのろすぎる・・・・俺には向かんな此処
寝るか、さいなら

それとさ、全員に言っとく
ちゃんとした大人なら、人間がする一つや二つのミスをそんな攻め立てるなよ
2ch流し読みしてると一つ間違いがあるだけで指摘しまくったり
それって人間としてどうよ
面と向かって話してたら嫌われるわな、ここだからいいって考えかもしれないけど
はっきりいってそんなやつらばっかりが2chに住み着いているのだとすれば
もう長くない

世代によってかなり言葉使いも違うし、ドマィ
0527デフォルトの名無しさん2005/05/23(月) 23:44:50
>>525
今まであえて誰も言わなかったと思うんだが・・・


・・・アホですか?
0528デフォルトの名無しさん2005/05/23(月) 23:45:02
情緒不安定
0529デフォルトの名無しさん2005/05/23(月) 23:46:16
まぁ、C++は趣味で使って、仕事でJavaを使うのがベストでない?
0530デフォルトの名無しさん2005/05/23(月) 23:47:38
>>524
>万能ではないし欠陥も多いけど

ここじゃないの

つか、最近 C++ 批判のレスあったっけ?
0531デフォルトの名無しさん2005/05/23(月) 23:47:50
Javaの仕事ってほんとにあるの?やったことないぞ
0532C++ユーザー2005/05/23(月) 23:50:53
>>529
仕事も趣味もC++ですが。。
一度C#にいってみたけどやめた。
0533デフォルトの名無しさん2005/05/23(月) 23:52:48
仕事用というと、VS2005の開発効率がやばいぐらい良すぎるのが気になる
統合環境力押しもここまで来るとすげぇな
0534デフォルトの名無しさん2005/05/24(火) 00:04:44
>>531
うちはJavaばっかだよ
でもC++の方がやりやすい
0535デフォルトの名無しさん2005/05/24(火) 00:06:15
趣味がC++ってなに?

ヲタいがいの何者でもないよねw
0536デフォルトの名無しさん2005/05/24(火) 00:07:55
つーか趣味でC++ってあんまり聞かないよな
0537デフォルトの名無しさん2005/05/24(火) 00:08:37
>>536
ノシ
0538デフォルトの名無しさん2005/05/24(火) 00:08:38
俺はマイノリティなのか・・・欝
0539C++ユーザー2005/05/24(火) 00:10:33
>>535
むかしからC++ユーザーだし、stl/boostが便利なのでほかに移れないし・・。
0540デフォルトの名無しさん2005/05/24(火) 00:12:39
C++がいやな点
C++をつかってGUIアプリを書こうとするとシンドイ
なんだよ > MFC
0541デフォルトの名無しさん2005/05/24(火) 00:14:15
WTLつかえよ
0542デフォルトの名無しさん2005/05/24(火) 00:35:31
はぁ?
WTLが使えるくらいならMFCなんて余裕で使えんじゃん

ばかかおめー
0543デフォルトの名無しさん2005/05/24(火) 00:37:16
使える使えないじゃなくて、汚くて使いたくないんだろ
美しさで言ったらJavaや.NETのGUIまわりのライブラリとは比べ物にならん
0544デフォルトの名無しさん2005/05/24(火) 00:40:29
でもC#なんてASP.NET以外は使えない
C#でWindowsアプリなんて商用としてはフツーに無理
0545デフォルトの名無しさん2005/05/24(火) 00:42:17
>>526
設計や開発の現場はな、、、一つ二つのミスが多大な欠陥に繋がるんだよ、、、
学生の>>526には分からないだろうけど、仕事って結構シビアなんだよ。
何も人間的に馬鹿にしてるわけじゃないんだ。
成果に対して指摘してるだけのこと。
現場では、ミスをミスと判ってて指摘しない方が人間的にどうかしてるぞ?
放っておくと指摘で済まなくなるからな。ある意味これが優しさだ。
飯食いたいだろ?仕事はそんなもんだよ。
わかった?学生の>>526よ。
0546デフォルトの名無しさん2005/05/24(火) 00:43:08
馬鹿はスルー
基本だぞ
0547デフォルトの名無しさん2005/05/24(火) 00:45:38
>>544
C++のWindows用のGUIライブラリはMFCだけじゃないだろ
MFCが最悪の悪貨なのは皆分かってるのに、MS謹製っつかVC++がデフォだから
ただそれだけの理由で使われた
0548デフォルトの名無しさん2005/05/24(火) 00:46:36
>>505
> 次期C++なんてないよ。
> あるとしたらCムラムラ。これだね。

な〜にいっとるんだい
D言語があるじゃないか
0549デフォルトの名無しさん2005/05/24(火) 00:46:54
>>547
でもMFCじゃなきゃなにいい?
どれもこれもなあ。BCBはDelのおまけだし。
0550デフォルトの名無しさん2005/05/24(火) 00:48:29
MFCは罪だよなぁ・・・。
0551デフォルトの名無しさん2005/05/24(火) 00:48:52
>>549
OWLやVCLはMFCよりはまだマシでしょ
WTLなんて本家のサポートも無いのに使う人が多いのは、
やっぱMFCなんて使いたく無いからだし
0552デフォルトの名無しさん2005/05/24(火) 00:49:10
>>526 >>545 >>546
親子が知らずに罵りあうのが2ちゃんねる。
0553デフォルトの名無しさん2005/05/24(火) 00:50:44
まあMFCはC++のいわゆるRelease2.0あたりの仕様が固まる以前の産物だから
デザインの古さは否めない点がある。
もともとDOSやWin16プログラマをWin32に移行しやすくするという
それだけの目的で作られたみたいなもんだから。
MSも、まさかあれがこんなに使われるようになるとは、案外思ってなかった
んじゃないか。
0554デフォルトの名無しさん2005/05/24(火) 00:50:49
父ちゃん、俺俺、オレだよ。
0555デフォルトの名無しさん2005/05/24(火) 00:51:44
誰かC--を開発してくれ。
それだったら、俺でも覚えられそうな気がする・・・
0556デフォルトの名無しさん2005/05/24(火) 00:52:02
MFCを批判する人ってC++の知識が足りない人が
殆どなんだよね。
MFCを批判するにはC++のみならずソフトウェア工学を修士位の
レベルで専攻しないとできないよ
0557デフォルトの名無しさん2005/05/24(火) 00:52:21
OWLってまだあるの?あれをBが捨てたときも、MSがVBを捨てたときのようなものがあったよね。
ただ、ユーザ数がぜんぜんなんであんまり問題にならなかったが。
VCLってパスカルでしょ。なんだか、.pasだっけ、そんなんでてくると萎え萎えだったり。
0558デフォルトの名無しさん2005/05/24(火) 00:53:18
>>556
RTTIやテンプレートや例外が正式にサポートされる以前のデザインだもの
古いのは見れば誰でも分かるでしょ
0559デフォルトの名無しさん2005/05/24(火) 00:53:47
>>555
既にあるよん
まぁ何だ、期待している物とは違うと思うが・・・

http://www.cminusminus.org/
0560デフォルトの名無しさん2005/05/24(火) 00:53:54
>>555
Cの仕様は単純だから気合入れて勉強すればすぐ全部わかった気になれるよ。
実際、ネットはそんな奴ばっかりだ。w
0561デフォルトの名無しさん2005/05/24(火) 00:54:14
>>555
C--て、Cより退化してるのか...
アセンブラのことか?
0562デフォルトの名無しさん2005/05/24(火) 00:54:25
>>558
アフォ1確
0563デフォルトの名無しさん2005/05/24(火) 00:55:08

>>526
> 俺が此処にこんな書き込みするなんて初めてだよ
>
> 俺が掲示板好まない理由、
> 『返答がノロィ』
>
> 『いるのかいないのか分からない』
Wikiやブログやスラッシュドットでもつかってろ。


> それとさ、全員に言っとく
> ちゃんとした大人なら、人間がする一つや二つのミスをそんな攻め立てるなよ
> 2ch流し読みしてると一つ間違いがあるだけで指摘しまくったり
> それって人間としてどうよ

2chだから。それ以外に
ちょっとしたミスが命取りにつながると
教わった人間たちの名残だよ。
ちょっと計算ミスしたら新幹線が脱線して多くの命をうばったらとんでもないだろ?
工学/技術系はそういう仕事が多かったからね。
金融系なんて容赦しない。鬼だ(頭が固くて考え方が古くさい時代遅れな
COBOLerが現れて開発の邪魔してるんじゃないかと
思えるほど過剰反応する悪い癖を持ってるバカ親父もいるが)。
ちょっとしたミスが銀行の信用につながる。みずほの大失敗のように。
だから厳しい名残が残っている。
0564デフォルトの名無しさん2005/05/24(火) 00:55:29
たぶんCからポインタを抜き去って文字列型を導入したのがC--
0565デフォルトの名無しさん2005/05/24(火) 00:55:49
MSが「ごめん。MFCやめ。作り直すから」って言って作ったのが
なんだっけ、ドットネットだかなんだかなんだろ。
0566デフォルトの名無しさん2005/05/24(火) 00:56:24
>>562
説明求む
0567デフォルトの名無しさん2005/05/24(火) 00:57:04
.NETのライブラリやC#はDelphi作った人がデザインしたんでなかったか
0568デフォルトの名無しさん2005/05/24(火) 01:00:08
>>565
MFCやめもあるだろうがどっちかというとCOMやめのほうじゃないかな?
0569デフォルトの名無しさん2005/05/24(火) 01:00:10
>>556
おれ情報学修士号をとってるが
MFCは批判も何も他の言語APIと比べただけで虫酸が走る。

詳細な批判をするにはそれなりの知識をようするだろうけど
M$の政治的な動きがあるだけでもすぐに批判対象にされやすいかと思われ。
MFCを捨ててすぐに他のものを作り直そうとして
ユーザのことをほとんど考えないのがM$のやり方だからね。
それが.NETになってからやっと少しずつユーザのことを考えるように
なったってところか。それでもユーザが恩恵を受けるのは.NET以降のみで
.NET以前から使っていた者にすれば恩恵が少なすぎ。
0570デフォルトの名無しさん2005/05/24(火) 01:01:02
>>568
.NETはCOM+の宣伝用の別名じゃなかったっけ?
0571デフォルトの名無しさん2005/05/24(火) 01:01:54
MFCが批判されてしまう理由

MFCはオブジェクト指向を舐めきったライブラリの巣窟である。
0572デフォルトの名無しさん2005/05/24(火) 01:02:20
まぁ、あれだ
MFCを批判するならそれ以上のライブラリを自作してからにしてほしい
できないんなら(ry
0573デフォルトの名無しさん2005/05/24(火) 01:03:26
C++のABIまわりがウンコだからCOMみたいなものができたのだ
アレはアレでMSの苦肉の策だろう。

まあでも、滅び行く技術だよなあ。
0574デフォルトの名無しさん2005/05/24(火) 01:03:34
今更そんなもん自作した時点で負け犬確定だろ
0575デフォルトの名無しさん2005/05/24(火) 01:04:09
MFCを作ったのは素人ということで。
あ、もちろん、Windows用C++ライブラリの素人って意味ね。
Windows用C++ライブラリのプロなんてほとんどいなかったろうし。
0576デフォルトの名無しさん2005/05/24(火) 01:04:31
できないなら、負け犬以下hw
0577デフォルトの名無しさん2005/05/24(火) 01:04:41
>>547
悲しく同意。
0578デフォルトの名無しさん2005/05/24(火) 01:04:52
>>571
効率と実用性優先で反オブジェクト指向的汚さが生じるあたり、
意外とMFCは非常に「C++らしい」フレームワークかもしれん
0579デフォルトの名無しさん2005/05/24(火) 01:06:20
その汚さをC++らしいと感じるかどうかで
若干俺と578の間にC++感の相違がありそうだ。
0580デフォルトの名無しさん2005/05/24(火) 01:06:26
しかし、あれだ。WinとUNIXで動く、C++GUIライブラリを作ってくれたら、
(もちろん、バイナリは別途コンパイルしておくわけだが)
ひょっとすると歴史に名前が残るかもよ。Rubyの人みたいに。
0581デフォルトの名無しさん2005/05/24(火) 01:06:33
MFC程度であれば、100H程度あれば作れるよね
実際にMFCでは遅すぎて使えないプロジェクトで作ったけど。
0582デフォルトの名無しさん2005/05/24(火) 01:07:57
よく伸びるスレだことw

狼少年基狼親父も混ざっているようだが・・・
0583デフォルトの名無しさん2005/05/24(火) 01:09:10
MFC程度であれば100Hで作れるというのは、どこまでの知識を有していて
どれくらいの経験年数があったとするときの算出根拠なのでしょうか?
0584デフォルトの名無しさん2005/05/24(火) 01:09:25
>>580
>しかし、あれだ。WinとUNIXで動く、C++GUIライブラリを作ってくれたら、

既にいっぱいあるじゃん
有名なのは Qt, wxWidget, Fox, Fltk とか
0585デフォルトの名無しさん2005/05/24(火) 01:09:36
>>581
釣りでなければ、たぶん、何もわかっていない。
ライブラリのポイントは使いやすさ。
たとえば、STLのコードは完成品は職人芸すげーってもんでもない。
しかし、STLのような美しい設計ができるのは天才だけ。
0586デフォルトの名無しさん2005/05/24(火) 01:10:34
>>572
自作しなくてもすでにもっと使い勝手の良いものがあるのでなんとも言えぬのぉう・・・・。
MFC以上のものが悪い意味で言うならMFC以上にグロいAPIを作ってもメリットが薄いと。
.NET frameworkもMFCの名残があるのか、I/O周りでグロいのがあるが。
JavaのI/Oのほうがすっきりしていると言えばすっきりしている。
ただしJavaのI/OはDecoratorパターンを使っているのでそのあたりでも賛否両論がある。

0587デフォルトの名無しさん2005/05/24(火) 01:10:38
>>576
Win用のGUIライブラリという意味ではMFC以上のものがすでに存在しているし、
それを今更個人レベルで劣化再発明すること自体時間の無駄だろ
0588デフォルトの名無しさん2005/05/24(火) 01:10:52
.NET は Windows Forms の存在のせいで
すべてを台無しにしている。
0589デフォルトの名無しさん2005/05/24(火) 01:11:15
>>584
よく知らんけど、GPLとかのしばりない?
有料でいいから、買ったら自由に使えるのがほしい。
あと、そいつら、実用性あんの?
0590デフォルトの名無しさん2005/05/24(火) 01:12:03
JavaはCalendar周りをどうにかしてくれればイイ。
あとちゃんとfinalにすべきメソッドをfinalにしてくれれば。
(今更遅いけどさ)
0591デフォルトの名無しさん2005/05/24(火) 01:12:10
>>585
STLなんて糞以下じゃん

あれこそ、すぐ書けちゃうよ
0592デフォルトの名無しさん2005/05/24(火) 01:12:54
>>591
アホ確定
0593デフォルトの名無しさん2005/05/24(火) 01:13:12
なんかMFCしかできないからって
MFC擁護してるやつがいるな
0594デフォルトの名無しさん2005/05/24(火) 01:13:12
>>589
それだけの条件なら、調べるだけの価値はあると思うよ
0595デフォルトの名無しさん2005/05/24(火) 01:14:11
>>592
書けないやつから見ると、そうレスをせざるを得ないわな(プゲラ
0596デフォルトの名無しさん2005/05/24(火) 01:14:21
>>575
まあ、そういう意味ではWindowsNTを作った天才と呼ばれるデーブ・カトラーも素人なんだろうね。
彼はCでプログラミングし、C++を覚えるのは時間の無駄だと言って覚えようとしなかったし、
もしかするとその影響でWindowsNTのプロジェクトはデスマったのかな。
彼の酷い方針のおかげで多くの人が徹夜残業に追い込まれ恋人と別れた人や離婚する人まで現れてしまったのだからね。
彼自身、子供がいて二回も離婚しちゃってるし。人を離婚させることも平気で厭わない男なんだね。
0597デフォルトの名無しさん2005/05/24(火) 01:14:57
なんかMFCもできないからって
MFC卑下してるやつがいるな
0598デフォルトの名無しさん2005/05/24(火) 01:15:17
>>590
finalにしてどうするんだ?
まさかfinalにしないと早くならないと勘違いしてるんじゃね
0599デフォルトの名無しさん2005/05/24(火) 01:16:26
MFC勉強するんだったらSTLやBoost勉強したほうが今後のためになると思うがな。

それでもどうしてもMFC覚えたきゃ、.NET frameworkやWinFXの勉強をしたほうがましだね。
0600デフォルトの名無しさん2005/05/24(火) 01:16:35
finalにすべきものはfinalにしろボケがぁ!!
0601デフォルトの名無しさん2005/05/24(火) 01:17:54
>>578
そんなことをいってもだな。
M$側は、MFCが汚いってことを自覚したから
.NET frameworkなんてものを作ってしまったんだよおそらく。
0602デフォルトの名無しさん2005/05/24(火) 01:19:00
Kernel 書きには C++ を憶えるのは時間の無駄なんじゃないの
BeOS も失敗だったし
0603デフォルトの名無しさん2005/05/24(火) 01:19:37
>>594
じゃあ、教えてくれよ。と言いたいとこだけどいいや。
どんなにいいライブラリだったとしても、マイナーである点で、何か問題があるんだと思う。
ライブラリ自身の問題がなくても、文献少ない、誰にも聞けないという問題もある。
0604デフォルトの名無しさん2005/05/24(火) 01:19:40
monaがある
0605デフォルトの名無しさん2005/05/24(火) 01:20:17
.NET frameworkも鼻くそでしょ?
特にCCW周りなんてやっつけもいいとこ

まじ笑えるぞ
0606デフォルトの名無しさん2005/05/24(火) 01:20:27
>>600
アクセス権を設定するために不変クラスやSingletonをつくるときはfinalするがね。
まさかfinalをつけただけで速くなるなんて都市伝説を未だに信じてるのか。
C++でvirtualつけると遅くなるからといってそれを間に受けているのか。
そんな話昔のJVMの話で今のVMは最適化してくれるのでfinalつけるつけないなんて速度差
を意識するなんて無意味になってきたぞ。
0607デフォルトの名無しさん2005/05/24(火) 01:20:40
ひげぽんは天才です。
ってのは?だけど、盛り上がれば、ライナス君を超えても不思議ではない。
0608デフォルトの名無しさん2005/05/24(火) 01:21:01
やっつけでそれなりのものを作るMSはえらい
0609デフォルトの名無しさん2005/05/24(火) 01:21:30
>>598
finalにしないとオーバーライドすべきかどうかの判断が付かない。
困ったのが
setSize(Dimension d);
と
setSize(int width, int height);
VMごとに実装方法が違うらしく、片方だけオーバーライドするとうまくいく環境といかない環境があるぽ。
両方オーバーライドして片方からもう片方を呼ぶようにすると無限ループを起こしかねない。
両方オーバーライドして同じ処理を(まぁ共通のメソッドの呼び出しにするにしても)書いてやらないといけない。

本来これらのメソッドは同じ処理をしなければいけないのだから、
片方をfinalにして、もう片方を呼ぶようにすべき。
0610デフォルトの名無しさん2005/05/24(火) 01:21:32
>>605
それじゃなんのためにC#がうまれたんじゃいな
ドトネトフレームワークがだめなら
WinFXの出番を待てということか。
0611デフォルトの名無しさん2005/05/24(火) 01:22:01
>>603
Qt と wxWidget は結構有名だと思うよ
必要になったら調べてみて下さい
0612デフォルトの名無しさん2005/05/24(火) 01:22:35
>>606
このオブジェクト指向が終焉を迎えようとしている時期に
何でもかんでも継承しようとするやつはクズだ
0613デフォルトの名無しさん2005/05/24(火) 01:23:06
>>602
Kernelっていうとむずかしそうに感じるが、実際はKernel開発の方が
WindowsのGUIアプリよりも簡単
0614デフォルトの名無しさん2005/05/24(火) 01:23:27
>>609
java5 Tigerのメタデータ @overrideに期待だな。
06156032005/05/24(火) 01:23:56
>>611
ありがとう
0616デフォルトの名無しさん2005/05/24(火) 01:24:28
実はD言語とwxWidgetsの組み合わせは結構いいんじゃないかと思ったり
Dコンパイラの仕様が安定してくれれば・・・
0617デフォルトの名無しさん2005/05/24(火) 01:24:48
Java厨もC#を見習ってとりあえず最初は全部finalにしとけや
0618デフォルトの名無しさん2005/05/24(火) 01:25:23
>>590
java.sql.Date, java.util.Date, java.sql.Timestamp,
java.util.DateFormat以外に何か不満かいね?
Jakarta Commons Langの日付管理APIを使っての
補足もできるぞ。
0619デフォルトの名無しさん2005/05/24(火) 01:25:57
使いやすいかどうかは別として
C+++WTLがWindowsでは最強でしょ?
0620デフォルトの名無しさん2005/05/24(火) 01:26:42
>>618
java.util.Calendarの設計に不満
0621デフォルトの名無しさん2005/05/24(火) 01:26:44
WTLってIDEサポートあったっけ?
0622デフォルトの名無しさん2005/05/24(火) 01:26:54
>>617
そんな浅はかなC#厨の意見を鵜呑みにするのは危険すぎだや
override修飾子とfinal修飾子とを勘違いするなや
0623デフォルトの名無しさん2005/05/24(火) 01:27:09
VC++
0624デフォルトの名無しさん2005/05/24(火) 01:27:35
>>613
難しいかどうかより、C++ で開発するのに向いてる分野かそうじゃないかって事
0625デフォルトの名無しさん2005/05/24(火) 01:27:42
>>588
ま、M$だからな。
Monoでどうにかするこった
0626デフォルトの名無しさん2005/05/24(火) 01:28:54
>>617
デフォルト非virtualはライブラリ設計者を信用しすぎてる。
MFCは必要なメソッドの多くがvirtualになってないから使いにくいったりゃありゃしない。
0627デフォルトの名無しさん2005/05/24(火) 01:29:11
>>620
java.util.GragorianCalendarは?

不満があるならDate型やlong型に変換するか
java.util.Calendarを委譲するか継承するという手もあるぞw
0628デフォルトの名無しさん2005/05/24(火) 01:30:19
>>627
実装ではなく設計の話だ(ry
0629デフォルトの名無しさん2005/05/24(火) 01:31:08
Windows Formsはがっかりだったな。
すげぇ期待してたのに所詮MSだと思い知らされた。
0630デフォルトの名無しさん2005/05/24(火) 01:32:22
俺はあのVBライクなポトペタ環境に吐き気がした

つか、吐いた
0631デフォルトの名無しさん2005/05/24(火) 01:33:13
趣味がC++とか凄いね。俺は頭悪いからDelphiとかいう開発環境で
簡単なアプリ作ってるよ。
0632デフォルトの名無しさん2005/05/24(火) 01:33:46
単なるヲタでしょ?
0633デフォルトの名無しさん2005/05/24(火) 01:36:53
Javaのライブラリって、はっきりいって美しくない。
特にjava.util最低...
なんだよ、あのIteratorの実装...
配列ぐるぐるの方がすばい早いってどういうこと...

結局Javaも書き手の実装方法でものすごく性能変わる

STLの方が、良く考えて作ってあると思うよ。
0634デフォルトの名無しさん2005/05/24(火) 01:40:57
そもそも他人の作ったものにケチつけて使うぐらいなら
いいもの作って公開してほしいなぁ。
0635デフォルトの名無しさん2005/05/24(火) 01:43:17
Java + OpenGL最強
0636デフォルトの名無しさん2005/05/24(火) 01:45:47
>> 633
> 配列ぐるぐるの方がすばい早いってどういうこと...

あたりまえのことを「どういうこと...」とかいわれましても。
0637デフォルトの名無しさん2005/05/24(火) 01:47:14
STLのイテレータは配列アクセスより早いの?
0638デフォルトの名無しさん2005/05/24(火) 01:54:34
何だ、少し前まではC言語でMS-DOSプロンプトのプログラムをいろいろ作ってたが、
最近はC言語でWin32APIを使ってWindowsプログラム作ってるんだが、早くC++言語と
MFCを修得してWindowsプログラムを作れるようにならなければならないと思ってる
んだが、MFCはぼろくそに思われてるのか。
学問的に究めるわけでなく、MFCを使うためにC++を学習しようと思ってたけど、考え
直すしかないか。
手続き型のプログラムで十分なことが多いけど、STLはかなり役に立ちそうだな。
0639デフォルトの名無しさん2005/05/24(火) 01:59:12
>>637
配列のイテレータって生のポインタだからね、
たいてい速くもならないし遅くもならないでしょう。
0640デフォルトの名無しさん2005/05/24(火) 02:04:49
>>638
別に、初めのころは何だって良いよ。
そして何年かして経験をつんでくると何だこの糞ライブラリはということになる。
無駄な時間を費やしてしまったと錯覚するかもしれないが100%無駄だったわけではないので気にするな。
0641デフォルトの名無しさん2005/05/24(火) 02:07:24
>>637
Javaにはインラインもテンプレートも無くて、メソッド呼び出しには
一定のオーバヘッドがあるんで、どーしても遅くなるわな
STLではそうしたオーバヘッドは可能な限り回避されてるよ

その代わり、スレッドセーフティが犠牲にされてるけどな
0642デフォルトの名無しさん2005/05/24(火) 02:10:26
>>638
今は、まだC++でWindowsのアプリ開発っていうと、業務ではMFCが主流だから
まあ無駄とはいえないんじゃないかな
0643デフォルトの名無しさん2005/05/24(火) 02:13:57
>>635
適当に書くと、GCのタイミングで頻繁にアニメーションががたつく。
GCがなるべく起きないように書くとそれなりに大変な割に、
結局GCでガタつく。
よって最強じゃない。
0644デフォルトの名無しさん2005/05/24(火) 02:20:46
GCをパフォーマンスの側面からだけで批判してる人って多いね。
そんなクリティカルな物作ってる人は、この業界の1/10くらいだよ。
0645デフォルトの名無しさん2005/05/24(火) 02:23:03
>>644
OpenGLを使うような領域ではパフォーマンスは死活問題でしょ
0646デフォルトの名無しさん2005/05/24(火) 02:30:54
>>645
OpenGLを使う領域で、パフォーマンスに労力注いだら誰が幸せになる?
パフォーマンスはどの場面だって優先度低いよ。
0647デフォルトの名無しさん2005/05/24(火) 02:33:31
いや問題は1/10しかいないことじゃなくて1/10も居るっつーことでしょ
0648デフォルトの名無しさん2005/05/24(火) 02:34:14
>>646
いやその、グラフィックスでアニメーションがアレするようなアプリで
Vsyncに間に合わなくて描画がカクカクしちゃったらダメでしょ?
0649デフォルトの名無しさん2005/05/24(火) 02:34:34
>>646
俺の後ろでマイクロ秒単位の処理速度に心血注いでるやつにその言葉を聞かせたらなんて思うだろうな。
0650デフォルトの名無しさん2005/05/24(火) 02:35:25
>>647
大雑把だけどそんくらいだと思うよ。なんの根拠もない数字だけど。
0651デフォルトの名無しさん2005/05/24(火) 02:35:57
それでなくとも、クライアント系のJavaアプリはなんとなく使用感が
もっさりしているという印象を与えることが多いよね。
ユーザに直接的に反応が見えるプログラムでは、パフォーマンスは
それなりに重要だよ。
0652デフォルトの名無しさん2005/05/24(火) 02:41:32
>>648
>>649
いやいや、最近この仕事やっててふと思うんだよね。
こんな速さ誰が求めてるんだろ。って。別に俺が激速な処理速度出せるわけでもないんだけどさ。
もっと肝心なことに時間かけなくていいのかな〜なんてね。
分野によって求められることは違ったとしてもだ。
OpenGLなんて使ったこともないさ。
0653デフォルトの名無しさん2005/05/24(火) 02:44:15
結局C+++WTL最強で決まりですか?
0654デフォルトの名無しさん2005/05/24(火) 02:45:37
C+++
0655デフォルトの名無しさん2005/05/24(火) 02:47:11
正直、速度どうでもいいや〜って思っちゃう。
俺が経験した中で、パフォーマンスが死活問題だったのは生産ラインの制御システムくらいだよ。
俺も飯食わなきゃならないので、次の設計でもパフォーマンス考慮するけどね。
0656デフォルトの名無しさん2005/05/24(火) 02:49:57
俺の作ったアプリが予想の100倍近く遅くて何とかして速くしないといけないんだよ。
マジ困った。
0657デフォルトの名無しさん2005/05/24(火) 03:19:49
>>656
君が設計者でなく実装者であれば、君のせいではない。
そういう困った状況の中で作業をする人が増えることが懸念事項だ。
0658デフォルトの名無しさん2005/05/24(火) 03:21:21
>>656
プロファイラなど使ってボトルネックを見つけ出してみ?
噂だと、全体のコードの1/10が性能の鍵を握ってる。
では、検討を祈る。
0659デフォルトの名無しさん2005/05/24(火) 06:12:31
自分の作り方が悪いのに
遅いのを言語のせいにするやつっているよね。
0660デフォルトの名無しさん2005/05/24(火) 06:23:11
言語と環境の分離がされてればいいんだが、携帯電話とか除けば
ゲーム機とかでJavaが使えるわけでなし、C++の出番は当面無くならなそうだけどなあ。
0661デフォルトの名無しさん2005/05/24(火) 07:33:46
ttp://japan.zdnet.com/news/software/story/0,2000052520,20083119,00.htm

C++の重要性は現在、かつてないほど高まっている!!
0662デフォルトの名無しさん2005/05/24(火) 07:33:53
同じ性能のプログラムなら早い方がいいに決まってる。
作る側の視点ではなく、使う側の視点に立て。
コストやメンテ性云々も大事だが、
プログラム使う奴は、作った奴の何倍も動かすのだ。
作ってる時間より、使われている時間の方が長いのだ。
どんなにハードが高速になろうと、
プログラムにスピードが要求される場面では、(ハードが早くなった分要求も増えるので)
Javaという選択肢より、c,c++になってしまう場合は今後あると思うが、
プログラムにスピードが要求されない場面では、
Javaの代わりはどんどんでてきそうな気がする。


0663デフォルトの名無しさん2005/05/24(火) 07:42:09
適材適所
0664デフォルトの名無しさん2005/05/24(火) 07:45:41
Windows FormsはAvalonまでのつなぎ。
の割りにつなげられてない。
0665デフォルトの名無しさん2005/05/24(火) 07:52:26
昔はあれだけC++は遅いって叩いてたのにおまいらも丸くなったな
0666デフォルトの名無しさん2005/05/24(火) 08:19:43
ttp://www.mamezou.com/tec/equip001.htm

c++ template >>>>>>>>>>>>>> java generics

0667デフォルトの名無しさん2005/05/24(火) 08:42:26
>>602
亀レスだが、漏れはBeOSの仕様はいいと思ったけどなぁ。
↓基本がこんな感じ
class MyBeApp : public BApplication {
  public:
    うんたらかんたら
};
(中略)
main()
{
  MyBeApp *app:
  app = new MyBeApp();
  app->Run();
  delete app;
  return true;
}
MFCもBeOS用アプリもまともに書いたことはないが、
カーネルから全部C++のオブジェクト指向を駆使して書かれてるらしいし
(勘違いしてるかもしらんけど)、こういうのって多分MFCの嫌われてる要素とは
対角にあるんじゃないかなぁと。
漏れは好きだけどなぁ。100%趣味用(BeOSだから)でしか書けないだろうけど。
カーネルがC++だからこそ綺麗なクラスライブラリが作れるんだろうと漏れは思ったよ。
0668デフォルトの名無しさん2005/05/24(火) 10:07:54
NTもC++じゃ……
結局カトラーたんCで書いたんだっけ
0669デフォルトの名無しさん2005/05/24(火) 10:18:53
>>667
MyBeApp app;
app.Run();
と書かないわけは?
#Java厨じゃあるまいし、一々newするなや。
0670デフォルトの名無しさん2005/05/24(火) 10:32:34
生ポインタ怖い怖い
0671デフォルトの名無しさん2005/05/24(火) 10:33:57
>>633
>>636も指摘しているとおり>>633はおかしなことをいっているようにみえるが、
Java標準のコレクション系に不満があるなら

Jakarta Commons Collectionsを使ってみてはどうかな。
http://jakarta.apache.org/commons/collections/
0672デフォルトの名無しさん2005/05/24(火) 10:38:35
>>669
おい厨房よ。むしろ厨房はお前の方。
newを悪者扱いするとは頭がおかしな奴だな。
それともstaticにして getInstance()なメソッドでも作る気か。

0673デフォルトの名無しさん2005/05/24(火) 10:42:02
>>672
667の書き方ではRun内で例外が発生したらappのデストラクタが呼ばれないわけだが
06746692005/05/24(火) 10:43:22
>>672
newが悪者かどうかではなく、イランもんはイランといってるだけだが。
まさかアプリケーションクラスだからと言って、ヒープに動的確保しなければならない代物を生で使わなければいけないようなたこな設計を想定しているのか?
0675デフォルトの名無しさん2005/05/24(火) 12:46:08
古い話だけど、これって解決したの?

http://www.st.rim.or.jp/~osada/translation/developers/BNL_articles/Issue79-insights-j.html
06766672005/05/24(火) 12:47:32
だいぶ前に買った入門本だとそう書いてたけど、
調べたらnewじゃなくていいみたいだった。
多少触れてみた程度しかやったことないからわからんのよ、スマンカッタ
0677デフォルトの名無しさん2005/05/24(火) 13:07:49
>>669
MyBeApp のコンストラクタを main より後のタイミングで
実行したいんじゃないの?
0678デフォルトの名無しさん2005/05/24(火) 13:16:57
>>677
意味不明
0679GreatFixer ◆ASWqyCy.nQ 2005/05/24(火) 13:44:52
Re:>>301 一生紙として人類に貢献すればいい。
0680デフォルトの名無しさん2005/05/24(火) 13:49:16
>>643
これってどうなんだろう?
http://www.cyberstep.com/products/index.html
http://www.cyberstep.com/oni/index.html
0681デフォルトの名無しさん2005/05/24(火) 13:50:30
>>678
解らんのなら勉強しろ。
0682デフォルトの名無しさん2005/05/24(火) 13:55:31
>>681
先生、677が何を言いたいのか教えてください。

> MyBeApp のコンストラクタを main より後のタイミングで

mainより後って、どこ?
main開始後?main終了後?
main内にコード書いてあるんだからnew使おうが使うまいがmain開始後にコンストラクタ呼ばれるよね?
main内にコード書いてあるんだからnew使おうが使うまいがmain終了後にコンストラクタ呼ぶなんてできないよね?
もしかしてグローバルに置くのと勘違いしてる?
0683デフォルトの名無しさん2005/05/24(火) 13:57:24
グローバル変数の初期化や代入はmainより前になるんじゃなかったっけ?
多分言いたいのはそういうことだと思ったけど?
0684デフォルトの名無しさん2005/05/24(火) 15:10:43
>>669がいいたいのは、

main()
{
  MyBeApp *app:
  app = new MyBeApp();
  app->Run();

ではなく、

main()
{
  MyBeApp app:
  app.Run();

でいいだろ、ということだと思うのだが、
なぜグローバルが関係するのかとか、
ましてや、>>677の意味などは理解できん。
0685デフォルトの名無しさん2005/05/24(火) 15:23:04
もっと削れる。
main()
{
  MyBeApp().Run();
}
06866692005/05/24(火) 15:42:40
>>684
そそ。
>>685
確かにその通り。

まぁ出てこないと思うけど、>672や>677はC++によっぽど慣れてないか
Javaによっぽど馴れているかのどっちかなんでないかなぁ。
0687デフォルトの名無しさん2005/05/24(火) 16:11:34
>>685
それをやってるとそのうちVS.NET2003/2005のバグにはまってちょと危険
0688デフォルトの名無しさん2005/05/24(火) 16:31:41
>>687
どんなバグ?
0689デフォルトの名無しさん2005/05/24(火) 17:07:13
>>688
MyBeApp().Run();
と書いてるうちは大丈夫で、
そのうち グローバルであることを明示したくて
::MyBeApp().Run();
としたり、MyBeApp を名前空間に入れたくなって
NS::MyBeApp().Run();
とかすると、MyBeApp が抽象クラスでもインスタンス化できてしまう。
0690デフォルトの名無しさん2005/05/24(火) 18:14:52
ゲローバル変数はもういいよ
0691デフォルトの名無しさん2005/05/24(火) 19:47:36
グローバル名前空間上のシンボルと、グローバル変数の混同について。
0692デフォルトの名無しさん2005/05/24(火) 20:45:25
重箱の隅をつついて文句しか言わない奴ほど何も成果物を出せない件について
0693デフォルトの名無しさん2005/05/24(火) 21:20:16
あの〜速度が遅くてもっさりしてるMac OS Xを救ってやってくれさい
>>652>>655
0694デフォルトの名無しさん2005/05/24(火) 21:23:52
BeOSはいちどクラスライブラリの更新ってのをやったおかげで
多数のアプリがあぼーんしたんだよ
それで人が離れちゃった
0695デフォルトの名無しさん2005/05/24(火) 21:28:48
八百屋さんか花屋さんかお菓子屋さんか教会か
0696デフォルトの名無しさん2005/05/24(火) 22:46:11
>>667
文法が違うだけで、大まかな処理の流れ自体は Win32 API を直接叩いてもほとんど
同じになるよな。
0697デフォルトの名無しさん2005/05/24(火) 22:52:46
継承が・・

それをいうならCOMを持ってきたほうが
0698デフォルトの名無しさん2005/05/24(火) 23:00:05
>>696
困るのはウィンドウプロシージャをどうやってメンバ関数に結びつけるかというところか
そこらへんBeOSはどうなってたんだろう?
0699デフォルトの名無しさん2005/05/24(火) 23:25:49
Java の Iterator って、ものすごい性能が落ちるってのをどこかで見た。
配列を添え字でアクセスするのと、ArrayList の Iterator でアクセスするのとで、
数倍の差があったように覚えている。

デザインパターンの Iteratorパターンも、ことJavaではやめた方がいいんではないかと
結論してた(と思う)。

java5 の for( Hoge i : 配列 or コンテナ ) とかもスピードとか、どうなんだろ...

C++ の iterator ってそこまで性能落ちないとおもうんだ...
vector::iterator なんて (全部じゃ無いけど)ポインタになるし...

デザインパターンって C++ template の方が素直に実装できると思わない?
0700デフォルトの名無しさん2005/05/24(火) 23:49:42
> Java の Iterator って、ものすごい性能が落ちるってのをどこかで見た。
>配列を添え字でアクセスするのと、ArrayList の Iterator でアクセスするのとで、
>数倍の差があったように覚えている。

LinkedListなどのコンテナと、配列は機能も性能も
違い一長一短あるわけだから、比べてもあまり意味がない。
構造の単純さを比べれば、配列がもっとも実行効率が良いのは推測できる。

>デザインパターンの Iteratorパターンも、ことJavaではやめた方がいいんではないかと
>結論してた(と思う)。

主語がない。だれが結論付けたのか不明。

>java5 の for( Hoge i : 配列 or コンテナ ) とかもスピードとか、どうなんだろ...

バイトコードレベルでIteratorアクセスと同じになるんだから、Iterableインターフェイスに対する
拡張forはIteratorアクセスと等価。
当然、配列に対する拡張forは配列への添え字アクセスと等価。

>C++ の iterator ってそこまで性能落ちないとおもうんだ...
>vector::iterator なんて (全部じゃ無いけど)ポインタになるし...

何故、そこまでインターフェイスと実装を混同したがるのかまったく理解できん。
ポインタだと速いってのも意味不明。
vectorのように、メモリブロックが連続してることが期待できるクラスであれば、メモリキャッシュの効果が
期待できるけど、linked-listで格ノードがバラけてたら、キャッシュどころかページイン/アウト
まで起こるかもしれない、ぐらいは予想できる。

>デザインパターンって C++ template の方が素直に実装できると思わない?

思わない。実行時の多態性が有用なものもある。
0701デフォルトの名無しさん2005/05/25(水) 00:08:55
「相手が何を言っているるか、本当はわかりたくない人」
の長文ほど鬱陶しいものはないな。
0702デフォルトの名無しさん2005/05/25(水) 00:12:17
>>699
> Java の Iterator って、ものすごい性能が落ちるってのをどこかで見た。
> 数倍の差があったように覚えている。
数倍じゃなくて、数十倍とかのオーダーだった気もするが。
Collection が変更されて無いかのチェックとかするので仕方無いのでは?

> デザインパターンの Iteratorパターンも、ことJavaではやめた方がいいんではないか
速度が重要な局面では止めた方がいいかもね。
もっとも、速度に関しても Iterator の使用を止めるよか
ループ内の処理を見直した方が改善の期待が持てると思うが。
0703デフォルトの名無しさん2005/05/25(水) 00:17:32
>>702
つまり、>>699 は同等の機能かどうかも調べずに速度だけ比較してるのか?
0704デフォルトの名無しさん2005/05/25(水) 00:20:15
つか、総本山にはっきり書いてあるな。

--以下引用--
 for (int i=0, n=list.size(); i < n; i++)
  list.get(i);

以下のようなループより迅速に実行されます。

 for (Iterator i=list.iterator(); i.hasNext(); )
  i.next();
--以上引用--

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/RandomAccess.html
0705デフォルトの名無しさん2005/05/25(水) 00:46:52
>>704
その引用は趣旨がちょっと違うな。
添え字でまわす方が iterator でまわすより早いようなリストは
RandomAccess を実装してます、ってだけの話だ。
0706デフォルトの名無しさん2005/05/25(水) 00:58:42
hに宣言、cppに実装ってマジうぜー

C# マジ最強
0707デフォルトの名無しさん2005/05/25(水) 01:12:31
マイクロベンチマークは信用しすぎないほうがいい。
またパフォーマンスに関するうわさは1年後には嘘になっていることもある。
0708デフォルトの名無しさん2005/05/25(水) 01:34:37
templateおもすれー!!

>>706全部ヘッダに書けばいい。
0709デフォルトの名無しさん2005/05/25(水) 01:41:44
>>1-708
やっぱりUMLって覚えなあかん?
0710デフォルトの名無しさん2005/05/25(水) 01:55:41
必要ない
0711デフォルトの名無しさん2005/05/25(水) 01:58:12
.h に実装できる事を知らない >>706 をあざ笑うスレはここですか?
0712デフォルトの名無しさん2005/05/25(水) 02:14:52
>>691
グローバルじゃなくてげろーバルだぞ
ゲロ
グロ
ゲロ
グロ
ゲロ
グロ
ゲロ
グロ
 
ゲローバル変数もゲローバル関数もキモイんだよ
0713デフォルトの名無しさん2005/05/25(水) 02:16:26
>>702
Javaの場合、データ量が多いと逆にC++との速度差も大差なくなるよ。
C++に最適化オプションをつけると結局C++のほうが早くなるけど
0714デフォルトの名無しさん2005/05/25(水) 02:28:37
1μsくらいの差なんてどうでもいい
0715デフォルトの名無しさん2005/05/25(水) 02:38:22
>>713
> Javaの場合、データ量が多いと逆にC++との速度差も大差なくなるよ。
それは何か別のもの測ってるんじゃないかと思われ。
0716デフォルトの名無しさん2005/05/25(水) 02:41:14
>>711
.hに実装するのはグローバル変数使うのと似たようなもんだぞ。
0717デフォルトの名無しさん2005/05/25(水) 02:51:58
>>711
つか .h と .c(pp) との使い道が分かってないのは、C++ 以前に C の知識からして
なってないと思われ。
0718デフォルトの名無しさん2005/05/25(水) 02:59:56
>>716
細かい事を言えば実装には当たらない(事もないかもしれない)がインライン関数は?
0719デフォルトの名無しさん2005/05/25(水) 03:27:20
>>716
テンプレートすら使ったことが無い、自称C++使いですね。
0720デフォルトの名無しさん2005/05/25(水) 06:00:25
.hにCとC++を混在させる漏れ最強。

テンプレート使いだすと、逆にヘッダの方がソースファイルの数を遥かに上回っちまったりする。
が、コンパイル時間も急激にかさばりだすという恐るべき罠。
プリコンパイルヘッダとかの支援が無いとコーヒー飲んで煙草吸って飯食ってウンコして、
なおコンパイルが終わらなかったりする。
とほほ。

じゃなくって、.hに宣言がいるのは、多分に歴史的な事情のせいだから…
宣言と実装が分かれてて喜ぶ奴はコンパイラだけだが、そのコンパイラのために
人間様側が譲歩していたのがCとC++の歴史だから仕方ない。
新しい世代の言語がその辺改善しているのは当然のことだが、残念ながら
C++と同じレベルの生の実行コードを吐き出せる言語系はまずないと言っていいのが現状。
どっか大手ベンダーが発狂して突然D言語をフルサポートでもしはじめない限り
代替不可。

JavaやC#で十分な用途と、C++のパワーこそが必要な用途とで使い分ける奴こそ真の勝者。
よって漏れは廃車。
0721デフォルトの名無しさん2005/05/25(水) 06:16:48
コンパイラに便宜を図っていたのか・・・・
0722デフォルトの名無しさん2005/05/25(水) 06:57:07
>>721
そうだよ。
正確には昔のOSのファイルシステムにか。

リソース的にも、シンボルのデータベースを統括して持ってる余裕が無かったし、
現在のJavaの環境にあるみたいな逐次コンパイルによるデータベース更新なんてことも
負荷が重すぎて現実的でないから、ヘッダの宣言で署名をかき集めて、リンカが最後に承認するっていう
プロセスを踏む形に落ち着いてしまった。

OS記述言語という出自の絡みで、処理系にべったりだったのが仇になり、Javaのバイトコードみたいな
統合されたデータベースの仕様策定が進められなかったのも、C++の不幸のひとつ。

ヘッダのincludeの順番で内容が変わりかねないCやC++には、構造に根本的な欠陥があるのは
昔から指摘されていることで、そうした不潔で暗黙な地雷を踏み抜かないのもC++屋のスキルのひとつに
数えられてしまっているわけだが、本当なら、その種の問題解決に注がれるパワーは、もっと生産的な仕事に割かれるべき。
JavaやC#、DみたいなC++以降の言語のいずれもがヘッダのincludeを廃しているのは当然の流れ。

その一方で、テンプレートっていう他の言語には無い絶大な最適化機能を備えるに至ったわけでもあるのだけど。
0723デフォルトの名無しさん2005/05/25(水) 07:10:00
>>698
>ウィンドウプロシージャ
BWindow、BView、BButtonなどのBeOS側が用意してるクラスに
virtual void MessageReceived(BMessage *message);
という仮想関数があって、それをオーバーライドして書くらしい。
カーネルの実装の時点でそれらのクラスの仕様があって、
メッセージングが整数値とかじゃなく元から仮想関数を呼ぶように
なってるんじゃないかな。
07247232005/05/25(水) 07:20:08
訂正w
ウインドウプロシージャの形は
共通の仮想関数っていうだけで中身はほとんどWinAPIのと
同じ感じみたい。MFCだと全部メンバ関数呼び出し?なのに
何でだろうね。
0725デフォルトの名無しさん2005/05/25(水) 07:45:43
しかし関数の宣言をするだけのヘッダがないと既存のライブラリを使う時に困らないか?
0726デフォルトの名無しさん2005/05/25(水) 08:23:29
>>720
おまえが突然発狂して全部まとめて書いてあるソースから宣言と実装を切り出すツールを作成したら神
0727デフォルトの名無しさん2005/05/25(水) 08:24:06
普通のえぢただけつかってて、
ソース追いかけてて、
インターフェース確認するするとき、ヘッダーにまとまって書いてある方が
見やすいとおもうときもある。
ま、ヘッダーの実装が多いとそーともいえんけど...
ま、Java ならjavadocつかえとか、eclipseつかえとか言われるんだろうけど...



0728デフォルトの名無しさん2005/05/25(水) 08:32:45
javadocの出力より、doxygenの出力のほーが好きだな。
見やすいし、ドキュメントとリンクしたソースのhtmlもつけれるし。
(javadocでもソースのhtmlつくんかな?)
javaのソースをdoxygenでドキュメントするのってできたっけ...
スレ違いだったらスマソ
0729デフォルトの名無しさん2005/05/25(水) 08:46:33
スレ違いだけどウザイ発言ランキングを発表しまぁ〜す☆

1.「・・・」
不動の一位はヤッパリ「・・・」ですね!
とにかく腹立って仕方ありません!

2.「( ´ー`)y-~~」
うぜー。この人生悟ったかのような顔がムカツク!
芯で欲しいですねー!

3.「そそ。」
なんでそんな軽やかなんだよ。うぜー氏ね。
0730デフォルトの名無しさん2005/05/25(水) 08:52:46
> (javadocでもソースのhtmlつくんかな?)
つけようと思えば付けられたと思われ。
普通は、そんなアホな事しないと思うけど。

ドキュメントが単独で役に立たんなら
doxygenだろうが javadoc だろうが書く意味無いしね。
0731デフォルトの名無しさん2005/05/25(水) 09:03:01
>Doxygen is a documentation system for C++, C, Java, Objective-C,
> IDL (Corba and Microsoft flavors) and to some extent PHP, C#, and D.

全く問題なし。
0732デフォルトの名無しさん2005/05/25(水) 09:08:42
> 全く問題なし。
何か問題があったのか?
0733デフォルトの名無しさん2005/05/25(水) 10:19:00
仕事以外でC++を使ってヲタは邪魔
そんなやつって数百、千程度の小さな
ものしか書いたことないんでしょw
0734デフォルトの名無しさん2005/05/25(水) 10:34:16
>>733
先ず日本語を書いてくれ。
0735デフォルトの名無しさん2005/05/25(水) 11:18:27
ここみてると、プログラミングがつまらなく思えてくるから不思議だ。
0736デフォルトの名無しさん2005/05/25(水) 11:22:25
>>716にはがっかりだ。お前みたいのはC++を語る資格ないのでROMっててね。
0737デフォルトの名無しさん2005/05/25(水) 11:51:32
確かに今となってはプロトタイプ宣言とかはっきり言ってウザいな
0738GreatFixer ◆ASWqyCy.nQ 2005/05/25(水) 12:41:52
Re:>>692 コンパイラ、インタプリタの開発者の中にはそういう人が混ざっていないと困ると思うが。
0739デフォルトの名無しさん2005/05/25(水) 13:49:53
>>737
IDEの無い環境では今でも悪く無いよ、そのものがマニュアルのダイジェストみたいな感じで
それにしてもdoxygenを使うというのも悪くないけどな。
もっとも最近はコンパイル速度の障害になるというので、C++でもヘッダファイルの概念はなくなりそうだが。
0740デフォルトの名無しさん2005/05/25(水) 16:22:55
>>735
会社で数千のソースを毎日みてる人間からするとプログラミングなんてマジつまらないものだよ

そのまえの構想の方があえていうならちょっとはおもしろい
0741デフォルトの名無しさん2005/05/25(水) 17:11:15
>>739
早いところその日が来て欲しいもんだよな。
ヘッダファイルの展開で、コンパイル時間の7〜8割が持っていかれているって調査もあるそうだし。
0742デフォルトの名無しさん2005/05/25(水) 17:32:51
>>739
Cとの互換ということで永遠にC++にはヘッダファイルが付きまとうと俺は思うが。
0743デフォルトの名無しさん2005/05/25(水) 17:43:10
必要なら #include を書かなければならないが、
特に用が無いときは #import とか書くだけで済むの希望。
テンプレートの export が有名無実になってる現状では
それすら難しそうだけど…。
0744デフォルトの名無しさん2005/05/25(水) 19:00:39
いまだに仕様を満たすコンパイラが存在しない言語ってのも相当アレだよな。
ライブラリ作者に互換性のしわ寄せが行ってboostの実装がますます変態的になってゆく。
0745デフォルトの名無しさん2005/05/25(水) 19:02:24
boostは仕様に準拠してないコンパイラはある程度切り捨ててなかったっけ?
STLPortがひどい。
どこがコードなのかわからん位ひどい。
0746デフォルトの名無しさん2005/05/25(水) 20:53:35
やっぱ昔風に分割コンパイルして汎用のリンカでリンクってあたりがな。
コンパイラのサポートできる範囲に限界があるわけですよ、どうしても。

ヘッダのクラス宣言に何を含めるかってのは、クラス変更時の
リンク互換性だとかコンパイル時間だとかに大きく影響してくる
わけだが、最近のテンプレートマンセープログラミングスタイルの
流行によって、わりとそんなことは外に追いやられてる気もするな。
0747デフォルトの名無しさん2005/05/25(水) 20:56:43
Bjarne Stroustrupは、ヘッダにごちゃごちゃ書かないのが
好きみたいねやっぱ。
C以来の伝統で、ヘッダは基本的にインタフェース定義と見られてるから
「ヘッダざっと見るだけでクラスインタフェースが理解できる」のが重要だと。

その辺、JavaやC#あたりだとツールでドキュメント出力しちゃう、ツールサポート
に頼るという割り切り方をしてる訳だよな。

0748デフォルトの名無しさん2005/05/25(水) 21:14:37
>最近のテンプレートマンセープログラミングスタイルの
>流行によって、わりとそんなことは外に追いやられてる気もするな。

ていうか、気にしてたら一々書いてられない…。
ヘッダに自己ドキュメンテーション性があるのはよくわかるんだが、
テンプレートやコンパイル時のインライン最適化考えるとなあ。
限界があるよ、やっぱ。
0749デフォルトの名無しさん2005/05/25(水) 21:18:25
>>742
もうその方針ですすんでいるよ、
最新のgccではこの仕様が取り込まれているらしい、まだ使った事が無い。
0750デフォルトの名無しさん2005/05/25(水) 21:28:27
>>749
悪名高きgcc3.4のアレは、あの後どうなったの?
LanguageLawyer何人か宗教裁判にかける必要かあると思うんだが。
そうじゃないと恐ろしくてメジャーバージョン乗り換える気になれん。
0751デフォルトの名無しさん2005/05/25(水) 21:29:41
C++だとどうしても「ソースの再利用」の方向に進むよね。
これって計算機には優しくない。

その辺どうにかしようとしたのがCOMなんだが、やはりイマイチ。
面倒だし普通のC++クラスと同じようには使えないし。
0752デフォルトの名無しさん2005/05/25(水) 21:32:24
最近はすっかりC++の好きな所が変わってしまった、
ソースの再利用のような考え方よりも、シームレスな技術革新と取り込みが好きだな。
0753デフォルトの名無しさん2005/05/25(水) 21:35:41
>>752
>シームレスな技術革新と取り込み
ごめん。これよく分からない。具体的には例えばどういうこと?
0754デフォルトの名無しさん2005/05/25(水) 21:36:51
>>753
継ぎ目がないって事、新しい概念がでてきてもtemplateで大抵何とかしてしまえるですよ。
0755デフォルトの名無しさん2005/05/25(水) 21:38:13
C#は分らないが、Javaだとバージョンアップに頼る以外に方法がないってとこかな。
0756デフォルトの名無しさん2005/05/25(水) 22:27:47
なぜ、Delphiじゃいけないの?
0757デフォルトの名無しさん2005/05/25(水) 22:28:22
Delphiってテンプレートあるの?
0758デフォルトの名無しさん2005/05/25(水) 22:29:10
使ったこと無いからわからん
0759デフォルトの名無しさん2005/05/25(水) 22:32:24
RADプログラミングに慣れた僕はDelphiじゃないと生きていけません。
0760デフォルトの名無しさん2005/05/25(水) 22:37:14
なぜ、Lispじゃいけないの?
0761デフォルトの名無しさん2005/05/25(水) 22:46:56
Lisp は使いたい奴が使えば良い
Lisp じゃドライバ書けないしな
0762デフォルトの名無しさん2005/05/25(水) 22:51:46
ドライバ書ける=良い言語 なのか?
近い将来間違いなく、もっと上層からドライバ書けるような技術が生まれる。
0763デフォルトの名無しさん2005/05/25(水) 22:55:49
CやC++のような、低水準/リアルタイム性の高い領域をサポートする言語は
適用範囲が広いけれども、もっと狭い領域(それらをサポートしない)を
対象とする言語は、その領域に対してはベターなサービスを提供できる
「可能性がある」。

Bjarne Stroustrup自身、C++へのオプショナルなGCの導入にはかなり
意欲的というか希望をもっていたようだ。
Bohem GCにはC++用のラッパもついていたような気がするけれど
つか、Managed C++?
0764デフォルトの名無しさん2005/05/25(水) 23:00:43
Lisp じゃダメな分野もあるって事さね
GC 無しで動いて C とリンク可能なオブジェクトコードを生成
出来る Lisp が作られれば話は別だが

宣伝なんかしなくても、潜在的 Lispnik は何れ Lisp Land に
辿り着くさ
0765デフォルトの名無しさん2005/05/25(水) 23:06:45
実務のコードの多くがエラー処理に費やされることを考えると、
JavaやC#の御気楽で便利で使いやすい例外機構やGCの存在は
大変にありがたい。
0766デフォルトの名無しさん2005/05/25(水) 23:09:59
>>765
同意。使いやすいことに罪はない。
実際のところ、Javaで構築されたシステムって安定してるよ。
0767デフォルトの名無しさん2005/05/25(水) 23:52:10
GCが使えてなおかつデストラクタがちゃんと走れば最高
0768デフォルトの名無しさん2005/05/25(水) 23:59:57
>>767
一応ファイナライザはあるよ
でもGC備えた言語ってなんでオブジェクトをプログラムからdeleteする方法を提供したがらないんだろう?
0769デフォルトの名無しさん2005/05/26(木) 00:04:04
delete するオブジェクトを参照しているオブジェクトが居たらどうする?
0770デフォルトの名無しさん2005/05/26(木) 00:10:35
>>767
実行タイミングが不定で制御できないデストラクタなんぞ何の役にもたたない。
GC系の言語では(デストラクタでやるような)リソースの破棄は
明示的にやるしか無かろう。
0771デフォルトの名無しさん2005/05/26(木) 00:12:13
ファイナライザってアプリケーション終了時には呼び出されなくなかったっけ?
0772デフォルトの名無しさん2005/05/26(木) 00:13:17
C++/CLI最強の予感
0773デフォルトの名無しさん2005/05/26(木) 00:49:30
C++を使う理由のほとんどがtemplateと制御可能なデストラクタにあると思われ。
0774デフォルトの名無しさん2005/05/26(木) 01:00:58
>>773
いんや。実行時効率と環境依存性の小ささでしょ。
そういう面でのC++のライバルはCしかいない。で、いまさらCを使いたくない
人たちがC++を使っている。
0775デフォルトの名無しさん2005/05/26(木) 01:07:03
そういえばEifelとかどうなんだ
Cのソースを出力するCfrontみたいな実装で
テンプレートと多重継承とGCサポートするオブジェクト指向言語だが
見事に消えたな
0776デフォルトの名無しさん2005/05/26(木) 01:10:15
>>774
>環境依存性の小ささ

それはギャグで言っているのか?
0777デフォルトの名無しさん2005/05/26(木) 01:16:24
>>776
いや、組み込みでも使えるような言語ってほかには
わりと少ないと思うんだけど
リッチなホステッドエンバイロンメント以外でも使えるというか


ギャグに見えた?
0778デフォルトの名無しさん2005/05/26(木) 01:23:27
組み込みで使えると環境依存性が小さいことになるんだー、へー。
喧嘩売ってんのか?
0779デフォルトの名無しさん2005/05/26(木) 01:25:16
別に喧嘩なんぞ売ってないよ。
言いたいことがあればそおゆう迂遠な書き方をせずに、はっきり言えばいいじゃん。
0780デフォルトの名無しさん2005/05/26(木) 01:27:11
なんかここ見てるとC++erも意外とレベル低いなぁ。
平均だとJavaのほうが頭悪そうだけど、
優秀な技術者はJavaのが多そうだね。
0781デフォルトの名無しさん2005/05/26(木) 01:28:43
つれますか?(w

ま、俺はC++erじゃないからどうでもいいが
0782デフォルトの名無しさん2005/05/26(木) 01:31:15
>>779
C++は実行環境に依存する前にコンパイラに依存してしまうよ。
07837742005/05/26(木) 01:35:20
すまん言葉が悪かった。
俺は単に「プアな環境でも動く」という意味で「環境依存性が小さい」
と言ったんだ。

無論C++は比較的低レベルな言語だから、アーキテクチャやシステムへの
依存性は激しいし、コンパイラの標準準拠度もてんでまちまちだしな。
0784デフォルトの名無しさん2005/05/26(木) 01:46:19
最善と思われる言語で組めば良い。
0785デフォルトの名無しさん2005/05/26(木) 06:05:25
ゲーム屋の漏れには他の選択肢なんてないわけなんだが
組み込み屋の人も選択肢なさそうだなあ
0786デフォルトの名無しさん2005/05/26(木) 09:03:13
>>778は逃げたのね。
何も考えていないくせにとりあえず噛み付くのは
おすすめできないなぁ。痛いし。臭いし。
0787デフォルトの名無しさん2005/05/26(木) 09:31:03
>>778は在日チョン。
0788デフォルトの名無しさん2005/05/26(木) 09:32:30
ここのC++マンセー連中の程度が低いってことは
世の中のC++ユーザの程度も知れたもんだな
0789デフォルトの名無しさん2005/05/26(木) 09:38:50
>>788
お前もな。
0790デフォルトの名無しさん2005/05/26(木) 12:53:08
どーでーもいーいですよ〜
0791デフォルトの名無しさん2005/05/26(木) 16:27:04
ちゃんと動いてくれればー。
0792デフォルトの名無しさん2005/05/27(金) 14:19:38

しーぷらぷら
0793デフォルトの名無しさん2005/05/27(金) 16:57:19
C丼がネイティブ吐ければ、いつでも乗り換えるのに。
0794デフォルトの名無しさん2005/05/27(金) 16:58:48
とはいえ、プロも歳をとれば油断する。
大事故になりかねない。
若い奴でも調子に乗ればとんでもない殺人を犯すことになる。
プロでも酒を飲めば3人の高校生の命を奪ってしまう最近の交通事故のように
なることもありうるのだ。

JR西日本のような列車事故は焦ったために起きたことだ。
焦りに焦ってバグで人を殺すようなプログラミングをすることは許されない。

私はC++を医療器や航空機に使うことは反対だ。
C++は使い方を誤ると誤って患者や旅客の命を奪いかねない言語だからだ。
だから人の命を奪う恐れが高いC++は普及させないほうがいいと思っている。
時間とかければいいとはいえ、顧客は容赦しない、
「他の言語でやすくできるならなぜC++では安くできないのか?」
と問いつめてくるのだ。そうなると大抵の企業はものを「お客様は絶対的な神様だ」と称して
ものを速く完成させようとすると。すると徹夜残業が増える。徹夜残業しても間に合わないので
C++にしかできないとんでもないスパゲティコードが生まれる。
そしてC++のコードが世に増えれば増えるほど無駄に徹夜する時間が増えてしまう。
C++のコードを貰い受け、引き継ぎ、苦労する後継者が増える。
そして焦りが人の命を奪う。

だから、私はC++だけで作られた自動操縦システムを開発することに反対する。
JR西日本のような列車事故を二度と起こさないためにも。

少なくともC++に厳重なルールとC++の規格が統一されるまでは
C++は普及させないほうがいいだろう。人々の命を救うためにも。
0795デフォルトの名無しさん2005/05/27(金) 17:05:16
で、VBで作ったら緊急事態時にアプリ起動エラーが起きそうだね。
0796デフォルトの名無しさん2005/05/27(金) 17:07:24
じゃあ何を使うのがいいんだろう?
Adaあたり?
0797デフォルトの名無しさん2005/05/27(金) 17:14:37
そもそも794の言うことはどんなプログラミング言語にも当てはまるんじゃないかと思う。
0798デフォルトの名無しさん2005/05/27(金) 17:46:44
マジレスすると汗らしい
0799デフォルトの名無しさん2005/05/27(金) 18:22:29
ぶっちゃけコンパイル遅すぎじゃん? > C++
0800デフォルトの名無しさん2005/05/27(金) 19:18:49
ぶっちゃけコンパイル遅すぎです。C++。
つーか、プリコンパイルヘッダを使えない環境でのC++が遅すぎ、てのが正解だろうか。
マクロとテンプレートがあるからなあ。
数行のソースコードのコンパイルのために、何万行のヘッダを展開したりすることもあるわけだし。
0801デフォルトの名無しさん2005/05/27(金) 20:48:47
いいじゃん
実行時に遅いよりは。
0802デフォルトの名無しさん2005/05/27(金) 21:16:07
>>794
まったくもって激しく同意。
命に関わらないところで普及してほしい。
0803デフォルトの名無しさん2005/05/27(金) 21:17:40
>>794
マジでクリティカルなところは最小限の機能に絞って
さらに低レベル言語で実装するのは信頼性を上げるもっとも簡単な方法だよ。
昔のコンピュータは間違いが無いというのが売りだったのを知っているか、
最近はすっかり絶望的だね、といっても古い機械を知らない人間には理由は分らんか・・・
0804デフォルトの名無しさん2005/05/27(金) 21:25:42
昔は仕組みが単純だったから。
今なぜこんなに複雑になってるか考えてみた。
キーワードは”仮想”だ。仮想が全てを複雑にしている。
直にしてくれよ!もう嫌、もうだめぽkぢぽssんh
0805デフォルトの名無しさん2005/05/27(金) 22:01:58
>>804
あらゆる要求に答えようとすれば複雑になってゆくのは当然のこと
0806デフォルトの名無しさん2005/05/27(金) 22:17:00
やっぱり生がいちばん
0807デフォルトの名無しさん2005/05/27(金) 22:27:06
エッチですね
0808デフォルトの名無しさん2005/05/27(金) 22:33:30
ビールの話だけど?
0809デフォルトの名無しさん2005/05/27(金) 22:36:31
他のOO言語に対してC++の唯一のアドバンテージはautoデストラクタ
こいつのおかげでコード量が確実に短くできる
実はOOと何の関係もない

それとテンプレート
実はOOと何の関係もない
0810デフォルトの名無しさん2005/05/27(金) 22:38:39
実はC++を使う理由としては、上の様に
「プログラムの制御が楽になる」という事以外にない

この事にOOは全く貢献していない
0811デフォルトの名無しさん2005/05/27(金) 22:38:59
実はも何もテンプレートとOOは関係ないだろ、
関数テンプレートって知らんのか?
0812デフォルトの名無しさん2005/05/27(金) 22:43:59
実はこのスレの書き込みから結論を導き出すと、
今のC++からOOを取り除いた言語が最良ということになる
OOは問題を無闇に複雑化し、設計を間違えると
保守すらできなくなる可能性を抱えている

すなわちC++にOOは不要
0813デフォルトの名無しさん2005/05/27(金) 22:44:45
まぁ、高度なことやってる俺ってカッコいいじゃん!
って自尊心が、ぶっちゃけ、C++を使う一番の理由だな。
0814デフォルトの名無しさん2005/05/27(金) 22:45:34
OOを取り上げられたら俺が開発できない。
しかし他のOO言語なんていやだ。
俺のためにもOOは必要。
0815デフォルトの名無しさん2005/05/27(金) 22:45:51
>>311
それがわかってない人がいっぱいいる
ってのがわかってないみたいねw
0816デフォルトの名無しさん2005/05/27(金) 22:46:46
>>811
0817デフォルトの名無しさん2005/05/27(金) 22:47:42
>>813
C++からOOを取り除くと、あら不思議、高度なことなんて何もない
0818デフォルトの名無しさん2005/05/27(金) 22:50:24
STL、つまりコンテナとイテレータとアルゴリズムの存在が俺にとってのC++の意義。
OOなしでC++プログラミングするのはいいけど、STLは絶対に抜かせない。

何か矛盾している?
0819デフォルトの名無しさん2005/05/27(金) 22:51:17
やっと継承=害だと認知されてきてるけど、
OOそのもの=害と認知されるまであと何年掛かるかね。
0820デフォルトの名無しさん2005/05/27(金) 22:52:03
STLなどの「非OO部分」も、継承やクラスの概念を活用している。
C++を非OO言語にするとしても、継承やクラスを削除するわけにいかないから、
結局いまとほとんど同じ文法になるんじゃないの。
0821デフォルトの名無しさん2005/05/27(金) 22:53:45
コンテナとイテレータとアルゴリズムに分けてる時点でOOだと思う。
Javaとかの動的なOOとは質がかなり異なるけどさ。
普通データとそれを操作するアルゴリズムは切っても切れないけど、
テンプレートを使うことで両者を切り離して独立させてる。
コンテナ、イテレータは当然オブジェクトだけど、
アルゴリズムすらもオブジェクトとして扱われている。
08228202005/05/27(金) 22:54:00
テンプレートライブラリだけではなく、例外の分類にも継承を使っている。

って考えてみると、継承はOO用には有害な概念だが、
非OO用には結構便利な概念かもしれないな。
0823デフォルトの名無しさん2005/05/27(金) 22:54:55
ライブラリに必要な多態とOOは何の関係もないから、
なんとかなるんじゃねーの。
0824デフォルトの名無しさん2005/05/27(金) 22:56:56
今のC++にとってclassという切り分け方が歪なものなんじゃないかと思う。
0825デフォルトの名無しさん2005/05/27(金) 22:58:55
>>821
OOの概念だけで良いならJavaのようにclassで切り分けできる筈なのに、
なぜそれをC++では使ってないか判ってる?
0826デフォルトの名無しさん2005/05/27(金) 22:59:53
>>825
Javaなどで言ってるOOとは質が違うと断ってるじゃないか。
0827デフォルトの名無しさん2005/05/27(金) 23:01:32
正直いまどきC/C++なきゃいけない組み込みなどの特殊な分野だけだろ
Windowsに限って言えばC#が最強
0828デフォルトの名無しさん2005/05/27(金) 23:03:07
>>826
質が違うだけか?
それはすなわちOOの概念に合致してないってことでしょ。
無理に既存の物に当てはめる必要なんてない。
0829デフォルトの名無しさん2005/05/27(金) 23:04:23
>>827
C#最強だけどUIに凝るとどんどん遅くなっていくよ。
C++の場合、人間が感じられる速度の遥か上を行ってるから多少遅くなっても気づかないけど、
C#の場合、もともとぎりぎりの速度だから遅くなってくるとどうしても体感してしまう。
0830デフォルトの名無しさん2005/05/27(金) 23:04:28
>>827
はいはいC#最強。良かったね。
0831デフォルトの名無しさん2005/05/27(金) 23:08:05
C++には基底オブジェクトがないから、OO使う旨みが元々少ない。
コンテナもイテレータもアルゴリズムも、基底オジェクトがあれば
それぞれ別のものになってたはず。
つまりOOイラネ。
0832デフォルトの名無しさん2005/05/27(金) 23:08:32
>>828
それに別の名前をつける必要があるかと言われたらあるかも知れないけど、
俺的には

共通OO
 ↑
Smalltalk/Java/C#OO

もっと根本的なOOがあって、そのサブセットとしてJavaなどのOOがある気がする。
0833デフォルトの名無しさん2005/05/27(金) 23:10:37
>>831
基底クラスはほしいね。
structとclassを殆ど同じ意味なんかにしないで、
classにした場合はobjectクラスを継承するとかにしてほしいね。
0834デフォルトの名無しさん2005/05/27(金) 23:12:18
>>832
C++はもうOOの系統木からは大分外れてるって

>>833
C#使いたいが、Windows限定という時点でもうアフォかと
08358202005/05/27(金) 23:12:21
共通基底クラスがなかったからこそテンプレートという
概念が発達したわけで・・。

共通基底クラスいらない。
0836デフォルトの名無しさん2005/05/27(金) 23:13:24
OO の共通項を探そうとすると、クラスや継承と言った概念も意味をなさなくなる罠
0837デフォルトの名無しさん2005/05/27(金) 23:17:52
基底クラスイラネ=OOイラネ

つまりC++の場合テンプレートの思想に倣ってオブジェクトとか関係なく
インターフェースさえあってりゃいいんだよな?

もうクラスに属するオブジェクトはお荷物的存在
全部テンプレートオブジェクトでいいよ
0838デフォルトの名無しさん2005/05/27(金) 23:18:59
>>834
C++があったからこそJavaやC#だって出てきたんだろ。(C++のあれこれにケチつけて)
0839デフォルトの名無しさん2005/05/27(金) 23:22:13
C++ 無くても Java は出てきたと思うが
0840デフォルトの名無しさん2005/05/27(金) 23:22:34
全てのクラスは基底オブジェクトから継承するって考えは悪くはないと思うけど、
intとかの基本型もそうするってのは受け入れがたいな。
0841デフォルトの名無しさん2005/05/27(金) 23:24:23
C#がWindows限定だと思ってる知恵遅れがいるスレはここですか?
0842デフォルトの名無しさん2005/05/27(金) 23:27:36
OOなんて無いほうがいい。
実は90年以降のデスマーチの原因は全てOOの仕業。
ほとんどが状態を把握しきれなくなりメンテ不能に陥り、
リファクタリング地獄で自滅というパターンだ。
納期が定められた仕事では良質なスパイラルになるわけがない。
0843デフォルトの名無しさん2005/05/27(金) 23:29:43
>>842
おじいさん。そろそろ引退してください。
みんな、おじいさんの引退を待ってるんです。
はっきり言って邪魔なんです。
年金やるからそこをどけと。
0844デフォルトの名無しさん2005/05/27(金) 23:29:45
>>837
vector< T* > とやったら、 T に求められる I/F さえ満たしていれば何でも入れられるってこと?
すごく良いけど、事前に T に求められる I/F を定義する必要があるよね?
そして今のC++では抽象クラス T を使用する事でそれを実現してるわけで。
0845デフォルトの名無しさん2005/05/27(金) 23:35:25
>>839
家電向けのC++ライブラリを作ろうとしていたが
いろいろ不満があったらしくそれなら新しい言語を作ろうということになって
出来たのがJavaの前身であるOakっていう話があった記憶がぼんやりとw
0846デフォルトの名無しさん2005/05/27(金) 23:37:05
>>844
まぁJavaGenericsみたいに特定クラスを継承したクラスだけに限定できる機能は欲しかったかも
0847デフォルトの名無しさん2005/05/27(金) 23:37:32
C@(しーあっと)というのが無かった?
もう忘れた
0848デフォルトの名無しさん2005/05/27(金) 23:38:15
>>843
おじさん、おれまだ高校生ですよ
0849デフォルトの名無しさん2005/05/27(金) 23:40:06
>> 実は90年以降のデスマーチの原因は全てOOの仕業。

まるで経験して来たかのような物言いだな。
0850デフォルトの名無しさん2005/05/27(金) 23:41:31
これまでの話をまとめると、
C++にとってOOは踏み台だったということでいいね。
今後もテンプレートが強化されてってOOはそのうち消えていくと。
0851デフォルトの名無しさん2005/05/27(金) 23:41:43
Cにテンプレートとデストラクタがあったら最強ってことか。
俺はネームスペースもほしいぞ。
0852デフォルトの名無しさん2005/05/27(金) 23:42:10
例外の基底は欲しいぞ

C++だと例外に共通の基底はないし
例外オブジェクトがポインタ渡しだったりリファレンス渡しだったりで
とにかく例外まわりの処理が面倒だ

まあスタックトレースしてくれるような贅沢は無理にしてもな
0853デフォルトの名無しさん2005/05/27(金) 23:42:18
とりあえずメンバ関数も欲しい
0854デフォルトの名無しさん2005/05/27(金) 23:43:12
CにLispなみのマクロがついたものが最強
0855デフォルトの名無しさん2005/05/27(金) 23:44:39
>>850
OOが便利な対象領域や問題もあるんだよ
それが唯一の解ではないと、やっと広く認識されただけ
0856デフォルトの名無しさん2005/05/27(金) 23:46:44
テンプレートの威力がそれほどすごかったってことだろうな
0857デフォルトの名無しさん2005/05/27(金) 23:46:48
ひまわり でいいじゃん
0858デフォルトの名無しさん2005/05/27(金) 23:47:23
>>851
ネームスペースの前にクラスをくれ。
デストラクタはいらん。デストラクタやスタック巻き戻し時の掃除のような
高級なものに頼らず、longjmp/setjmpを潔く使うのがCの作法だろ。
0859デフォルトの名無しさん2005/05/27(金) 23:47:53
近いうちに、C++はマイナー言語へ後退。
かわってC#がメジャー言語の座へ!!
0860デフォルトの名無しさん2005/05/27(金) 23:48:51
「○○は良い言語だが△△の機能があれば更に良い」
こうして言語仕様は肥大化して行く
0861デフォルトの名無しさん2005/05/27(金) 23:49:09
>>856
そりゃそうだろうな。
STLのコンテナとJavaのコンテナ比べてJavaのほうが良いっていうやつはまずいないだろ。
0862デフォルトの名無しさん2005/05/27(金) 23:50:06
>>860
どっかで見たなぁその文言。
言語ではなかった気がするけど。何だっけ。
0863デフォルトの名無しさん2005/05/27(金) 23:50:54
>>845
C++ じゃダメポっつーのが直接の引き金みたいね

http://en.wikipedia.org/wiki/Java_programming_language

C++ から受け継いだのは syntax only な気もするけど
0864デフォルトの名無しさん2005/05/27(金) 23:52:49
とりあえずJavaやC#にあってC++にない強力な機能として
動的なクラスローディングやリフレクションがあげられる訳だが
0865デフォルトの名無しさん2005/05/27(金) 23:54:42
>>864
そこでmanaged C++ですよ。

てか、RTTIをもうちょっとリッチにしてほしいね。
メンバ関数名を文字列で渡して関数ポインタが取れたらメチャうれしい。
0866デフォルトの名無しさん2005/05/27(金) 23:54:51
>>861
STLはコンテナというよりは、全てのアルゴリズムをコンテナ独立の
イタレータで記述するというアイデアが優れているんだと思うが

そーいえばマルチスレッド環境でSTL使ってる人いる?
アパートメントモデル風に使えば、STLも問題ないのかしら
0867デフォルトの名無しさん2005/05/27(金) 23:55:52
>>865
そういう、ハウスキーピングが必要になる類のリッチさを導入しない
ってのがC++の理念だからしょうがない
0868デフォルトの名無しさん2005/05/27(金) 23:56:07
おら、モノと#デブがもうちょっとガンガってくれれば、C#に乗り換えてもいいべさ。
ゲイツのキンタマで腰をフルのは癪だけどなー。
0869デフォルトの名無しさん2005/05/27(金) 23:57:48
managed C++にするくらいならC#のほうがいいと思う
つかCLIにコンパイルされるものなんて不要
0870デフォルトの名無しさん2005/05/27(金) 23:58:16
>>868
完全な乗り換えは不能でしょ
C#はCやC++の代用にはならない
0871デフォルトの名無しさん2005/05/27(金) 23:58:19
>>865
そこで Objective-C ですよ

実行時に色々やろうとすると遅くなるから
C++ 使いには不評だろうけど
0872デフォルトの名無しさん2005/05/27(金) 23:59:15
C#でもunsafeなコードは書けるしな一応
俺もドトネトするんならC#が一番キモチイイと思う
0873デフォルトの名無しさん2005/05/28(土) 00:01:15
ところでD言語はどうなのよ?
0874デフォルトの名無しさん2005/05/28(土) 00:01:33
典型的なCプログラマはallocaが大好き
C#のstackallocはそんなCプログラマがハァハァできる機能なのさ
0875デフォルトの名無しさん2005/05/28(土) 00:02:23
>>873
CやC++のヘッダをそのまま取り込めないのはやっぱめんどう
COMとのinteropは半自動化されるC#とかのがまだ楽
0876デフォルトの名無しさん2005/05/28(土) 00:10:16
>>874
Javaなら1.4からNewIOに加わったDirectByteBufferなんてのがあるぞ
http://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/NewIO/Buffer/Buffer.html
0877デフォルトの名無しさん2005/05/28(土) 00:12:12
Javaは1.4でかなりまともなサーバアプリケーションが記述できるように
なったな
1.3よりまえだと、確かSocketはあってもShutdownがないせいで
正しいechoさえ書くことができなかったのに
0878デフォルトの名無しさん2005/05/28(土) 00:17:55
言語は楽器
0879デフォルトの名無しさん2005/05/28(土) 00:23:50
Factoryパターンが本当にオイシイのはやっぱリフレクションが使える場合だろう
Java業界では今やDIのおかげで死滅しかけてるけど

ま、Java方面では、マジでリフレクション使われまくりだよな
あれはC++には真似できん
スクリプト言語ならeval()だな
0880デフォルトの名無しさん2005/05/28(土) 01:08:53
ぶっちゃけ、テンプレートとマクロの違いが分からん。
マクロで書いとけば良くね?
0881デフォルトの名無しさん2005/05/28(土) 01:10:48
マクロはウンコだからなあ。
0882デフォルトの名無しさん2005/05/28(土) 01:13:32
テンプレートクラスをマクロで実現しようとしたら大変だろうな...
0883デフォルトの名無しさん2005/05/28(土) 01:15:01
>>829
> C#の場合、もともとぎりぎりの速度だから

ちがうよ。Windows Formsがギリギリの速度なんだよ。ほかはそんなに悪くない。
0884デフォルトの名無しさん2005/05/28(土) 01:15:39
むかしのC++にはまさにテンプレートににたことをやるマクロが
標準?ヘッダに付属していたらしいね
0885デフォルトの名無しさん2005/05/28(土) 01:20:03
昔のCマガにそんな感じの記事があったような
0886デフォルトの名無しさん2005/05/28(土) 01:23:18
うん、マクロ版ならCでも使えるのが魅力だ。
0887デフォルトの名無しさん2005/05/28(土) 01:42:06
うん、マグロ女ならCでも使えるのが魅力だ。
0888デフォルトの名無しさん2005/05/28(土) 01:45:00
マクロは別言語を創造できてしまうから、本来的に言語仕様の範疇をぶっ壊してしまえる強力「すぎる」機能。
テンプレートに置換すれば、タイプセーフ等のヒューマンエラー対策機能の恩恵を受けられるが、
マクロでそれは不可能。
namespaceもへったくれも無いから、影響範囲も限定できないし。
そりゃ敬遠される罠。
0889デフォルトの名無しさん2005/05/28(土) 01:47:12
まあATLとかWTLとかマクロつかいまくりだけどな
0890デフォルトの名無しさん2005/05/28(土) 01:51:57
おかげで名前の衝突に利用者が合わせなきゃならん。

MSがおたんちんなだけだが、windows.h を include したら、STL の numeric_limit が使えなくなった時には
どうしてくれようかと思ったよ(min や max がマクロ定義されてる)。
0891デフォルトの名無しさん2005/05/28(土) 01:59:07
>>890
VC7.1では流石に名前が変わっていたと思った。
0892デフォルトの名無しさん2005/05/28(土) 02:42:31
windef.hの問題だから、vc7.1うんぬんとは関係ない気もするが...
ついでに、まあC向けのAPIだから、仕方の無い面もあるんだが...

とりあえず
NOMINMAXをdefineしておくと、maxやminを#defineしなくなるようだぞ。

それはそうと、ヘッダのファイル名とかもなにげにグローバルなんだよな。
本当は、どっかのディレクトリに封じ込めて
foolib/bar.h
のように#includeするほうが行儀がよい。
0893デフォルトの名無しさん2005/05/28(土) 07:58:55
NOMINMAXはいつも定義している。
min/maxがほしくなったら<algorithm>のテンプレートで書かれた方を使う。
0894デフォルトの名無しさん2005/05/28(土) 09:28:55
>>801
実行時の遅さなんかたかが知れてるから、開発効率を優先した方がいいと思った。
0895デフォルトの名無しさん2005/05/28(土) 11:20:22
>>894
プログラマの思考速度は輪をかけてたかがしれているから、なれれば意外と平気です
つぎのバッチジョブ受付時間は三時間後ですとか、著しい遅さでなければ開発効率には無問題
なおアプリを使っている人間は三秒以上またされたらイライラします

ま、微妙なコンパイル時間がイライラの原因になっていることは確かだが。
開発効率とは無関係だろう
0896デフォルトの名無しさん2005/05/28(土) 12:19:28
おれはJavaでやるよりC++使ったほうが速い。
何んでだ?
どうも俺にはJava使ったほうが速くなる理由が見当たらないんだが。
0897デフォルトの名無しさん2005/05/28(土) 12:21:58
>>894
俺は、C#だかJavaだかで効率的に開発されたものと、
C++で必死こいて開発されたものが、同じ値段で、既に完成版と
して売られているのであれば、C++版の方を買う。
買い手にとっては、開発効率なんてどうでもいいこった。
0898デフォルトの名無しさん2005/05/28(土) 12:43:06
買い手にとっては、言語なんてどうでもいいこった。
0899デフォルトの名無しさん2005/05/28(土) 12:43:45
もっさり感は重要だぞ
0900デフォルトの名無しさん2005/05/28(土) 12:46:49
JavaやVBみたいに別途ランタイムが必要なアプリは普通に萎えるよ
0901デフォルトの名無しさん2005/05/28(土) 12:48:55
C#/JavaとC++なら同じ値段にならないんじゃね?
つかパッケージでC#/Java使うバカがどこにいるんだよw
0902デフォルトの名無しさん2005/05/28(土) 13:05:17
C#でもJavaでもうまく作ればもっさりにならないと思う。
市販ソフトでJavaはありえないな。
0903デフォルトの名無しさん2005/05/28(土) 13:14:55
ところがC++では少しくらいへぼなつくりでももっさりにならないわけで。
0904デフォルトの名無しさん2005/05/28(土) 14:07:32
それは確かに利点だな
0905デフォルトの名無しさん2005/05/28(土) 14:09:44
つまり自分で最適化できない奴→C++を使う。
自分で最適化できるやつ→Java/C#を使う。
0906デフォルトの名無しさん2005/05/28(土) 14:35:12
今どき最適化なんか人間様がすることじゃねーよ
0907デフォルトの名無しさん2005/05/28(土) 14:44:25
いまどきメモリ管理なんか人間様がすることじゃねーよ
0908デフォルトの名無しさん2005/05/28(土) 15:04:43
C++やっててメモリ管理なんかで困ったことはないな。
よっぽどのヘボだけだろ、そんなんで右往左往するのは。
0909デフォルトの名無しさん2005/05/28(土) 15:52:44
>>908
おれも無い。
0910デフォルトの名無しさん2005/05/28(土) 16:30:35
>>902
最近のミドルウェアはJava多いですけど何か?
0911デフォルトの名無しさん2005/05/28(土) 16:36:08
>>902
swingだのWinFormsだのが遅いんでは「うまく作れば」もくそも無い気がするが。
0912デフォルトの名無しさん2005/05/28(土) 16:58:21
用途によって使い分ければいいだけじゃん。
制御の仕事だったらC++。
業務だったらJavaとかC#とかVB。
文句アル?
0913デフォルトの名無しさん2005/05/28(土) 16:59:30
VBはやめて
0914デフォルトの名無しさん2005/05/28(土) 16:59:57
VBで書かれたクライアントは.NETやJavaより軽いよ
0915デフォルトの名無しさん2005/05/28(土) 17:00:22
そうか?業務でJavaっての方がどうかと思うぞ?
サーバサイドの方がいい。
0916デフォルトの名無しさん2005/05/28(土) 17:01:24
業務にはサーバーサイドが無いのだろうか
むしろクラサバって典型的な業務な匂い
今ならWeb+DBな
09179152005/05/28(土) 17:01:29
>>913ね
0918デフォルトの名無しさん2005/05/28(土) 17:03:13
お前らJABA全盛の時代に何レベル低い争いしてんだよ
0919デフォルトの名無しさん2005/05/28(土) 17:04:06
VBはやめて
0920デフォルトの名無しさん2005/05/28(土) 17:15:16
実際ほとんどの場合、速度が求められることはない。
0921デフォルトの名無しさん2005/05/28(土) 17:16:30
ぶび6の新規開発もありまっせ。
恐ろしい事に。
0922デフォルトの名無しさん2005/05/28(土) 17:17:18
>>918
JABAってどういう言語?
0923デフォルトの名無しさん2005/05/28(土) 17:19:46
Just Another BAsic
0924デフォルトの名無しさん2005/05/28(土) 17:22:25
>>921
俺今VB6のクラサバのシステムを.NET + WebServiceに移植してるけど
これ、お客さんに対する売りって何かあるのかとか思うよ正直

まあもとのシステム、バグバグみたいだからそれよかマシには
なるだろーけど
0925デフォルトの名無しさん2005/05/28(土) 17:32:03
>>924
デマルコの本に書いてあったよ。
開発者が開発にかかる費用・期間の見積もりを出すのと同じ精度で
発注者はその製品がもたらす効果の見積もりを出す責任を追わなければいけないって。
0926デフォルトの名無しさん2005/05/28(土) 17:39:35
そして誰も発注しなくなった…
0927GreatFixer ◆ASWqyCy.nQ 2005/05/28(土) 17:46:34
Re:>>923 何でJABじゃないの?
0928デフォルトの名無しさん2005/05/28(土) 17:53:45
>>925
>開発者が開発にかかる費用・期間の見積もりを出すのと同じ精度で
>発注者はその製品がもたらす効果の見積もりを出す責任を追わなければいけない
つまり、丼勘定で良いってことだな。
0929デフォルトの名無しさん2005/05/28(土) 19:07:24
>>925
「お客様は、神様です」
が基本路線の日本のビジネスの世界では、ありえない考え方。
0930デフォルトの名無しさん2005/05/28(土) 19:22:40
>>924
あとあとほかの業者がメンテするときに、
低コストで済みます

でどーよ。
0931デフォルトの名無しさん2005/05/28(土) 19:23:02
それはお前が無知なだけ。

The customer is always right !

とか聞いたこと無い?
0932デフォルトの名無しさん2005/05/28(土) 19:23:44
>>931は>>929宛
0933デフォルトの名無しさん2005/05/28(土) 19:32:44
> 日本のビジネスの世界では

ここポイント
0934デフォルトの名無しさん2005/05/28(土) 19:53:47
つまり、どの国のビジネス界にとってもありえない考え方と言うことか。
0935デフォルトの名無しさん2005/05/28(土) 20:14:44
結局C++ってどうなの?
最近独学で始めたんだけどこのスレ見てて
今から始めてもあんまり恩恵が少ないような気がしてきた
プログラムでメシ食ってくならJavaなのか?
0936デフォルトの名無しさん2005/05/28(土) 20:21:29

Dがどうかな
0937デフォルトの名無しさん2005/05/28(土) 20:26:14
>>935
何したいかによる
今からはじめるつもりならC++
C++で挫折するぐらいなら業界にいらない
業界で食っていくつもりならC++
Javaなんてすぐ覚えられる
すぐ覚えられないようなクズは業界にいらない
0938デフォルトの名無しさん2005/05/28(土) 20:27:39
>>936
Delphiならともかく、Dに就職口ないよ
面接でD言語とか言っても煙たがられる
0939デフォルトの名無しさん2005/05/28(土) 20:27:57
いらない奴がいっぱいいるので生産性が上がらない
0940デフォルトの名無しさん2005/05/28(土) 20:30:16
C++やってれば土日でJava覚えて月曜からプロジェクト参加も可能
0941デフォルトの名無しさん2005/05/28(土) 20:32:04
プログラムでメシを食っていこうとする人がする質問じゃないな。
なんで言語を限定したがるのか。
0942デフォルトの名無しさん2005/05/28(土) 20:33:46
>>935
メシ喰っていける人はalgol系の言語(C、C++、Java)だったら、
だいたいなんでも使えます。文法はよく似ているし、言語仕様を
完璧に知らなくても、コンポーネントをくっ付けるだけのコードだったら
そんなに難しくない。

ただOOでフレームワーク(ソフトウェアの雛型)を作るような作業は、
言語仕様をよく知っている人がやらないと危険。
0943デフォルトの名無しさん2005/05/28(土) 20:41:26
>>940
土日に仕事を持ち込んでる時点でプロ失格。
0944デフォルトの名無しさん2005/05/28(土) 20:53:40
IT業界に居て、ソースコードを書いてる時点で負け組み。
そんなものは下っ端の仕事。
0945デフォルトの名無しさん2005/05/28(土) 20:54:06
一人で大規模なソフトウェアを作るならC++。(将来、C#も候補になるか?)
中規模なソフトウェアを作るならC#かJava。
チームで作るならC#かJava

ってところか。
0946デフォルトの名無しさん2005/05/28(土) 20:58:55
944はどんな仕事してるんですか?
0947デフォルトの名無しさん2005/05/28(土) 21:05:41
お茶くみ。
0948デフォルトの名無しさん2005/05/28(土) 21:10:13
おれは受付嬢やってる彼女がいる
0949デフォルトの名無しさん2005/05/28(土) 21:12:54
>>948=勝ち組
0950デフォルトの名無しさん2005/05/28(土) 21:14:35
日本では腕のいい優秀な奴が現場で先頭に立ってバリバリ開発する
執刀医スタイルがなかなか普及しないからなあ。
少なくとも業務系とかでは。

どこの会社も優秀な奴はさっさと昇進させてつぶしてしまうという
ピーターの法則実践してる。
もうアフォかと。
0951デフォルトの名無しさん2005/05/28(土) 21:27:30
>日本では腕のいい優秀な奴が現場で先頭に立ってバリバリ開発する
>執刀医スタイルがなかなか普及しないからなあ。
>少なくとも業務系とかでは。

ゲームとかはそんなのばっかりかと思ってた。
…最近はそうでもないか。
0952デフォルトの名無しさん2005/05/28(土) 21:38:35
非常に有能なプログラマが1-2人程度で作る、または趣味のプログラミング
ならC++も良いと思う。一番効率がよいかもしれない。

でもある程度以上の規模の開発でC++は使えるかな・・。
0953デフォルトの名無しさん2005/05/28(土) 21:44:19
>>952
結構使える。
むしろプロジェクトが大きくなればなるほど、Javaのメリット、C++のデメリットが無くなってくる。
中途半端なプロジェクトだとJavaのほうが有利。

>>950
ピーターの法則調べた、ちょっと感動した。
社会をこういう側面から見ることが出来るセンスってすごいと思った。
0954デフォルトの名無しさん2005/05/28(土) 21:45:47
>>952
WindowsならDLLみたいな単位で分担作業すれば大丈夫じゃないの?
1つのデカイexe作ろうとして失敗するんでは
そういうのってスタブ作るの疎かにしてテストもろくにやってなさそうだし
0955デフォルトの名無しさん2005/05/28(土) 21:46:46
プログラマも医者みたいにライセンス制にすればいいんだよ
0956デフォルトの名無しさん2005/05/28(土) 21:49:13
>>955
ライセンス制にすることは責任も大きくのしかかることになるから、開発費が跳ね上がりますよ。
10倍じゃきかないかも。
09579522005/05/28(土) 21:49:54
>>953
C++は良い言語だと思うのだが、これほど言語に対する有能さを要求する
言語も少ない。開発が大規模になるほど、有能な人員を集めにくくなって
C++の非効率な側面や危険な側面が現れてしまうと思うのだけど・・。

0958デフォルトの名無しさん2005/05/28(土) 21:50:24
いいじゃんそれで。
全員がもぐりのブラックジャックみたいな無法で開発してるから問題なんじゃない?
0959デフォルトの名無しさん2005/05/28(土) 21:50:29
俺は、高額報酬で、どんなプロジェクトも完成させる
黒い無資格スーパーSE・・・
0960デフォルトの名無しさん2005/05/28(土) 21:56:00
          ,,,      ,,,,,,      : .と お. し 死. プ 人
       _ = ~~ ``ヽ_,=''~´  ´~ヽ    : は こ よ. に. ロ. 間
    _= ~               ヽ  : 思 が う  を  ジ. が
    ~=、    ミゞ、  , -彡     ヽ. : わ ま な. 自  ェ
       ~=、、、Cl~evj <e~}6)_   、、、ミ : ん し ん. 由 ク
        ミ.~~ /', ゚ ;'7  ミ7ヾ~- 、  : か い て に.  ト
       ≡   (','゚, '.人  ゝ |  ヽ  : ね          の
        `=  `ー'   iノ'  | / |              生
         ~ーノノノノノ'′                    き
09619352005/05/28(土) 21:59:12
参考になったよ、ありがとう
複数言語は普通だし、最初に始めるならどれがいいかと思っただけだよ
このままC++から始めていくよ
0962デフォルトの名無しさん2005/05/28(土) 21:59:41
>>957
言語の習得能力と、開発能力は同じ物ではないとも思うけど、おおむね比例するものだと思う。

──→Java─────→C++ 習得難易度
低─────────→高 成果物のクオリティ

最終的な製品のクォリティを同等にするには、
Javaを選んだからといって人が探しやすいとは思えない。
09639622005/05/28(土) 22:01:59
絵の書き方悪かったかも。
Javaプログラマの品質が低いという意味ではぜんぜんなくて。
Javaが出来るだけではダメで、経験などをつんでより品質を高める必要がある。
C++をマスターするころにはそれなりの品質の物が作れる用になってることが期待できる。
0964デフォルトの名無しさん2005/05/28(土) 22:04:27
>>962
他はどうだか知らないが、業務系では、まちがいなく、

習得難易度:Java<C++
開発工数:Java>C++
品質:Java>C++

だと思うぞ。
0965デフォルトの名無しさん2005/05/28(土) 22:08:45
>>964
自称C++使いにはまずExceptional C++あたりの問題を1個出して
ほんとにC++が使えるのか、使える気になってるだけなのか見極めるべす。
0966デフォルトの名無しさん2005/05/28(土) 22:11:11
>>964
品質は言語より関わっているメンツの方に左右されやすいと思う今日この頃
09679522005/05/28(土) 22:14:03
>>966
C++は、そのメンツがわるいと品質ががた落ちすると思う。
品質低下を恐れて禁止事項(例外禁止など)を大量に設定すると、
C++のJavaに対する優位性がなくなってしまう。
0968デフォルトの名無しさん2005/05/28(土) 22:14:15
C++が最適だという局面が減ってきたのは確かだと思われ。
パフォーマンス第一ならC++以外の選択肢はないようなもんだが、
そうじゃない場合はあまり使う気が起きない。特にGUIとか。
0969デフォルトの名無しさん2005/05/28(土) 22:16:39
>>967
それはメンツより仕切っている人間の力量の問題だと思うな
09709522005/05/28(土) 22:17:40
自分だけで使うなら気持ち良いけどね。品質に気を使う必要がない。
STL/Boostなどを使うと、複雑な機能を短いコードで実現でき、
パフォーマンスもいい。だから、趣味には使える。

しかし、C++でチーム開発したことないけど、チーム開発したら地獄になりそう。
0971デフォルトの名無しさん2005/05/28(土) 22:17:44
>>967
Javaの場合問題が表面化しにくいだけじゃないのか?
この前一緒に仕事した仲間が、決して速くはないんだが、地道にそつなくこなすんで結構尊敬したんだが、
俺がそいつの分も保守することになってコード見たら悲惨なことになってたぞ。
0972デフォルトの名無しさん2005/05/28(土) 22:19:05
>>970
それはない、はっきり言ってない、差があるのはせいぜい最初の三ヶ月。
0973デフォルトの名無しさん2005/05/28(土) 22:21:45
>>970
C++てタイトだから、思ってるほどひどいことにはなかなかならないよ。
Javaの場合ほんとにどこでヌルポでるかわかりゃしないけど、
C++ならポインタ使ってる場所に限られるし。
コレクションからとってくるときの無駄なダウンキャストとかも無いし。
0974デフォルトの名無しさん2005/05/28(土) 22:28:04
>>970
ここで言っても始まらないと思うぞ。
ここにいるような奴らは実際C++で高い品質の物を作れるんだろうし、
そういう奴らにそうでない奴もいっぱいいるって言ったって無理。
0975デフォルトの名無しさん2005/05/28(土) 22:28:13
>>Javaの場合ほんとにどこでヌルポでるかわかりゃしないけど、
なんでそうおもう?
0976デフォルトの名無しさん2005/05/28(土) 22:30:30
>>975
プリミティブ以外にアクセスするときは実際どこでも発生し得るじゃん。
0977デフォルトの名無しさん2005/05/28(土) 22:31:47
>>976
お前さんはC++とJavaを両方ともちゃんと勉強しなさい
0978デフォルトの名無しさん2005/05/28(土) 22:32:17
>>977
両方使えるけど?
0979デフォルトの名無しさん2005/05/28(土) 22:33:35
ウソツケ
0980GreatFixer ◆ASWqyCy.nQ 2005/05/28(土) 22:33:58
Re:>>973 たかをくくっていると痛い目にあうかもしれない。(危ない機能を使うときはソースを書く段階で気をつけるだろうけどね。)
0981デフォルトの名無しさん2005/05/28(土) 22:58:27
>危ない機能
この認識が人によって違う。
0982デフォルトの名無しさん2005/05/28(土) 23:00:04
>>973
そこだよなC++の基本的な強みは。
プログラミングエラーをコンパイル時に補足しやすい。
少なくともGenerics無しのJavaではObject型の乱用やダウンキャストを
避けられない。

C++の罠を避けて、C++の良いところが生きるように気を配っていれば、
C++で高品質なプログラムを書くのが容易になるだろう。

チーム開発では、粒の揃った要員を揃えることと、良質でポイントを抑えた
規約が重要になるんじゃなかろうか。
0983デフォルトの名無しさん2005/05/28(土) 23:01:08
まあC++は罠やtipsの類が多すぎるのが問題なのだけれど。
0984デフォルトの名無しさん2005/05/28(土) 23:05:04
>>982
俺が先月までやってた仕事、C++らしいことは全部禁止されててなんじゃこりゃと思った。
VB使ったほうがいいんじゃねぇのと真剣に思ったよ。

底辺にあわせるとC++の意味を失うし、上辺にあわせるとついて来れない奴がいて難しいね。
0985デフォルトの名無しさん2005/05/28(土) 23:05:30
C++の罠って何?
0986デフォルトの名無しさん2005/05/28(土) 23:06:25
>>982
「粒の揃った要員を揃えることと」←これが難しいと思う。
EffectiveC++シリーズとExceptional C++を読み十分に理解している
プログラマはどれだけいるのだろうか・・。
0987デフォルトの名無しさん2005/05/28(土) 23:06:42
> C++の罠を避けて、C++の良いところが生きるように気を配っていれば、
簡単にいってくれるな('A`)
いいところを生かそうとすると罠にはまる機会も増えるという……
0988デフォルトの名無しさん2005/05/28(土) 23:11:49
>チーム開発では、粒の揃った要員を揃えることと、
これは無理だと思うな、
ポイントはリーダーの能力が最低でもメンツより高い事。
もう一つは、適材適所ができる事、これだけだと思う。

規約を作って一つに纏めようとすれば、レベルが高いメンバーの士気を落としかねない。
またレベルが低いメンバーは悲鳴を上げる。
これで人間関係の崩壊→プロジェクト崩壊となるのを過去に良く見てきた。

0989デフォルトの名無しさん2005/05/28(土) 23:11:57
>>987
クラスを作って、コンポジットさせて、仮想関数はもちろん継承も使わせない。
生ポインタは絶対さわらせない。
これだけでも、Cにくらべれば、はるかによいコードになる。

生ポインタ、仮想関数を扱うのは、プロジェクトの中心プログラマのみにする。
一般プログラマ用には、これらをラップしてものを渡す。
0990デフォルトの名無しさん2005/05/28(土) 23:13:39
>>989
ついでに言うと、一般プログラマとしては、ポインタという存在すら知らない奴で吉。
0991デフォルトの名無しさん2005/05/28(土) 23:15:00
>>989
なんで比較対照がCなんだよw
0992デフォルトの名無しさん2005/05/28(土) 23:16:27
必要な後処理を入れるように指示したら入れてはいけないところにまで入れてくれたよ。
そもそもなぜその処理が必要なのかわからなかったらしい。
言語以前の問題だ・・・orz
0993デフォルトの名無しさん2005/05/28(土) 23:18:59
>>989
しかし配列と文字列リテラル(これも配列の1種だが)を使わせるにはポインタの使用を避けられない。
配列はラップできるけど、文字列リテラルばかりはどうしようもない。
0994デフォルトの名無しさん2005/05/28(土) 23:20:24
>>993
君は一般プログラマをやれ。(w
0995デフォルトの名無しさん2005/05/28(土) 23:25:38
>>994
いくらちょっと( ´,_ゝ`)プッ と思っちゃったからって
そういう言い方は良くないぞ。
0996デフォルトの名無しさん2005/05/28(土) 23:26:03
何だ、このスレ立ってから一気に1000近くまで来たか。
まさか続編スレを立てるんじゃないよな。
0997デフォルトの名無しさん2005/05/28(土) 23:26:37
>>991や>>993のような奴が知ったかぶってC++を論じるから混乱が起こるんだな。
09989932005/05/28(土) 23:28:05
>>993
( ´,_ゝ`)プッ


で、よかった?>>995
09999982005/05/28(土) 23:28:50
俺は993じゃなくて994だった。
1000げとは誰かに譲る。
1000デフォルトの名無しさん2005/05/28(土) 23:29:01
結論
なんだかんだいってC++は程よく出来ている。OOを普及させた。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。