1read 100read
2013年02月プログラム232: C++11が動的言語よりも開発効率が良くなってる… (226)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【Java】 Java Web Application Framework 総合 (222)
関数型言語ML (SML, OCaml, etc.), Part 6 (594)
リファクタリングがしやすいのは、静的型付け言語 (409)
HTAをもっと流行らせる計画 Part2 (666)
【Lua】組み込み系言語総合 その5【Squirrel】 (928)
monazilla Part 6 (695)
C++11が動的言語よりも開発効率が良くなってる…
- 1 :2012/06/09 〜 最終レス :2012/11/09
- なんてこった。
こんなに短いコードで書けるなんて!
- 2 :
- たとえば?
- 3 :
- 開発なんてしてる人なんて稀だろ
- 4 :
- C++はごちゃごちゃしすぎ
俺の低レベルな頭では理解できん
- 5 :
- > 俺の低レベルな頭
同意
- 6 :
- 動的言語叩きスレを乱立して、人気が下がってるように見せかけたいんですねわかります。
自 演 乙
- 7 :
- * *
* + うそです
n ∧_∧ n
+ (ヨ(* ´∀`)E)
Y Y *
- 8 :
- >>5
そもそも動的言語って人気が上がったっけ?
話題になっただけで
使ってる人少ないと思うよ。
- 9 :
- wkipediaから拾ってきたよ
1 標準策定の方針
2 C++ コア言語への拡張
3 コア言語の実行時パフォーマンス向上
3.1 右辺値参照とムーブコンストラクタ
3.2 一般化された定数式
3.3 Plain Old Data 型の定義の修正
4 コア言語のビルド時パフォーマンス向上
4.1 外部テンプレート
5 コア言語の使いやすさの向上
5.1 初期化リスト
5.2 統一的な初期化構文
5.3 型推論
5.4 範囲に基づく for ループ
5.5 ラムダ関数とラムダ式
5.6 戻り値を後ろに置く関数構文
5.7 オブジェクト構築の改良
5.8 明示的な仮想関数オーバーライド
5.9 ヌルポインタ
5.10 強い型付けの列挙型
5.11 山括弧
5.12 明示的な変換関数
5.13 テンプレートの別名付け (template typedefs)
5.14 透過的なガベージコレクション
5.15 制限の無い共用体
6 コア言語機能の改良
- 10 :
- 6.1 可変長引数テンプレート
6.2 新たな文字列リテラル
6.3 ユーザー定義リテラル
6.4 マルチタスク用のメモリモデル
6.5 スレッドローカル記憶域
6.6 コンパイラが生成する関数へのdefault/delete指定
6.7 long long int型
6.8 静的な表明
6.9 インスタンス化されていないクラスメンバへのsizeof
7 C++標準ライブラリの拡張
7.1 標準ライブラリの改良
7.2 スレッディング
7.3 タプル型
7.4 ハッシュテーブル
7.5 正規表現
7.6 一般用途のスマートポインタ
7.7 拡張可能な乱数の枠組み
7.7.1 擬似乱数エンジン
7.7.2 非決定的乱数エンジン
7.7.3 乱数分布
7.8 参照ラッパ
7.9 関数オブジェクトの多相的ラッパ
7.10 メタプログラミングのための型特性
7.11 関数の戻り値型を算出する、一様な手法
- 11 :
- このスレは伸びる
- 12 :
- >>8
batスクリプトとかshスクリプトとか使ってるやつは多いだろ
C++が動的言語を超えられるというのは嘘だな
動的型付言語ぐらいなら超えられるかもしれんが
cmd=cp -r
$(cmd) $* $to
こんな風に動的に命令行を作成して保存しとくなんて無理だし
- 13 :
- なんか素直にLL使っておけよ的な拡張ばかりだよな。
- 14 :
- lambdaかわいいよlambda
- 15 :
- PythonやRubyみたいな Heavy Weightな言語じゃ動作環境的に使い物にならんからどうしようもない
- 16 :
- 仕様書の厚さで比べるとC# > Java > C++なんだけどな
C#の巨大さに比べりゃまだ簡潔よ
- 17 :
- 仕様に標準ライブラリが含まれてるとかいうオチ
- 18 :
- >>15
そういう限定された条件だけで使ってるならいいけどね。
- 19 :
- >>17
C++は標準ライブラリ含まれてるが、C#には標準ライブラリ無いけどな
一部の言語と癒着してる型が標準ライブラリであるとも言えるが
- 20 :
- >>18
他人がどんな環境でどんな言語使おうが自由だろ
- 21 :
- このスレッドは天才pンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
- 22 :
- >>21
遅すぎ
- 23 :
- C++が動的言語の開発効率超えられるとしたらメタ
進んでいけばどこかの地点で化けると思う
まだ全然メタが足りない
最近のC++の人気の下がり方見てると、その領域に近づく前に誰も使わなくなりそうだけど
- 24 :
- >>20
他人に迷惑かけなけりゃな。
- 25 :
- じゃあ他人に気を使って生きてろよ
- 26 :
- >>スレタイ
なんでそんなことに拘っているのかわからない。
- 27 :
- そりゃあもう、「ということにしたいのですね」以外に言いようがない
- 28 :
- >>24
なんかつれぇ事でもあったのか?
- 29 :
- C++はC with class だった頃は
しょうもない言語だなーと思ってたけど
今の開き直って拡張しまくってて一寸面白い
もう使わないけど
- 30 :
- C with class時代で他にまともな言語があったか?
COBOLerならしかたないだろうけど
- 31 :
- >>28
なんでもC++使うのが偉いと勘違いした馬鹿がスクリプト言語で済むような用途にもC++使おうとした挙句に他人には読めないわメモリ管理失敗してバグ出すわで辛いです
- 32 :
- 言語選べる人って事は上司か先輩だろ
そんな会社ヤメロよ
やめないならお前が悪いか無能としか言いようがない
- 33 :
- >>31
スクリプトだろうがリソースリークは起きるし
そいつと、お前が無能なだけだろ
- 34 :
- >スクリプトだろうがリソースリークは起きるし
>スクリプトだろうがリソースリークは起きるし
>スクリプトだろうがリソースリークは起きるし
>スクリプトだろうがリソースリークは起きるし
たとえば?
- 35 :
- スクリプトとして他の言語を使えるようにするのも相当手間だろうに
最初からなんかインタプリター系の言語使ったほうがよくねぇか
- 36 :
- >>34
シェルスクリプトで再帰したときとか。
- 37 :
- オブジェクトを変数にずっと束縛してりゃ
使わなくともプログラム終了まで保持され続ける
ロックなら最後までロックされっぱなし、
画像とかデカイオブジェクトならメモリーを食いつぶす
これのせいでFlash PlayerはWindows以外だと落ちまくり
Appleに出入り禁されてるしまつ
あと、メモリー関係に限らずスクリプトのホストやOS側のリソースなら
自前で開放せにゃならん。リークするのはメモリーと同じ。
- 38 :
- 毎度毎度俺みたいなヘボプログラマには追いきれないぐらいのR機能をてんこ盛りにしてくれるのは良いんだけどさ
どこのコンパイラ買えばこれらの素晴らしい機能全てを安定して使えるの?
- 39 :
- >>38
gcc 無料だよ。
Linux使ってるならすでに持ってるかもねw
- 40 :
- gccがC++11完全対応してたとは初耳だな。
http://gcc.gnu.org/projects/cxx0x.html
- 41 :
- >>16
C/C++だと「未定義」「処理系に依存」で逃げるような所も詳細に定義してるからというオチじゃね?
- 42 :
- >>36
他は?それだけ?
それじゃ末尾再帰最適化できるスクリプト言語はリソースリークしないって事?
- 43 :
- C++11の対応状況ってVCの方が進んでるんじゃなかったっけ?
- 44 :
- >>42
>>37に書いてあんだろうが
てかよくよく見たら不都合は目に入らないuyかよ
相手して損した
- 45 :
- >>43
1.clang++
2.g++
3.Microsoft C/C++ Optimized Compiler( VCに付いてるヤツより、
Windows SDKに付いてるヤツのほうが準拠度が高い)
- 46 :
- >>44
>>37
>画像とかデカイオブジェクトならメモリーを食いつぶす
>これのせいでFlash PlayerはWindows以外だと落ちまくり
え!、それ!?
何百メガ読み込んだら落ちるわけ?
つーかそれGCに頼れるコード書いてないのが悪いとしかいえないけど
そんな「ありえない」ソースコードをかけば落ちるとか仮定持ち出されても
- 47 :
- Flashが落ちるのはFlashのせいで言語関係ないだろ。
- 48 :
- 驚愕の事実!FlashはC++11で実装されていた!
なんて事になったら掌を返したように「Adobeの実装がヘボなだけ。C++は悪くない」って事になるんだろうな。
- 49 :
- >>48
当たり前だろw
なんならお前の好きな言語で、
バグ作って言語のせいにしてやってもいいんだぜ。
- 50 :
- Flashとかつかわね
- 51 :
- >>49
じゃC++11好きだからお願いします
- 52 :
- >>47
いや、処理系の問題じゃない。もとい、言語の問題でもない
ガベコレ採用してる言語使ってるから不安定という訳じゃなく
使ってるヤツがリソース解放に杜撰だから、リソースが漏れるという話で
そんなやつは、C++だろうが、Pythonだろうがどんな言語使おうが
漏らすもんは漏らすという話。youtubeとそこらの日本人が作ったFlash見てみろ
日本のニュース映像流してるFlashすらリソース漏らしまくりだぞ
>>48
どっか1箇所はActionScript組み込む必要があるが、
FlashでC++は使える。俺は、企業向けにストリーミング関係の開発してるが
速度がActionScriptの10倍なのと、スライシングを起こしづらく
1ヶ月以上安定動作するのが理由でC++をコアに開発してる。
- 53 :
- >>52
スゲー、そんなことできるんだ。
Alchemyとかいうの使っているの?
- 54 :
- >漏らすもんは漏らすという話。youtubeとそこらの日本人が作ったFlash見てみろ
>日本のニュース映像流してるFlashすらリソース漏らしまくりだぞ
参考URL plz
- 55 :
- >>52
なぜ君は俺が47で一言で書いた事をそんなに文字数費やして必死に書いてるの。
まさかその程度の内容を理解してない奴らがC++11スレ住民の平均レベルなの?
- 56 :
- 時代遅れと気づいてても仕方なくC++触ってる奴と
最先端()だと思って、C++は効率が良いと勘違いしてC++やってる奴との温度差
- 57 :
- 年々開くばかりだしな。
- 58 :
- >C++は効率が良いと勘違いしてC++やってる奴
ブラウザ作ってる連中のことですね
- 59 :
- ブラウザはC++でいい
開発効率がほんとにC#と同等かそれ以上と勘違いしてる層がいる
- 60 :
- C++を無条件にマンセーしてるのは実行効率と開発効率のトレードオフなのが理解できてないのばかりだよ。
しかもその実行効率ですら「ただし熟練プログラマーが使った場合に限る」ときてる。
- 61 :
- >>55
ちょっと前のレスにも出てる内容だし
お前が文盲だと思って気遣ってくれたんじゃね?
- 62 :
- >>60
他の言語と同じ書き方したってC++の方が早いんだから、
熟練も入門書修了者も無いと思うが?
- 63 :
- ほらわかってないのが湧いた。
他の言語と同じ書き方したら他の言語と同じ速度しか出ないぞ。
- 64 :
- EffectiveC++ぐらい暗記してるのが当然ですよね。
- 65 :
- uyがまた発生しとる・・・・。
他人に見せられるツール一つ作ったこと無いNEETらしいが、
社会復帰に失敗して戻ってきたのかな。
- 66 :
- >>63
出るが?尤も、自動変数で済むものを、他の言語に合わせてnewすりゃ
遅くはなるが、そこまで合わせる必要ないだろ。
熟練者でなくともnewは使いたがらんし。
- 67 :
- >>66
STLとかのかなりの機能が封じられるがそれでもよろしいか。
「LL並に便利機能ついたよ!」
「ただし性能出したきゃnew呼ばれるからこれとこれとこれは使わないでね。あと時前でメモリアロケーター書くぐらいは必須な。」
みたいなのが多すぎるんだよ。
- 68 :
- >>63
素直に同じアルゴリズムを書けばC++の方が速い
分岐が固定してりゃ別リンケージの仮想関数すら
インライン展開されるからな
- 69 :
- >>67
newで性能下がるのは、大概静的分岐予想が効かない場合だけ。
newのコストも馬鹿にはならんが、コンテナの様な場合じゃ
他の言語に劣るほどのコストにはならんよ。
自動変数で済む範囲をnewしまくれば論外だが。
アロケーター交換するのもよほど小さいオブジェクトを
allocで大量に生成するってケースでかなり特殊だ。
- 70 :
- >>63
http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php
この辺とか見てみたら?
最適化のしょぼいgccですらFortran, Ada, Cぐらいにしか負けとらんぞ?
しかも、ふつう勝てる筈のCに負けとるから何をしてるかはご察しあれ。
- 71 :
- >>70
いや、ふつうCのが速いだろ
- 72 :
- なぜ?Cのコードをそのままコピペすれば、速度は全く同じか若干速いぞ。
遅くなった場合なんか、経験した事も聞いたことも無い。
一応若干速くなる理由を補足するとオーバーロードが効くから。
double, float系は特に早くなる。
あと、C++のクラス機能を活かすと、メンバー関数のインライン展開、
仮想関数のインライン展開、継承レベルのインライン展開が掛かるんで
Cには真似できない最適化が掛かって、Cより速くなる。
( iccや Windows SDKのコンパイラ等 )
- 73 :
- 速度稼ぎたいときに
実行時間の大部分を占める処理で
関数ポインタ渡しするようなマヌケは
居ないので、実際はそんなとこで差はつかんけどな
あとC99にはrestrictがある
- 74 :
- ポインタ渡ししなくても一時オブジェクトや、自動変数のクラス自体が消失するんで差がでる
restrictがどの程度最適化に寄与できるかはC++11に追加されなかった理由を調べりゃすぐ解るだろうに
- 75 :
- 別にC++にはrestrictが無いからCより遅いって言いたいんじゃなくて、
Cでrestrict付ければポインタの最適化が効いて
C++並みの最適化が得られるってこと
- 76 :
- restrictは、1999年に考えられ幾つかの処理系にも拡張として残ってる仕様ではあるが、
そもそも書き込み先が入力元のポインタと同一なら(配列の先頭アドレスは異なってもよい)
未定義の動作にしかならん訳で、restrict有ろうがなかろうが
コンパイラは同じような最適化する。
- 77 :
- 1999年に考えられはおかしかったな。まあいいか。
- 78 :
- iccはrestrict付けるとSIMD化してくれたが
- 79 :
- 現実問題、ネイティブコード系はC/C++の独壇場だから、
がんばってもらわないと困る。
- 80 :
- と、かようにスレ違いの話題を延々とリークしまくるという
深刻な欠陥がここでも現れている
- 81 :
- 他人が親切に教えてやってるものを無視してひたすらC++やる奴なんて知った事じゃないが
- 82 :
- 開発効率も実行効率もどんどん但し書きかついてるな。
「C++11が動的言語よりも開発効率が良くなってる… 」*ただし非実在イケメンスーパーハカーに限る
- 83 :
- とてつもない膨大なテンプレート書いて、一瞬動的言語と並んだとしても
もしバグがあった時に、ありえない量のエラーログが
ずらああああああああああああっと表示されて数時間もかけてデバッグをして
また、その数時間後
「C++効率でてますよ、速度もでてます(ゼエハァ)」と、ネットで再びドヤ顔する
動いてるコードだけ見せられても、そのコード書く為にどれだけ裏で無駄な時間かけたんだか
動くようにするまでいったい何回プログラム実行して累計で何回エラーをだしたんだって話
そういうコードをC++スレ以外で貼り付ける奴はマジで迷惑
その多大なる時間をかけて書いてるコードの殆どがC#やら動的言語の車輪の再発明だろうに、何やってんだよC++使いは。
速度がでる? ブラウザだかOSでもかいてんの?
C++ははりぼて過ぎる
- 84 :
- > 速度がでる? ブラウザだかOSでもかいてんの?
Flash(笑)ですよ
- 85 :
- 静的言語の方がコンパイル時のチェックが厳しいのでバグ取り簡単。
- 86 :
- 静的言語、(一部の)バグ取りは簡単
しかしすべての型正しくマッチさせたソースコードを書かなければいけないので実際に動くものを作るまでかなりの時間がかかる
動的言語、大半のバグは実行するまでバグが分からない
しかし型をそもそも書かなくていいので、型をプログラマ自身が意識する必要は殆どない為高速な開発が可能
結局、動的言語でバグを混入させないソースコード書けるレベルなら
これほどいい言語はないよね
- 87 :
- 小手先の開発効率はどうでもよい。
エンバグに陥らなければ、それで良いのだ。
- 88 :
- >動いてるコードだけ見せられても、そのコード書く為にどれだけ裏で無駄な時間かけたんだか
>動くようにするまでいったい何回プログラム実行して累計で何回エラーをだしたんだって話
へぇ〜。
型チェックの無い言語は大変だなぁ。
特に二行目は動的言語の欠点を的確に言い表している。
- 89 :
- 静的言語なら一発でコンパイルが通るのかよw
しかも、コンパイルが通ったら必ず動くという関数型言語スレでならともかくw
- 90 :
- 型チェックが原因で重大なバグ出したって話はあまり聞かないが、
バッファオーバーランでセキュリティホール出したって話は毎日のようにニュースになる。
「プログラマーがヘボだっただけ」って反論が来るんだろうが、
現実的には世の中ヘボなプログラマーの方が多いしヘボでないプログラマーもポカミスはする。
- 91 :
- 今までは速度がーって理由で見向きもされなかった動的言語が
ここまできただけでもかなりの出世
- 92 :
- >静的言語なら一発でコンパイルが通るのかよw
静的言語ならコンパイル時に引っかかるミスでも、
動的言語なら実行してみるまで引っかからないから、
動くようになるまでプログラム実行する回数は、
動的言語の方が多い。
だから、
>動くようにするまでいったい何回プログラム実行して累計で何回エラーをだしたんだって話
これはまさに動的言語のこと。
- 93 :
- >>91
三十年程度しかプログラミングしてない若造だけど、昔も
「アセンブラだけがプログラミング言語。高級言語なんてオモチャw」
みたいな事を言う人がいっぱいいたよ。
実際には数多くの優秀なソフトがBASICで書かれ、アセンブラ至上主義者の人達は絶滅するかしれっとC至上主義者に転向した。
- 94 :
- どうみてもエラーってコンパイルエラーのことを言ってる・・・よねぇ
>>92以外は。
もうだめだバカの相手つかれた 俺は2chにつかれたぜ
- 95 :
- 静的言語は、開発期間が長い代わりにバグがでてからのデバッグ時間が短い
動的言語は、開発期間が短い代わりにバグがでてからのデバッグ時間が長い
この大前提でさえも否定してる92レベルの奴にレスする価値はない
92の先生になってやるつもりもない
バカが死ぬがよい
- 96 :
- 静的言語の欠点を挙げるべき箇所で、
動的言語の欠点を挙げてしまったお前がバカ。
>動くようにするまでいったい何回プログラム実行して累計で何回エラーをだしたんだって話
- 97 :
- どうせC++には当てはまらない利点なのに、必死で勝ち誇るんだなw
- 98 :
- 人生の効率をもうちょっと考えたほうがいいよね…
- 99 :
- ☓バグがでてからのデバッグ時間
○不具合が出ずに安心して使えることを保証できるようになるまでの時間
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
相田みつを with プログラム (339)
【Java】 Java Web Application Framework 総合 (222)
COM (312)
国産オープンソースDIコンテナSeasar2 その16 (500)
【License】ライセンス総合【利用許諾】 (480)
monazilla Part 6 (695)
--log9.info------------------
70&80年代ボリショイのダンサー達 (872)
キレイなバレエの先生にしごかれたいヤシのスレ (373)
ベリーダンス★インストラクターになりたい (217)
★小学生からのバレエコンクール★ (459)
31歳♂ヒップホップとブレイクは無理かな??? (428)
AAAのパフォーマンスについて (411)
鷹匠になりたいんだが (210)
[NPB]日本の野球カード・トレカ総合スレ[29BOX目] (437)
記念貨幣コレクター 12枚目 (746)
[MLB] 大リーグカードをマターリと語るスレ [46パック] (964)
【金貨】収集は危険がいっぱい その6【銅貨】 (723)
マイナーシールをツカサと語り尽くすスレ Part.19 (794)
マスコススレ外伝マスク・コスの転売をナタ〜ニ語る (661)
★ ミニカーコレクション 45台目 ★ (349)
【プレミア】自分のコレクション自慢スレ【レア】 (270)
【126円】ポケモンキッズ総合スレ5 (467)
--log55.com------------------
今カントリーマアムの新しい味で希望ある?
プッカとコアラのマーチはどっちがうまいか
ココナッツサブレが無かった
スーパーにある板チョコで一番美味しいのは何?
↑と↓のスレタイを合体スレ
甘納豆を語ろうじゃないか
〜さん太郎という名のお菓子について語るスレ
無印良品でおいしいお菓子って