アカウント名:
パスワード:
クラスが使えるCとか、javaより速いjavaみたいな扱いだから、名前や使い方が似ているだけのあんまり筋の良くない機能が乱用されている気がする。ポインタとかnew演算子とか、ポインタは大抵参照で代用できるし、メモリリークするのはdeleteを忘れたのが原因ではなくて、不用意にnewを使ってしまったのが原因のはず、可変長配列は標準で用意されているし、make_sharedを使えば、shared_ptrを使う時にnewを使う必要はない。
名前や使い方が似ているだけのあんまり筋の良くない機能が乱用されている気がする。
C++にそれは言ってやるな・・・。C++は今ある洗練された多くの言語のおばあちゃんみたいなもんだよ。ネイティブ言語の後継者が育たないので未だに現役張ってるだけで。
>ネイティブ言語の後継者が育たないので未だに現役張ってるだけで。
さすがに自己矛盾したコメントじゃなかろうか。C++の役割はまさに「ネイティブ言語」である点にあるわけで。そして、その意味で「後継者」、つまりライバルは現在に至るまで不在だし、それはC++がよくできているからだろう。
C++は複雑な言語だけど、複雑さには理由がある。C++の目標は、「コンピュータの低レベル機能へのアクセスを実現すること」、同時に「静的に型付けされたオブジェクト指向設計をサポートすること」、そしてそれらを「なるべくポータブルに」かつ「効率的に(最小限のオーバーヘッドで)」実現することだ。これらすべてを同時に実現するために複雑になっているが、これらすべてが必要とされる分野というのが世の中にはあって、例えばJavaのランタイムがそうだ(まあCで実装されているものもあるけど)。結局、JavaのプログラムはC++で書いたランタイムの上で動いている。単に設計が古いとか、設計者が馬鹿だったという理由で複雑なわけじゃない。元コメや元々コメなんかは、ドライバとか、言語のランタイムのような低レベルなコードを書いた経験がないからC++の価値がわからないんだと思う。「ポインタは大抵参照で代用できる」とか、明らかにわかっていない。ガベージコレクタを実装することを考えてみればよい。
>「効率的に(最小限のオーバーヘッドで)」実現することだ。
C++11でも、これは言えるんでしょうかねえ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
C++って (スコア:0)
クラスが使えるCとか、javaより速いjavaみたいな扱いだから、
名前や使い方が似ているだけのあんまり筋の良くない機能が乱用されている気がする。ポインタとかnew演算子とか、
ポインタは大抵参照で代用できるし、メモリリークするのはdeleteを忘れたのが原因ではなくて、不用意にnewを使ってしまったのが原因のはず、
可変長配列は標準で用意されているし、make_sharedを使えば、shared_ptrを使う時にnewを使う必要はない。
Re: (スコア:1)
名前や使い方が似ているだけのあんまり筋の良くない機能が乱用されている気がする。
C++にそれは言ってやるな・・・。
C++は今ある洗練された多くの言語のおばあちゃんみたいなもんだよ。
ネイティブ言語の後継者が育たないので未だに現役張ってるだけで。
Re:C++って (スコア:1)
>ネイティブ言語の後継者が育たないので未だに現役張ってるだけで。
さすがに自己矛盾したコメントじゃなかろうか。C++の役割はまさに「ネイティブ言語」である点にあるわけで。
そして、その意味で「後継者」、つまりライバルは現在に至るまで不在だし、それはC++がよくできているからだろう。
C++は複雑な言語だけど、複雑さには理由がある。C++の目標は、「コンピュータの低レベル機能へのアクセスを実現すること」、
同時に「静的に型付けされたオブジェクト指向設計をサポートすること」、そしてそれらを「なるべくポータブルに」かつ「効率的に(最小限のオーバーヘッドで)」実現することだ。
これらすべてを同時に実現するために複雑になっているが、これらすべてが必要とされる分野というのが世の中にはあって、
例えばJavaのランタイムがそうだ(まあCで実装されているものもあるけど)。結局、JavaのプログラムはC++で書いたランタイムの上で動いている。
単に設計が古いとか、設計者が馬鹿だったという理由で複雑なわけじゃない。
元コメや元々コメなんかは、ドライバとか、言語のランタイムのような低レベルなコードを書いた経験がないからC++の価値がわからないんだと思う。
「ポインタは大抵参照で代用できる」とか、明らかにわかっていない。ガベージコレクタを実装することを考えてみればよい。
Re: (スコア:0)
>「効率的に(最小限のオーバーヘッドで)」実現することだ。
C++11でも、これは言えるんでしょうかねえ。
Re: (スコア:0)