【信者】C++の問題点【アンチ】

■ このスレッドは過去ログ倉庫に格納されています
2008/10/10(金) 09:13:53
C++の問題点について語るスレです

C++ってなんであんなに肥大化しちゃったの?
http://pc11.2ch.net/test/read.cgi/tech/1219902495/
2010/02/10(水) 00:49:05
普通にboolのある言語を先に学んだ人には
C/C++のif()は気持ち悪いんだわ
2010/02/10(水) 01:57:40
でっていう
2010/02/10(水) 10:55:08
気持ち悪いなら
他人の作成したソースコードを読まなければよい
2010/02/10(水) 11:11:32
整数型を真偽値に変換するときに0以外を真
真偽型を整数値に変換するときに真が1で偽が0
ポインタ型を真偽値に変換するときにヌル以外を真
とすると決まっているだけで
C++のboolもCの暗黙の真偽型も真と偽の二つの値しかとらない
暗黙の型変換が気持ち悪いのは同意
2010/02/13(土) 12:50:54
boolのある言語から入ったけど、Cの真偽の判定は
リーズナブルだと思う
特に p をポインタとして if(p) という書き方は美しくて好き
2010/02/13(土) 13:11:56
lintっていうツールがあってだな

まぁ、美しいのは認めるが
2011/02/22(火) 01:30:29.74
http://yosefk.com/c++fqa/fqa.html
2011/03/10(木) 21:57:17.96
0かそれ以外で真偽を判定するのは
cだからじゃなくてマシン語がそうだからじゃないの?
2011/03/23(水) 14:19:34.90
もともと仕様がそうなった理由は実装の都合かもしれないが、
実装依存じゃなくて現に言語仕様で決まっている以上は「Cだから」だ
2011/04/30(土) 23:00:53.65
そもそも、ZEROは数じゃないってことじゃないの?

例えば
ここに、「りんご」が0個あります
この「りんご」は「りんご」ですか?
って事
2011/05/01(日) 11:21:22.49
>>356
ぼくも(´・ω・`)
2011/09/19(月) 21:36:37.12
349のifでわざわざ0と比較しちゃう書き方はアセンブリ見ると無駄が増えてたと思う(vc)
油断は禁物だ
2011/09/19(月) 22:33:00.57
>>363
普通は最適化で全く同じ扱いになるもんだが。
365デフォルトの名無しさん
垢版 |
2011/11/20(日) 11:24:50.79
なるもんだがだよね
2011/11/20(日) 12:06:59.90
C++関連スレの多くが2008年キックオフか...。 当時は活気があったんだろうな。 ここ2年ぐらいで凋落の坂を下ったというわけか?
2011/11/20(日) 12:10:00.68
C++11でnullptrが新設されたから0の問題は解決しただろ
2011/11/21(月) 12:29:57.89
>>366
2ch全体がね。
2011/11/24(木) 06:31:17.12
凋落してるのは2chの方だな
2011/12/07(水) 19:09:09.79




自身が聞いた情報によると、もうじき中国はバブルがはじけて昔の貧乏な中国に戻るんだぜ
もう経済は破綻してて、取り戻すのは無理なんだそうだな


その世界ではやたら有名な政府関係者筋から聞いた確かな情報だな

まあお前ら頭の良い連中には、今さらなくらいのネタだ、
お前らからすればもう常識的なくらいの知識だろうぜ







2011/12/11(日) 00:27:36.40
イテレータなんかを使うとポインタを上手く手なずけてる快感があるな。
C++にはまり込むと廃人になりそうだ。
複雑さの背景には機械の不条理さを手なずけるための工夫があるんだな。
2011/12/21(水) 19:31:18.55
C++11はAutoがやっと来てくれたなって感じ
2012/09/13(木) 23:24:13.58
foreachはまだ使えないの?
2012/09/15(土) 03:51:36.83
君が決断すれば使えるよ
375デフォルトの名無しさん
垢版 |
2012/10/20(土) 10:37:35.37
376デフォルトの名無しさん
垢版 |
2012/12/22(土) 14:28:33.52
template <int N> struct Factorial {
enum { value = N * Factorial<N - 1>::value };
};
template <> struct Factorial<0> {
enum { value = 1 };
};
2013/01/07(月) 20:24:22.43
>>373
int a[] = {1, 2, 3};
for (int x : a)
{
std::cout << x << std::endl;
}
名称はrange-based for文。
もうVC++でもg++でも使える。
2013/01/08(火) 00:22:13.20
質問した人だけど
ありがとう
VC++2008じゃだめっぽい
2013/01/13(日) 12:28:49.72
Cから離れるほど存在意義を失う。
2013/01/22(火) 07:20:56.78
凋落(ちょうらく)
2013/01/27(日) 00:55:46.83
C++はクラスと仮想関数の実装でやめておけば良い言語だった

ガベージコレクションを持たず、デストラクタが必要なこと自体は否定しない
しかしその状態で例外を実装したのが言語として終わった
2013/01/27(日) 01:12:57.06
>>381
例外の何が問題なの?
2013/01/27(日) 13:56:47.20
template も問題
boost みたいなまともな標準クラスライブラリが無かったのも問題
2013/01/27(日) 14:05:20.67
STL は無視でつか?
2013/01/27(日) 14:12:11.24
WTL / ATL はともかく STL のどこがまともなんだよ!
2013/01/27(日) 15:02:28.62
>>383
標準とかいわれなければ覚えようとしないダメな子なんですね、よくわかります
2013/01/27(日) 15:12:44.77
>>383
「〜が問題」とかじゃなくてさ、技術的な問題点を具体的に挙げようよ。
2013/01/27(日) 19:42:42.06
デストラクタがあるからこそ例外が生きるんじゃないか
2013/01/27(日) 19:45:32.78
RAIIでつね
確かに確かに
2013/01/27(日) 21:06:21.32
GCもデストラクタもなしで例外導入されたらそれこそ問題w
何も分かっちゃいねえ
2013/01/31(木) 00:58:02.79
例外実装したのならfinalyは必須
try〜catchの仕様もウンコだし、C++は欠陥言語と言わざるを得ない
2013/02/08(金) 22:11:55.64
RAIIラッパーを書くのは確かにだるい。
スコープガードの技法で楽にはなったけど、
なんか直感的じゃないようなそうでもないような。

まあ、いまさらほしい機能でもないや>finally
2013/02/09(土) 00:56:55.93
デストラクタがあればfinallyなんて大体不要
2013/02/10(日) 15:17:36.54
デストラクタのない欠陥言語だと
finallyの中にグダグダと泥臭い記述をするんだよ
2013/02/17(日) 02:42:48.81
例外キャッチもせず、関数の初めでnew、終わりでdelete、
しかもnewの戻り値がNULLでないかチェックしてるアホコードを書く
C上がりの低脳PGが未だに大勢いる
当然メモリリーク起きまくりでまともに動きゃしないが、書いた当人は
「おかしい、ちゃんとnewとdeleteは対にしてるしエラーチェックもしてるのに」
とか言いながらトンチンカンなデバッグを何日もやっている

C++がなまじCの知識だけでもそこそこ書けてしまうせいで
大量の地雷コードが作られてしまった
2013/02/17(日) 07:28:14.81
Hoge *h = NULL;
h = new Hoge;
if(!h) return 0;
...
delete h;
return 1;

なら例外拾わなくても安全
2013/02/17(日) 09:04:56.88
>>396
えっ?
2013/02/17(日) 10:13:42.47
>>396で問題になるケースってなんだ
operator newがbad_alloc以外を投げる場合とか?
2013/02/17(日) 10:45:27.23
new(nothrow)で押し通すのも一つの哲学
2013/02/17(日) 13:12:42.21
>>398
…の所で何らかの例外が発生した時
2013/02/17(日) 13:17:11.48
>>400
なるほど・・・
2013/02/21(木) 14:05:41.50
スマポ行っとけ
2013/03/21(木) 00:47:13.41
メモリリークの危険があるからC++は駄目という主張は多いが、それくらいカバーできないで
プログラマ名乗るのもおこがましいのでは?
2013/03/21(木) 00:52:47.38
>>403
個人の話ならその通り、というか、その人の自由。
会社では、そういう問題ではない。
2013/03/21(木) 00:57:46.67
技術屋としてはC++を使いこなしたいと思わんかねえ
2013/03/21(木) 01:05:12.01
立場によって意見も異なるって事でしょ。
結果として、要求を満たすモノを作れれば、個人のスキルなんか気にしないし、言語なんかなおさら何でも良いのが会社。
2013/03/21(木) 01:12:40.59
ただ動きゃいいソフトとパフォーマンスが必要なソフトがある。
つか技術者の技術力が無くなったら国力低下だぞ
2013/03/21(木) 01:30:25.08
だから、要件を満たせばって言ってるでしょ。
何で、ただ動くソフトとパフォーマンスが必用なソフトが引き合いになるんだよ。
パフォーマンスが要件にあるなら、当然満たす必要があるわけだが、それは技術力とは関係無い。
結果が出せるかどうか、それが全て。
2013/03/21(木) 02:14:32.57
まあ、結果をだせるやつが技術力のあるやつとも言えるよな
結果も出せないで、技術力云々言うやつは論外だが、結構多いので困る
2013/03/21(木) 05:34:58.94
>>407
もう手遅れ
2013/12/28(土) 12:30:30.67
ぬるぽ
2013/12/28(土) 12:50:24.50
技術力w
こんなものバズワード以外のなんだ?
2013/12/28(土) 12:52:42.81
>>405
中二病の高校生か大学生ぐらいのもん
2013/12/28(土) 16:00:39.58
ところが世の中のメジャーなアプリは殆どC++で実装されているというのが現実
Javaや.netでさえw
まあITドカタ君たちには無理だし必要ないから手を出さないほうがいいよ
2013/12/28(土) 23:48:45.51
C++で組まなきゃ最新のPCでも反応は鈍いしGUIはショボいし無意味な飾りは多いし
イライラするソフトしか作れん
2014/01/10(金) 16:00:27.31
受注あるの?
2014/03/16(日) 23:26:36.70ID:MUEEKwnJ
C++抜きで大規模なシステムを組むのは難しい
2014/03/17(月) 06:18:15.96ID:xpmTlL+N
そういや、同じくcの拡張であるObjective-cはどんな印象をもっている?
2014/03/17(月) 07:13:56.11ID:mbbiExwV
inline Smalltalk を書ける c/c++ なんだけど、Smalltalk の印象ってこと?
2014/09/10(水) 17:52:19.49ID:K9LbPVc9
s驫贔蟲毳巛彡嬲嫐品晶姦≡VΞミ≡∴sE聶矗卉
2014/09/19(金) 14:28:40.09ID:Xfkvubm0
Objective-Cはアップルの完全な管理下にあるという印象
2014/09/23(火) 20:18:14.38ID:49Grt2TR
管理下っていっても結局clangでしょ
管理してんのは上っ面だけ
2014/10/14(火) 20:25:04.78ID:rQaDsYaD
Interface欲しい
イディオムで再現じゃなくてちゃんとサポートしてほしい
2014/10/27(月) 23:33:24.43ID:X3SUClO7
Herb Sutter氏の語る現代的C++プログラミングの基本
http://www.infoq.com/jp/news/2014/10/modern-cpp-essentials
425デフォルトの名無しさん
垢版 |
2016/03/06(日) 19:39:39.71ID:RPPt6+ET
「<<」 ってなんか恥ずかしくないか。
「オブジェクト指向言語だぜメッセージパッシングだぜ既存の言語とは違うぜー」
と鼻息荒くしていたころの厨二病的な気負いを感じる。
結局後続のオブジェクト指向言語は Java も C# もそんなことやってなくて、
C言語の次にオブジェクト指向やろうという連中の多数がC++じゃなくて
そっちへ行っちゃった今となってはなんかこっけいなだけに見える。
2016/03/06(日) 20:27:51.29ID:rlBUJ/rg
言語仕様が難しければ難しいほど良いというところはあるだろうな。
「関数型が流行ってる?じゃあ c++ にも入れよう!」みたいな感じで入れてる印象。
c++ にできないことがあってはならない!ってなところが異常な肥大化を生んでる。
2016/03/06(日) 20:33:03.51ID:ZOJzg1y4
>>425
というより単にオペレータオーバーロードできまっせ!
うちはこんなんできまっせ!
ってだけのことだと思う
428デフォルトの名無しさん
垢版 |
2016/03/29(火) 09:24:54.93ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
429デフォルトの名無しさん
垢版 |
2016/04/09(土) 17:32:05.36ID:HBMEuijL
C++はパチンコにのめり込むようなもんや。博打に手だすのはやめときなはれ。

禿が死なん限り、簡略化されん
2016/04/09(土) 21:11:20.50ID:61dAkiVB
最新の言語機能でドヤ顔したい奴を集めてしまう言語。
linus が c++ を嫌がる一番の理由。
2016/04/09(土) 22:41:33.55ID:ALj0g4vo
俺がc++じゃなければダメな理由はRAIIの使い勝手の良さの一点のみ。
文法なんて何でもいいから、RAIIさえ実現出来れば今すぐCメインにするわ。
2016/04/09(土) 23:58:00.84ID:61dAkiVB
例外が絡まなければそんな複雑な話じゃないだろ。
結局例外が欲しいんだろ?
2016/04/10(日) 00:42:41.15ID:lctucWPJ
例外はいらない。
例え例外が無くてもメモリリークするようなコードを書く奴が多いから困ってる。
そう、そんな難しいことではないのにね。
だからRAIIを半強制してる。
2016/04/10(日) 11:54:12.80ID:vkQXckPD
それ強制してもリークしてるってことじゃん。
そういう奴はメモリがリークしなくてもどうせ他の資源をリークさせるようなコード書くだろうし、
言語で解決できる問題じゃない。
2016/04/10(日) 13:46:39.83ID:lctucWPJ
その通り。
完全解決しようなんて思ってない。
頻度の問題。
2016/04/10(日) 13:50:46.50ID:8kVuH12a
なんで半強制じゃなく完全強制しないの?
頻度の問題とか言ってる場合じゃないと思うが
2016/04/10(日) 14:02:24.59ID:lctucWPJ
ん?ちょっと論点が変わったね?
完全強制しても頻度が減るくらいで、完全解決できないからだよ。
何事も費用対効果と言うものがあるし。
2016/04/10(日) 14:38:44.35ID:8kVuH12a
newやmallocやopen等のリソース獲得コードをアプリ上位レベルで書くのを禁止すれば完全解決できるんだがね
リソース獲得をするのは下位ライブラリに閉じ込めてそれは然るべき人間が書いてしっかりデバッグする
2016/04/10(日) 14:59:22.45ID:lctucWPJ
そうしてるけど?
2016/04/10(日) 15:02:05.66ID:lctucWPJ
だだ、下位レベルとは言え、その辺の事を徹底するのはコストがかかるんだよ。
俺一人で見切れる規模でもないし。
2016/04/10(日) 19:17:40.19ID:vkQXckPD
頻度の問題と言われても
コンストラクタ、デストラクタ用意した言語使うだけでそんな減るもんかね。
まあ経験的な話なんでなんとも言いようがないけど。
2016/04/10(日) 19:45:44.41ID:lctucWPJ
>>441
ぶっちゃけコンストラクタはいらない。
デストラクタだけ必要。
2016/04/10(日) 19:52:08.09ID:ipc8Qm5p
>>442
コンストラクタ不要論www
2016/04/10(日) 19:52:48.78ID:T2qNShRt
あー、わかるわー
デストラクタだけはC言語の範囲だと絶対実現できないもんなー
コンストラクタやクラスに近いものは作れるけど、実用的なデストラクタはムリ
2016/04/10(日) 23:25:38.29ID:9vV3r8su
そこはコストをかけてプロを採用すべき
2017/06/22(木) 15:42:23.40ID:Z11K6/Zh
c++と同じくらい万能でc++での速さを残して短所を改良した言語マダー?
2017/11/07(火) 03:08:26.25ID:xrZ8oMSz
boostブームのときは静観してたが
c++11はけっこういいんじゃないかと思った
VSもサポートしてるし
2017/11/14(火) 00:18:41.58ID:VaPcpODL
標準ヒープを当たり前に使うライブラリを作るやつが許せない
C++使わずGC言語使ってろよバカと思う
標準ライブラリも大抵は置き換え可能とはいえヒープありきのデザイン多すぎ
449デフォルトの名無しさん
垢版 |
2018/02/28(水) 17:52:18.95ID:F8/eMdWm
Erlang最強ですねわかります
2018/02/28(水) 22:44:36.60ID:ugxprRf8
Elixir を使え
451デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:17:30.83ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

6NO57
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況