6


2

C 0x規格は完成するまでの道のりです。 今まで、私はCで手を出してきましたが、他の言語では台無しにされてきた多くの現代的な機能が欠けているように思われるので、それを徹底的に学ぶことを避けました。 しかし、私はC 0xに非常に興味があるでしょう。それは私の苦情の多くを解決します。 規格が批准された後、主要なコンパイラベンダが合理的に完全な製品品質の実装を提供するのにどのくらいの時間がかかるかについて、何か推測はありますか? Cの人気の低下を逆転させるのに十分なほど早く起こるでしょうか?それとも少なすぎて遅すぎますか? あなたは、C 0xが数年以内に "C"になると思いますか、それともほとんどの人が実際には以前の標準に固執し、C 0xはC99のようなややろくろな子供になると思いますか?

5 Answer


16


C 0xを採用してはいけない理由はわかりません。 CコミュニティはCよりもはるかに前向きです。 Cは常に「移植可能なアセンブラ言語」であることを意図していたので、それを使う人々は空想的な新機能にあまり興味を持っていません。 Cはもっと広範囲にわたります、そして私はまだ0xを楽しみにしていなかったCプログラマの話を聞きました。 (Cコミュニティは非常に「より厳格」であり、未定義の振る舞いに標準の範囲外に移動したくないという印象もあります。つまり、ハーフ実装のハイブリッドではなく、C 03またはC 0Xを選択することを意味します。 Cプログラマーはそれについてもっとずっとリラックスする傾向があり、C99の機能とヘッダーをいくつか混ぜてC89を使うのはうれしいことです)

しかし、少なくともMicrosoftが追いつくまでには数年かかるでしょう。 Visual Studio 2010は、少数のC 0x機能(ラムダ、decltype、その他いくつか)をサポートしますが、大多数はサポートされません。 やや完全なサポートを得るためには、VS2012または次のバージョンが最終的に出ることを待つ必要があります。

GCC / Gでは、ほとんどの標準がすでに実装されているので、状況はずっと良くなっています(標準委員会は、実際のコンパイラでは実装およびテストされていない機能を採用することを好まない)。そのためによく使われます)

しかし、安定した本番稼働の準備が整うまでにはまだ時間がかかるでしょう。

Cの "人気の衰退"については、私は本当にそれを見ていない。 私は、Cがここ数年人気を著しく低下させたとは思わない。 RADの開発者たちはすでに.NET、Pythonあるいは他の言語やプラットフォームへの出荷をすでに急いでいます。 しかし、Cが今日使用されているところでは、実行可能な代替手段はそれほど多くなく、人気が低下する理由もありません。


3


私は他のベンダーについては知りませんが、http://blogs.msdn.com/vcblog/archive/2008/10/28/lambdas-auto-and-static-assert-c-0x-features-in-vc10から-part-1.aspx [what]私はhttp://www.codeguru.com/forum/showthread.php?t=466893 [見る]、MicrosoftはVisual C 2010に4つのC 0x言語機能を含める予定です。

これはC 0x機能のごく一部ですが、重要な機能です。 プログラマーがもっとコンパクト(自動、ラムダ)でエラーのないコードを書くことを可能にするものもあります。 (右辺値参照のような)いくつかはライブラリがより効率的になることを可能にします。 マイクロソフトは、ラムダをhttp://channel9.msdn.com/pdc2008/TL25/ [並列コンピューティングのためのイネーブル]として好んで使用しています。

私見: `auto`だけでテンプレートを使うのがずっと簡単になり、より多くのプログラマがそうするでしょう。 そしてうまくいけば、これはマイクロソフトとすべてのベンダーからより多くのC 0x機能の需要を増やすでしょう。

マイクロソフトもC標準ライブラリの実装を更新する予定ですが、詳細はわかりません。 私は彼らが右辺値参照移動意味論を利用するためにいくつかのコンテナクラスを修正していると思います。 そして私は彼らがTR1をもっと含むと信じています。


2


いくつかの実装はすでにC 0xへの道を進んでいます。( gcc)。 私の直感では、C 0xサポートは主要なコンパイラでかなり早く利用できるようになるでしょう。ただし、維持する必要がある大量のレガシコードがまだ存在します。


2


新しいバージョンのgccはすでに多くのC 0x機能をサポートしています。http://gcc.gnu.org/projects/cxx0x.html


0


マイクロソフトは、今年後半にVisual Studio 2010でC 0xサポートを追加する予定です(コミュニティテクノロジのプレビューは既に利用可能です)。

私はそれが近いうちに「C」になるとは思わないが、むしろ特定の人々が新しい構文の一部をコードの中で意味があるところに追加することを選択するだろう。

私はCをあまりしませんが、私はそれを愛するか、Cの美しさが彼らの手にかかっていると感じ、そしてそれらがC#を使うことを望むならば/ Java