アカウント名:
パスワード:
ごく稀にでも+500%になりうるようなら失格です。そして、そうならない保証はGCという機能の性質から本質的に困難です。
乱暴すぎる議論では。GCによる中断の上限時間を保証するreal-time GCはありますし、 逆に普通のmalloc/freeに上限時間保証はついてないんじゃ? (というかリアルタイムOSを前提にしなけりゃ システムコールにさえそんな保証はありませんね)
C/C++だって、オブジェクトのエクステントがスコープと一致しない時は自前でリファレンスカウンティングを 実装したりしますが、リファレンスカウンティングの実行時間保証は難しいですよ (
>ごく稀にでも+500%になりうるようなら失格です。
そういう理屈だとOSのシステムコールを読んでもダメ、キャッシュを使うのもパイプラインもダメということになるはずです。でも実際はそうじゃない。実際には一定の許容範囲があり、ごく希ならOKなのですけどね。
C言語を良く分かってない人ほど「GCは非決定的だから糞、C言語は決定的だから最強」という議論になりがちなのですね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
結局はGC付き言語 (スコア:0)
もちろんC/C++から仕事の一部を奪える可能性はありますが、全部は不可能です。
Goの相手はむしろJava,C#などの方でしょう。
効率的で高性能なGC、実行速度はC++から平均+10%程度、素晴らしい性能です。しかし、C/C++が使われる分野では平均など意味はありません。
ごく稀にでも+500%になりうるようなら失格です。そして、そうならない保証はGCという機能の性質から本質的に困難です。
明示的なメモリ管理は、このような用途では必須です。それが出来る高級言語は、普及したものでは今でもC/C++くらいしかありません。
GC付き言語にも出来なくはないでしょうが、GC前提で作られた言語で無理矢理明示的なメモリ管理をするのはC/C++よりずっと危険です。
言語は適材適所ですからね。GoはC/C++が得意とする分野の適材ではないでしょう。
得意な分野は別にあるはずなので、C/C++にケンカ売ってもしょうがないですよ。
Re: (スコア:0)
乱暴すぎる議論では。GCによる中断の上限時間を保証するreal-time GCはありますし、 逆に普通のmalloc/freeに上限時間保証はついてないんじゃ? (というかリアルタイムOSを前提にしなけりゃ システムコールにさえそんな保証はありませんね)
C/C++だって、オブジェクトのエクステントがスコープと一致しない時は自前でリファレンスカウンティングを 実装したりしますが、リファレンスカウンティングの実行時間保証は難しいですよ (
Re:結局はGC付き言語 (スコア:1)
>ごく稀にでも+500%になりうるようなら失格です。
そういう理屈だとOSのシステムコールを読んでもダメ、キャッシュを使うのも
パイプラインもダメということになるはずです。でも実際はそうじゃない。
実際には一定の許容範囲があり、ごく希ならOKなのですけどね。
C言語を良く分かってない人ほど「GCは非決定的だから糞、C言語は決定的だから最強」と
いう議論になりがちなのですね。