C++使って何するの?
■ このスレッドは過去ログ倉庫に格納されています
メモリーのリークは検出できるけど、リソースのリークはなかなか難しいよね!
UNIXの優れた点として良く言われるのが、プロセスを閉じると使用していたディスクリプタも
閉じることだけど、それが物語ってるよね、Windowsの素晴らしさを! そもそもGC万能でもないしな
javaでもc#でもlistに対してnewし続けてまわしてたりすりゃ実質リーク状態起こすし、テストや解析ツールで発見しやすくなるのは極論すりゃcだって変わらん
そんな半可通の俺が、敢えてここでObjective-Cに於けるARC最強説を唱えてみたいと思う
さあ叩け
もちろんc/c++とのやりとりが発生する度に日々地獄はみているからしてアレがナニではあるが >>83
ナカマ!ナカマ!
「extern は要らない子!(C限定)」 >>72
キミもスマートポインタやそういった設計を知らないで
>>65 みたいなことを言っている人!? >>86
2ちゃんというか世間の人間はそんな奴ばっかや!
大工に例えたら、ノミとかトンカチを使ったことないヤツに木の削り方をドヤ顔で指摘されとる
こっちは仕事でわからん奴に説明ばっかしとる・・・ C++のプロジェクトに参加するときは
そういう人がいないことを祈る。。。
>>39 に関しては
mscoree.dll (.netのランタイム) が読み込まれていなくて
msvcp○○.dll (Visual C++のランタイム) が読み込まれてたら
Visual C++で作ったプログラム (のはず) なので
Word、Excel、IEなどのMS製品以外にも
FirefoxやAdobe Readerその他殆どのアプリが
C++で書かれているっぽい。
C#とかJavaは逆コンパイルも容易だし
サーバサイド以外での商用アプリとかでは
ほとんど使われてないんじゃないかな。
※.netだとDotfuscatorとかの難読化ツールあるけどね >>88
商用でも普通に使われるは
むしろ開発効率の悪いC++をあえて使う理由とは >>88
>msvcp○○.dll (Visual C++のランタイム) が読み込まれてたら
>Visual C++で作ったプログラム (のはず) なので
mingw‥‥‥ >>91
mingwを含めIntel、Borland、Digital Marsのコンパイラとかいろいろあるのは分かるけど
それらで生成したプログラムはどこを見たらC++で書いたか分かる? >>93
情報ありがとうございますm(_ _)m
でもこれgccでリリースビルドしてないもの限定だから
製品で出てるやつはわからないね C++は、他の言語なら一部C言語で書いたりするところを
C++自身でそのまま完結させられちゃうところが利点なんよね
だから至るところで高速化したり低レイヤを扱ったりしてて、かつ規模が大きめなときだろうか…
>>88 で言えばFirefoxはGecko部分があり、Adobeは二次元をGPUで処理させとるからかな? つまりC++は他人に自分の知的財産をコピーされないところが一番の利点ってことでFA? >>95
利点であり落とし穴
スクリプト言語でやってもボトルネックにはならない箇所まで
C++でノタノタ書いてるのはアホというか
つうか殆どのアプリで
スクリプト言語にC/C++等を付けたすで完結するのに
C/C++にスクリプト言語を付けたすがデフォな奴は時代に遅れてると思う 啓発テンプレ:C/C++で作られているもの一覧
■ OS分野
- OS(Windows、Linux、Mac(カーネル以外はObjective-C))
- ドライバ
- OSの基本コマンド群(ls、find、grep他多数)
- エディタ(vim、Emacs、Sublime Text、即ち現在のメジャーエディタすべて)
■ ウェブ分野
- ブラウザ(Chrome、Firefox、IE、Safari、即ち現在のメジャーブラウザすべて)
- ウェブサーバ(Apache、nginx等)
- データベース(MySQL、PostgreSQL、MongoDB等)
- JavaScript VM(V8、SpiderMonkey、JavaScriptCore、即ち現在のメジャー実装すべて)
- 多くのプログラム言語(PHP、Python、Perl、Java他多数)
■ ゲーム分野
- 家庭用ゲーム機およびPCの商用ゲームソフトのほぼすべて
- ゲームエンジン(Unity、Unreal Engine、CryEngine他多数)
■ 組み込み分野
- 組み込みソフトウェアのほぼすべて
- 制御ソフトウェア、信号処理ソフトウェア、ドライバ等
C/C++はもう不要だ、レガシーな言語だ、書きたくないという人も多いでしょう。
が、C/C++を捨てると、貴方は最早こうした重要なソフトウェア群や
ハイパフォーマンスソフトウェア群の開発に関わることができません。
特に、JavaScriptを書いてモダン気取りのウェブ系の連中に忠告したいのですが、
上の一覧を見ても分かるように、ウェブの基盤はほぼすべてC/C++で作られています。
C/C++を書かない、読めない、使えないと宣言することで、
自分が低レイヤに関われない二流のエンジニアだとアピールしていることになります。
気をつけましょう。 ドワンゴの会長が、C++使えないプログラマは本物のプログラマじゃない的なことをコメントしていて
そういう認識なのかと嘆いていたウェブ屋がいたが、
ぶ っ ち ゃ け ド ワ ン ゴ 会 長 が 正 し い。 問題。これらのソフトウェアがなぜC/C++で書かれているのか答えなさい。
これプログラマの面接の質問によくね?
せめて3つから5つは挙げて欲しいね。
歴史的経緯で使われているだけ(=単にレガシーだから)などと答える馬鹿は
たぶん全員落とすわ。 ・これからはオブジェクト指向だよ!って風潮に流されて
・当時のパソコンでなんとか動くまがい物のオブジェクト指向のC++をつかまされて
・あとはそれで作っちゃったからそれでメンテさせ続けられてる。
Windowsのような巨大プロジェクトはC++のオブジェクト指向の不完全さゆえ
巨大になるにつれ開発に支障をきたし実際プロジェクトが頓挫しまくったことで
「本物のオブジェクト指向言語」への言語入れ替えが火急の事態として急がれているが
作ってしまったものの大きさゆえいまだに有効な置き換えができていない。 なんでコマンドはCで書かれてるの?
組み込みみたいな場合を除けば、スクリプトで組んだ方が速度という不利を考えても安全性がまさる気がするが >>102
> C++のオブジェクト指向の不完全
ひとつでも指摘してみ WEBブラウザ含めメジャーなアプリは殆ど全てC++で書かれている
そういう仕事に縁の無いドカタのためにJavaやC#があるんだから無理する必要ない >>105
オブジェクト指向の根幹の一部をなすメッセージ/メソッドの不備
それに伴うクラスの役割分離の不明瞭性、プログラマから見た時のクラス動作内容の見通しの悪さ
加えてそういった筋の通ったカプセル化インターフェイス思想の無さから
次から次へと追加された複雑な言語仕様。プログラムの可読性の更なる悪化。
要するに言語名そのまんまC+1以上のものになれなかった過渡期の言語。 >>107
全然具体的じゃないね
> オブジェクト指向の根幹の一部をなすメッセージ/メソッドの不備
何が不備なのか説明してみ >>107
>筋の通ったカプセル化インターフェイス思想の無さ
「筋の通ったカプセル化インターフェイス思想」とは? >>109
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html Cでメモリリークを起こさない設計をするのは相当な手間だけど
C++なら最初の設計ミスらない限りメモリリークはほとんど考えなくてよくなるだろ
小規模のを適当に組んでぱっと動かしたいだけなら.NET系のとかのほうが一瞬で組めて考えることも少なくて楽
大規模でしかも要素要素の関係が複雑なものになると、部分部分をきっちり動かしたくなる分C++のほうが最終的に楽な感じ
要素間のつながりが単純なら別にC#とかでも全然いいけど >>111
念のため聞いとくけど、ジョークであることは理解してるよね? まあ信じててもいいとは思うよ、俺には関係ないし (w モノホンのインタビュー集「言語設計者たちが考えること」で
ストラウストラップさんはまだ「オーバーヘッドがー」みたいなこと言ってて
ダメだこの人速くなんとかしなくちゃとリアルで思ったりはした。
あと、他の言語設計者からはフルボッコ ダイナミックキャストの型チェック部分だけだろ
デバッグ時にテスト走行させるときくらいしか使わないけどな リリースビルド時にも型情報に頼るような設計しているなら
ソース設計自体を見直した方がいいだろうと思われる はいはい、自分が使いこなせない機能は糞だと言いたいお年頃か 正直、C/C++よりJavaやC#の方が難しい。特に今のC++は高級言語を理解していないと最新のコードがかけなくなってくる。 こんな短い文章でも意味わからんこと書けるんだな (w 他人ならスクリプト言語で作るかもしれない一時プログラムをC++で作ることが多いが、これから
スクリプト言語を勉強して、その言語に変更したほうが迅速に作れるようになんの?
あんまりそうは思わんが。 >>121
ラムダ式のことか?あれば lisp/scheme 由来だよ >>124
既に大量の機能を詰め込んでいるコードを使い回して色んな一時プログラムを作るとかならともかく
そうでなければ、大概のスクリプト言語はそれぞれの用途に特化して
言語仕様から組み込みのライブラリまで作り込んであるからなー
…と言うか、スクリプト言語の勉強が大変だと思っていない?
本当に今の肥大化したC++が解っているのであれば、大概のスクリプト言語は
その応用で理解できるようになると思うぞ C++が分かればhaskellとかそういう言語を除いて一瞬で理解できる
っていうか勉強するまでもなく使えるだろ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
2OODD ■ このスレッドは過去ログ倉庫に格納されています