重複の可能性:
私はCを知りません。なぜそれを学ぶ必要があるのですか?
私の目標は、オンラインアプリと動的なデータベース駆動型Webサイトを作成できるようにすることです。たとえば、将来的に次のDiggまたはFacebookのアイデアが浮かんだ場合は、自分でコーディングできるようにしたいと考えています。
そこに到着するには、基本的に2つの方法があると思います。
基本的なレベルから始めて、Cを学習し、次にC++ for OOPを学習してから、アルゴリズムとデータ構造を学び、コンピュータープログラミングをしっかりと理解することを目標とします。その後PHP/MySQL/HTTPに移動し、実用的なプログラミングプロジェクトに取り組み始めます。
PHP/MySQL/HTTPから直接始めて、すぐに実用的なプロジェクトに手を染めてください。
何をお勧めしますか?
ここにあなたのための$ 100,000の質問があります:Webサイトの開発があなたがしたい唯一のことですか? PHPは非常にドメイン固有の言語ですが、間違いなくエントリの障壁はかなり低いです。オブジェクト指向とは言いません。それが焦点ではないからです。PHPは1つの理由で存在します:Webサイト。
キャリアで別の方向に行く可能性がある場合は、より伝統的な言語で学ぶことを強くお勧めします。これはC/C++である必要はなく、Ruby、Python、Java、C#などでもかまいません。これらはそれぞれ非常に優れたオブジェクト指向プログラミング言語です。とはいえ、プログラミングが最も普及しているように見えても(少なくともマーケティングが優れている)、オブジェクト指向言語はプログラミングを行う唯一の方法ではありません。
PHPは、Webプログラミングを行うための多くの方法の1つにすぎません。 Ruby、Python、Java、C#のオプションのホストがあります(必要に応じてSmalltalkも同様です)。
ああ、StackOverflowで自分の答えを作成しているときに移行されました。しかたがない。
まず第一に、あなたはC++を学ぶ前にCを学ぶ必要がある必要はない、そして実際、私はそのルートに行くことをお勧めしません。適切に作成されたCプログラムは、適切に作成されたC++プログラムのようには見えず、動作もしません。 「本当の」プログラマーになるために最初にCを学ぶ必要がある人気の迷信があります。これは真実ではありません(さらに、 実際のプログラマはFortranを使用します )。 Cの独自の利点と欠点のセットを持つ別の言語。より大きな欠点の1つは、それが恐ろしい指導言語であることです。
Webプログラミングに関しては、CもC++もそれほど人気がなく、安全にスキップできます。私はPHPで少しプログラミングを行ったので、小さくて汚い作業には適していますが、DiggやFacebookの規模(プロジェクトの能力をはるかに超えたプロジェクト)には適していないと思います。単一のプログラマ)。私の経験は非常に限られていますが、Pythonについて非常に良いことを聞きました。
回答:いいえ。 C/C++はまだ学習しないでください。実際、教育や仕事で必要な場合を除いて、C++を絶対に学習しないでください。それはそれだけの価値はありません。ただし、Cはveryと知っておくと便利ですが、「上級」と見なして、必要に応じて学習してください。
だから絶対に手を汚してください。ただし、PHPだけに限定しないでください。 PHPには何の問題もありませんが、ええと、ええ、実際にはPHPにはたっぷりの問題がありますが、それで十分です。それ。しかし、Cの代わりに、Python(これも大量のジョブを持っています)と関数型言語(遠近法を取得するため)を学習します。また、すでにPHPを知っているかどうかも不明です。そうでない場合は、Pythonを使用したプログラミングの学習から始めることをお勧めします。Pythonは、初心者向けの優れた言語です。
次に、必要に応じてCを学習します。たとえば、パフォーマンス上の理由でPythonにC拡張機能を記述する必要がある場合などです。
オプション2を選択します。
C++またはCのバックグラウンドがある場合は、それが役立つことにも同意します。そうでない場合は、スキップして、必要なツールを適切に使用してください。
ただし、これはOOP、アルゴリズム、データ構造などを学習すべきではないという意味ではありません。これは、PHPを使用してそのすべてを実行できることを意味します。
PHPで手を汚しましょう。あなたはそれ以上のものを必要とすることに気づいたとき、それは学習を始めるための適切な瞬間です。 C.実用的な応用なしに一度に多くの知識を得ることは、あなたを混乱させ、やる気にさせるだけです。
最初のパスは長いパスですが、プログラミングの確かな背景が得られます。あなたが私に尋ねるなら最も重要である概念を理解するでしょう。次に、プログラミング言語は単なるツールになり、言語について考えるのをやめ、問題のある領域について考え始めます。 C/C++に進み、ポインタ、参照、再帰などを理解します。
ボトムライン。プログラムの方法を学びます。この練習は言語に依存しません。
Diggとfacebookはどちらも非常にトラフィックの多いサイトであり、スケーラブルなものを作成するには、php以外の情報も必要です。
一方、Diggの最初のページに掲載されない限り、しばらくスケーリングする必要はありません。
最終的にそれはあなたの選択であり、誰もあなたのためにそれを作ることはできませんが、個人的な経験から、データ構造について学び、実装することはとても楽しいです。
Webプログラミングを行うためにCまたはC++を学ぶ意味がわかりません。彼らは確かに、ソフトウェア開発の基礎として学ぶのに最適な言語です。本当にOOPを学びたい場合は、C#など、本質的にオブジェクト指向の言語を選択してください。 (免責事項:私はC#/ ASP.NET Webプログラマーです)。 C#(または類似の言語)を使用すると、Webプログラミングの学習と同時にオブジェクト指向の概念を学習できます。そうすれば、実用的なものをかなり早く作成できます。
Webプログラミングを行う場合は、CおよびC++をスキップしてください。
xhtml、css、およびjavascriptから始めることをお勧めします。これらは、やりたいことの中心にあるためです。これら3つの主題について何も調べる必要がなくなったら、Webプログラミングの堅固な基盤ができます。もう1つ、オブジェクト指向のJavaScriptを詳しく調べて、DOMをいじるだけではありません。
頑張って、集中し続け、楽しんでください。
PHP(PHP5はOOP))で直接基本レベルから始めることができます。
とにかく、アルゴリズムやデータ構造を検討する必要があります。これは基本的な知識です。あなたの考え方をコードやデータなどに変換する方法を知り、それを適用してください。
コーディングから直接始めれば、実用的な知識があるので初めての方が良いかもしれませんが、これはコードを効率的に書くことができるという意味ではありません。
楽しさと知識のためにそれをしてください、それは実際にあなたをより良いプログラマーにするでしょう。 C/C++を知ることは、他の言語が「力」に欠けているもの、および単純性やドメイン固有の機能、あるいはその両方でどのようにそれを実現するかについての優れた展望を提供します。
個人的には、C/C++はjsとPHPがどのように機能するかについて、いくつかの洞察を与えてくれました(たとえば、削除演算子やcopy-on-write/pass-by-referenceなど)それぞれ)。
Diggとfacebookはどちらも非常にトラフィックの多いサイトであり、スケーラブルなものを作成するには、php以外の情報も必要です。
あなたはしません。少なくともdiggにとっては。とてもシンプルなデータモデルです。 Facebookは別の話ですが、90%の確率でWebサーバーよりもデータベースをスケーリングします。オペコードキャッシュを使用すると、飽和した複数のDBマシンにWebサーバーマシンを接続でき、Webサーバー側では負荷に気付くことさえありません。
私は最初にC++を試します(PHP/Pythonのような高水準言語の前に)。または、アルゴリズム(Pascal)で遊ぶことができる任意の言語...何かを行うだけでなく、実際にどのように機能するかを知っている場合は、常に大きな違いがあります。並べ替え($ x)
I 強く Cの使い方を理解するために少し時間をかけることをお勧めします。少なくとも、十分な注意を払って、メモリ管理がいかに難しいかを示す演習を行います。
非常に多くのPHPプログラマーは、次のコードが「うまくいく」とき、彼らが本当にいかに甘やかされているかを知りません。
$foo = array();
でも$foo = "string";
は感謝すべきものです。
使用する可能性が低い言語を追跡することはお勧めしませんが、他の言語をより理解できるようになるまで、それを知ることをお勧めします。
Cを知る必要はないと思います。Cは単純な言語ですが、使用するのが非常に難しいです。 C++は広大な言語です(おそらくCのサイズの10倍)。
始めている場合、次に、提案した非プログラミング言語(html)から始めます。次に、スキームを見てこの電子ブックを試してみてください http://mitpress.mit.edu/sicp/full-text/book/book.html その後、エッフェルを試してください。非常に速く、簡単に学習できますOO言語。
C、C++、Javaなどの強く型付けされた言語を学習する利点は、プログラミングの基本を理解するのに役立ちます。次に、データベースアプリケーションを学習する前に、RDBMSと基本的なSQLについて学習します。仕事の50%はここで行われます。その後、MySql、Oracleなどの学習ははるかに簡単になります。
Webプログラマーになりたい場合は、Cと(C++またはJava)を最初に学習することをお勧めします。次にPHP)に進みます。非常に簡単に理解できます。
トリックは、それをうまく行う言語から各パラダイムを学ぶことです。
静的に型付けされたOOP Pythonのような言語、C#、Javaなど)を学習します。低レベルシステム用にCを学習します。時間があれば、Haskellを学習してください、Scheme、LISPなどの関数型/宣言型プログラミング。
私の最初の言語はC++でした。癖や奇妙なハックを学ぶのに何年もかかりました。
私がPHPを再導入したところ、UW-マディソンのデータベースクラスの最終プロジェクトのために数日で取り上げる必要がありました。「C++を知っているなら、PHPを知っている必要があります。ドル記号を使う」
OOPを行わず、実際にプログラミングをしたい場合は、同時に学ぶことができます。PHPでのハングアップは、いつ使用するかです- >いつ使用するか=>そのため、実際に本を読んでPHPを学ぶことをお勧めします。インターネットから必要なものを手に入れるだけではありません。
それがおそらくC++を学ぶ唯一の方法だと思います。 Cについては心配しないでください。高校生ならCを学びに行きましょう。そうでなければ忘れてください。
それらを同時に習得した場合に実行できる1つの楽しいことは、自分用の拡張機能を作成することです。
人々がPHPを嫌うのは、それがあたかも使い捨てのバッチファイルの束であるかのようにコード化されることが多いということです-そして、それをWebとして作成しようとする場合は避ける必要があります。プログラマー人々は同じ理由でCコードのように見えるC++コードを軽蔑します。
コードで距離を移動します(PHP innerallynested配列の代わりにクラスを使用します。C++ではinernallynested構造体の代わりにクラスを使用します)。それはあなたのために距離を移動します
私はPHPが大好きですが、それは非常に寛容であり、時として汚いプログラミング習慣を奨励するため、プログラミングを学ぶのに最適な言語ではありません。
クリーンなCまたはC++で確固とした基盤を取得し、OOP=最初に、次にPHPに切り替えることは、間違いなく検討に値するオプションです。学習にほとんど問題はありません= PHPその後。