[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/26 06:21 / Filesize : 219 KB / Number-of Response : 994
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【肥大化】C++ を見捨てたヤシ【複雑化】



1 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 09:52:47 ]
文法面での機能拡張しすぎ。
C++の構文解析とか、もうワケワカメ。
マイクロソフト拡張大杉。
gcnew とか使うぐらいなら素直に Java でも C# でもつかえ!!!



941 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 07:06:03 ]
>>939
そういう生き方でもいい。お前の人生なんだもの。お前の思うとおり生きれよ。

942 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 00:14:18 ]
…といった具合にネタにマジレスしちゃうのがプログラマ

943 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 00:25:32 ]
マジレスに見えるんだw

944 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 00:27:14 ]
少なくとも>>941はマジレスじゃないだろw

945 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 00:27:51 ]
被った・・・

946 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 04:01:18 ]
…といった具合にネタにマジレスしちゃうのがプログラマ

947 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 05:21:21 ]
C++と関係ない話題は他所でやれ

948 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 12:17:44 ]
しかし、ベースになるクラスライブラリを作るのに、STL使えってのはどうなの?
むしろ、そういった物の場合は、vectorすらゆるさんぐらいで良いと思うが


949 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 14:10:30 ]
vectorを許さないで俺vectorを書くんですね、わかります



950 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:28:18 ]
自分の靴紐を持ち、上方にグイと強く引っ張ると身体が持ち上がります
次に反対側の靴の靴紐も同じ様に引き上げれば、宙に浮くことが出来ます

951 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:27:03 ]
>>950
空飛べた!
サンクス

952 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:28:18 ]
>>948
もちろんmalloc/free/printf/scanfも使わないんだよね?
対応するOSのAPIをラップするところから始めないと。

953 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:41:53 ]
>>952
STL使う使わないとは関係ない話だけど、大抵のポータブルなライブラリでは
そこらへんはランタイムまかせにせずラップ関数を使ってるよね。

954 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 22:19:09 ]
>>952
一歩間違えると、newやdeleteすら、オーバーロード無しには使えなかったりする環境もあるけどな


955 名前:デフォルトの名無しさん [2008/05/13(火) 12:22:26 ]
>>739
VB知らないから、的を外してるかもしれんが
AdaとかPythonは名前付きの引数使えるよ


956 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 06:37:04 ]
D言語のテンプレート機構は、明示的なインスタンス化が必要になる代わりに、C++には出来ないようなことまで出来る。
それば事実なのだが、それがいいか悪いかは別問題である。思えばJavaやC#にもGenericsが導入され、いよいよ本格的に足並みをそろえた感もある。
また、やねうらおも通常はC++でテンプレートを用いてかなり複雑なメタプログラミングを行なうこともある。
しかしだ。やればやるほど、こういう方向性は根本的に誤っているのではないかという疑念をいだくようになった。
それぞれの言語がそれぞれの方法でテンプレートをサポートしたり、それぞれ異なる仕様のプリプロセッサを持っていたりするのは非常にばかげていると思う。
現実問題として、C++のソースをC#、あるいはJavaに移植しないといけないことがある。この逆をしないといけないこともある。
そういったときに、言語に依存する機能ほど移植を難解にするものはない。
その言語を使う限りは気持ちよくプログラミングできるのかも知れないが、そんなプログラムを移植させられる者はたまったもんではない。最近、それを特に感じる。
結局何が悪いかというと、Genericsやらメタプログラミングやら、プリプロセッサやら何やらかんやら。
そういったものは、言語間で共通するサードパーティ製のツールで実現するべきであって、決して、言語仕様そのものを改定すべき問題ではなかったと思うのだ。
たとえばmix-inにしても、AspectJ/C#/Cppを用いることで比較的すんなり実現できる。
言語そのものにmix-inを取り入れて、それをその言語のアドバンテージかのように言うのは、もういい加減やめにしないか?DbyC(design by contract:表明つきプログラム)にせよ、何にせよだ。
結局何が必要かというと、もっと汎用的なテンプレートやDbyCを実現するための、Aspectほにゃららをも包括するようなツールと、そういったツールを受容する言語側の仕組みなのだ。
決して、必要なのはGenericsでも何でもない。その言語にしかないような言語固有の機能なんてメリットでも何でもないのだ。いい加減、みんな早く目を醒ませ!

957 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 07:58:53 ]
PL/1の夢、再来ですね。わかります

958 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 08:05:52 ]
まぁ、俺も移植することあるから気持ちは分かるけど、
外部ツールで実現された場合、移植元と先の知識を持つ技術者も減ったりと、
移植は余計大変にならない?
そのツールがたまたま移植元と先を両方ともカバーしていれば
容易にはなるだろうけど。

それに、ソース生成系でなくても、
cfrontは例外が実装出来ずにティウンティウンしたし、
GCは言語・ランタイムのサポート無しでは完全な実装が不可能だしね。
※ Boehm GCはハックみたいなもの

あとC++,Java,C#のジェネリックは全然足並み揃ってないです・・・

959 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 08:51:10 ]
>>958
> GCは言語・ランタイムのサポート無しでは完全な実装が不可能だしね。
> ※ Boehm GCはハックみたいなもの

「コンサバしか無理」と言えばいいのでは。



960 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 10:27:27 ]
コンサバが何か分からずググちゃったよ・・・w

「保守的GCしか実装出来ない」とは一度書いて消した。
そう呼びたくなくてね。
ハックみたいなもの、とやんわり言ったけど、
はっきり言うと俺はアレを「出来損ないGC」だと思っています・・・。

961 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 18:34:45 ]
それにしても、C++の言語デザインは忌むべきものだと思う。
「Effective C++」や「More Effective C++」、あるいは「Modern C++ Design」、あと「Effective STL」有名なのが、この4冊。
あとARM(The Annotated C++ Reference Manual:注解C++リファレンスマニュアル)、それからFDIS(C++ Final Draft International Standard)
ついでに「Exceptional C++」とか「More Exceptional C++」とかもか。
プロのまともなC++プログラマならば、これらをすべて読んでいて然りだし、少なくともFDIS以外は精読していて然りである。
そうは思うものの、いま「Effective C++」やら何やらを読み返してみると、ホント頭悪いなぁと思う。
もちろん「Modern C++ Design」もだ。書いている人が頭が悪いと言っているのではない。
こんな解説書が必要になり、また必須であると思われている状況が、もうどうしようもなくやるせなくなるのだ。
こんな解説書が必要になるというのはC++の言語デザインの悪さゆえなのに。
「Modern C++ Design」を知らずしてテンプレートを語るなと言われる。確かにそうかも知れない。
この本以前のテンプレート批判は本当に的はずれだった。
かと言って、「Modern C++ Design」が珠玉のテクニック集か何かと思われている雰囲気、これがもうたまらない。
はっきり言って、こんなテクニックを理解する時間があれば、まともなコンパイラが実装できるのに。
そっちのほうが、何倍も有益で、普遍的なものなのに。

962 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 18:47:27 ]
956も961も見覚えがあるんだが、いつどこでだったか思い出せない。

>>961
「C++の設計と進化」を追加。
そういうデザインにせざるを得なかった事情の一端が書いてある。

963 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 18:56:21 ]
C++はともかくとしてJavaのGenericsは正直どーか?と思うが。

964 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 20:25:13 ]
正直 C++ は酷いよなあ。

965 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 21:45:21 ]
>>961
お前結構前で知識が止ってるよ。
試行錯誤時代の「Modern C++ Design」をそんなに熱く語られても。

966 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 21:46:37 ]
上から目線ワラタ

967 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:11:25 ]
ARM & FDISも今となってはC++03規格と0xドラフトに置き換えだな。

968 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:13:57 ]
そして C++ は永遠に表舞台から消える訳か…
それ良いな

969 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:26:30 ]
縁の下の力持ちとして生き続けるということですね、わかります



970 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:31:43 ]
いや、どちらかというと蚊帳の外

971 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:31:54 ]
>>967
ARMは規格と違ってannotatedの部分が面白いけど、D&Eに置き換えだね。
「オブジェクトモデル」に相当するのがない。

972 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:36:24 ]
今北産業

973 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:01:05 ]
>>972
言語に依存すると移植が大変
有名な本は全部読め
次スレ頼む

974 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:04:44 ]
>>972

c++は言語オタが素人に本売るために複雑になっている

975 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:23:25 ]
>>961
> はっきり言って、こんなテクニックを理解する時間があれば、まともなコンパイラが実装できるのに。
それは無いなぁw

976 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:15:56 ]
VCが最後の砦という感じはする

977 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:17:36 ]
Windows Universe ではそうかもしれんね

978 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:51:39 ]
C++は最近使用範囲が広がってる感じがする
GoogleもMozillaも使っている

新しく始めるプロジェクトでC++を使えるのにCで書く必要はないのだ
名前空間と関数のオーバーロードがあるだけでかなりベターなCとして使えるのだから
もちろん主要なターゲット環境にCコンパイラしかないのならCを使うしかないが

979 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 02:01:54 ]
Mozilla は昔からでしょ
Google は Java も Python も JavaScript も独自言語も使っているし



980 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 02:12:40 ]
そうだよ
ネイティブコードを吐く言語としてC++を選択している
JavaもPythonもJavaScriptも使われる場面や用途が違う

981 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 02:20:40 ]
でも Yahoo! の Hadoop とかは Java なんだよね…

982 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 02:28:35 ]
そんな><

983 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 06:05:50 ]
名前空間はともかくオーバーロードはたまに困ったちゃん扱いされるじゃないか
ベターから外れる

984 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 12:29:03 ]
JAVAそのものはC++じゃなかったけか?

985 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 12:44:06 ]
C++を見捨てたというより、頭が悪くてC++についていけないだけの話だろ

986 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 13:48:25 ]
>>985
残り少なくなった C++ 信者の脳内設定ではね。現実は真逆。

987 名前:デフォルトの名無しさん [2008/05/17(土) 14:31:55 ]
CとC++の中間に位置する言語があればいいのに。

988 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:39:00 ]
中間もなにもC++でC++特有の機能を使わない様にコーティングすれば
済む話だと思うが。

989 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:47:15 ]
C++の終わりなき拡張(でいいのかな?)のせいで
どんどんとっつきにくくなってるから
そろそろ現ANCI準拠のC++と今以上に拡張するC++は別物として扱って欲しい。

そんな俺は最近C++に触れ始めたC++初心者。



990 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:53:01 ]
>>988
済まないからみんな困ってるんじゃないか
それで済むなら EC++ なんて作らないよ

もっと現実を直視しようぜ

991 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 15:41:22 ]
ANCI

992 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 15:49:42 ]
ANSIだったな。すまん

993 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 15:56:16 ]
>>983
Cよりも新しい言語では関数のオーバーロードを許す言語は多いじゃない
そしてC++より新しい言語でも多いでしょ
言語設計者が有用であると判断しているケースが多いわけだ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<219KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef