ホームページ >バックエンド開発 >PHPチュートリアル >優れた上級 C++ プログラマーになる方法
優秀なシニア C++ プログラマーになる方法
C++ プログラミング言語は、誕生から 30 年近く経ちました。他の言語に比べて習得が難しいことは否定できません。その学習の難しさは主にその複雑さに起因します。現在、C++ の使用範囲は以前よりもはるかに小さくなり、Java、C#、Python などの言語が多くの面で C++ を置き換えることができます。しかし、ゲームや効率的なサーバーなど、比較的高い運用効率が求められる業界を中心に、他の言語ではまったく代替できない分野も数多くあります。
現在、C++ よりも Java や C# などの言語を学習する人の数がはるかに多いのは、C++ の敷居が高すぎるため、学習した後に何もできない可能性があります。しばらくの間、それはあなたの自信に大きな影響を与え、あきらめてしまうでしょう。初心者が寄り道をしないように、私自身の経験を皆さんと共有したいと思います。ここでは具体的な技術的な詳細については説明しません。学ぶべきことだけを説明します。
1.技術力
1.言語。プログラマーになりたいなら、多くの複雑なことを学ぶことになりますが、言語を学ぶために最も重要なことは、学校の教科書でさえよく書かれていないことです。 。 の。 『C++入門』は非常に分厚く内容も濃いのでおすすめです。この本を辛抱強く読むことができれば、基本的に大きな言語の問題はなく、今後の学習の良い基礎にもなります。
2.GUI。 C++ には、MFC、WTL、wxWidgets、QT などの GUI ライブラリが多数あります。これらの GUI ライブラリにはそれぞれ独自の特徴があります。実際、最初に 1 つの種類の GUI ライブラリを理解するだけでよく、必要に応じて他の種類の GUI ライブラリも同様に学習できます。本質的なものであり、すぐに始めることができます。 MFC は設計上多くの問題がありますが、それでも入門としては優れており、学習教材が多数あり、問題に遭遇した場合は解決するのが簡単です。
3. データ構造とアルゴリズム。多くの人はデータ構造とアルゴリズムの知識を無視しています。特に、一部のプログラミング言語ライブラリは非常に優れており、一部のデータ構造とアルゴリズムを自分で実装する必要はほとんどありません。その結果、多くのプログラマーは現在、注意を払っていません。この知識を無視しても構いません。ただし、プログラムをより高速に実行し、使用するメモリを少なくしたい場合、この知識は非常に重要です。多くのプログラマーは、最初はこれらに注意を払いませんが、数年働いていると、この知識を習得するようになります。
最初はあまり深く勉強する必要はないかもしれませんが、基本的なデータ構造とアルゴリズムを知っておく必要があります。
「データ構造 (C 言語編)」を推奨します。データ構造とアルゴリズムを学ぶ場合は、オブジェクト指向の手法を気にせず、C 言語を使用して実装するのが最善です。アルゴリズムそのもの。
4. データベース。データベースの基本的な知識を学び、データベースの使用をマスターするには、mysql を使用することをお勧めします。代わりに、mysql が提供するデータベース API を直接使用することをお勧めします。データベースへの理解が深まります。
5. パラレル。 CPU の主要な周波数はもはやムーアの法則に従うことができません。 現在の CPU の開発トレンドはマルチコアです。マルチスレッドであろうとマルチプロセスであろうと、それはすべて CPU のパフォーマンスをより有効に活用し、より良いユーザー エクスペリエンスを提供するためです。このため、効率的なアプリケーションを作成するには、並列コンピューティングを使用する必要があります。並列コンピューティングにより多くのエネルギーを費やせば、間違いなく大きな利益が得られるでしょう。
6. ネットワークプログラミング。ここで言うネットワークプログラミングとは、ソケットプログラミングのことを指します。現在、多くの C++ アプリケーションがサーバー開発に使用されており、高い同時実行性、高いスループット、高い安定性を備えたサーバーを開発する方法を考慮する必要があります。
7. デザインパターン。デザイン パターンは特定のテクノロジではなく、コードを読みやすく、拡張性を高め、使いやすくする方法に関するものです。
8. 図書館の利用。 C++ 標準ライブラリはいくつかの非常に基本的な機能のみを提供するため、サードパーティのライブラリをいくつか導入することがよくあります。最も有名なのは、準標準ライブラリと呼ばれる boost ライブラリでしょう。これは、テキスト処理、アルゴリズム、ネットワーク、マルチスレッド、画像処理など、プログラミングに使用されるさまざまな技術をほぼすべてカバーしています。他にも、ネットワーク通信用の ACE、XML 解析用の TinyXML、グラフィックス レンダリング用の OGRE など、特定の側面に特化したライブラリがいくつかあります。
9. オペレーティング システムに関する知識。プログラマーが知っておくべきオペレーティング システムの知識は、一般ユーザーの知識とは異なります。マスターは、使用レベルにとどまるのではなく、オペレーティング システムのあらゆる側面を深く理解する必要があります。どのような知識を知っておくべきかについては、Windows の場合は「Windows Core Programming」、Linux の場合は「Linux カーネルの詳細」を参照すれば、学ぶべき内容がわかるはずです。
2. プロジェクトの経験。上記の内容に習熟していれば、比較的強力なプログラマーであると考えられます。しかし、プログラマーにとっては、プロジェクトの経験の方が重要です。優れたプロジェクトでは、さまざまなテクノロジーを包括的に適用し、新しい知識を学ぶことができます。たとえば、ゲームを作る人はグラフィックスの知識を学ぶ必要があり、プレーヤーを作る人はコーデックの知識を学ぶ必要があります。
多くのプログラマーはプロジェクトの経験を無視して、単に技術的な能力について話します。これは間違いです。実際、これは理論と実践の関係であり、テクノロジーは理論的な知識であり、プロジェクトを行うことは実践であり、理論は実践に有益な影響を与え、実践は理論の深い理解を深めます。
3. コミュニケーションスキル。コミュニケーション スキルは、上級プログラマーが持つ必要があるソフト スキルです。私がここで話したいコミュニケーションスキルは、よくある雄弁さや美辞麗句、派手な話し方ではありません。プログラマーのテクノロジーをベースとしたコミュニケーションスキルです。
高羅峰兄弟は弟子を無料で募集しています: http://www.hdb.com/party/lzcw-comm.html
LAMP兄弟のオリジナルPHPビデオチュートリアルCD/「PHPを詳しく説明する」を無料で受け取ります。お問い合わせください。詳細については、公式 Web サイトのカスタマー サービス:
http://www.lampbrother.net
【Brothers IT Education】PHP、Linux、HTML5、UI、Android およびその他のビデオ チュートリアル (コースウェア + ノート + ビデオ) を学びましょう!
ネットワークディスクチュートリアルのダウンロード: http://pan.baidu.com/s/1mg8ANMg
上記では、優れた上級 C++ プログラマーになる方法をその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。