1

私は中級のc++プログラマーであり、ACEを使用していくつかの作業を行いました。今は、これらのライブラリの1つを徹底的に学び、キャリアを積んでいきたいと考えています。だから私は決断を下すためにあなたの親切な助けが必要です、それは私が最初に何を学ぶべきかということです。また、私の目的地は、専門のネットワークプログラマーおよびプロトコル設計者であることを考慮してください。よろしくお願いします。

4

1 に答える 1

5

これはあなたが探している答えではないかもしれませんが、キャリアの目標に関しては、人為的に自分を制限しすぎないことを強くお勧めします。プログラマーとしてのキャリアがどれくらい続くと期待しているかを把握し、(a)自分がその時間だけネットワークプログラミングを行っているのを本当に見ることができるかどうか、(b)1つのライブラリを本当に信じているかどうかを自問してください。あなたがあなたの深い知識のために選択することはあなたのキャリアを停滞させることなくあなたのキャリアの残りのためにあなたが今持っているニーズを満たすことができるでしょう。

プログラミングのキャリアを長期的に維持するのは、1つまたは2つのライブラリに関する深い知識ではなく、プログラマーとしての全体的な能力です。ライブラリは、プログラミング言語がツールであるのと同じように(ライブラリデザイナーでない限り)ツールであり(言語デザイナーでない限り)、優れたプログラマーの1つのマークは、タスクに適切なツールを選択する能力です。

それがすべて終わったので、すべてのC ++プログラマーは、少なくともブーストが存在するという事実と、スマートポインターライブラリ、正規表現などのコアライブラリのいくつかに精通していることをお勧めします。 Boostのすべての面の専門家ですが、かなり経験の浅いC ++プログラマーでも、どこでそれを見つけることができるかを知っていると思います。たとえば、独自のプールされたメモリアロケーターを作成するよりも、Boostのコードを使用する方がよいでしょう。私が示した例は、最も狭い意味でネットワークプログラミングに直接適用できるようには見えないかもしれませんが、重要なサイズのほとんどのプログラムで確かに必要になります。

Boostについていくもう1つの理由は、最終的にC++標準ライブラリに組み込まれる/可能性のある多くの手法がBoostに由来することです。Boostがどこに向かっているのかを把握しておくと、C ++で新しい使用法のイディオムがまだ開発されているため、C++コミュニティの特定の開発を監視できます。言語とその標準的な使用法は、少なくとも現時点では「固定」されていません。また、C ++プログラマーとしての長期的なキャリアを計画している場合は、これについていく必要があります。

于 2009-11-26T06:58:39.183 に答える