web-dev-qa-db-ja.com

一般的なプログラミングスキルを構築しますか?

私は現在、プログラミングにまったく慣れておらず、いくつかの言語(C#、PHP、JavaScript、VB、およびその他のいくつかの言語)に触れたことがあり、OOPにもまったく慣れていません。

言語固有でなくても、一般的なプログラミング/問題解決スキルを構築するための最良の方法は何でしょうか。私はおそらくプロジェクトオイラーのようなものを考えていましたが、初心者向けですか?

ありがとう!

編集:私はゲームスクリプティング/プログラミングを始めようとしています。私はすでにゲームに参加していますが、別の分野にいます:)

4

私はあなたがするどんなプログラミングもあなたの「一般的な」プログラミングスキルを構築すると信じています。それは新しい言語を学ぶようなものであり、あなたは常にそれをあなたの「ネイティブ」が何であるかに関連付けます。 Javaを手にしたとき、私はすべてを頭の中でC#に関連付けました。

私の最善のアドバイスは、プロジェクトを選ぶことです。自分の目標を設定し、それをコーディングします。グーグルは狂ったようで、本当に行き詰まったときにスタックオーバーフローを使用します。学ぶための最良の方法は行動を通してです!

11
jocull

データ構造を研究することをお勧めします。良い本を手に入れて、スタック、キュー、ヒープ、ツリーを調べ始めてください。これらの束と、実装が機能することを確認するためのテストを実装します。これにより、優れた理論的基盤と、重要なコーディング作業が得られます。さらに、多くのコンパイル言語はリンクリストとハッシュテーブルを提供しますが、多くのスクリプト言語は提供しないため、それらの実装方法を知っておくことをお勧めします。

4
TMN

大学でJavaを学びました。クラス、オブジェクト、継承、多形性、オーバーライド、オーバーロードなどの概念を紹介しました。

それ以来、ほとんどの言語はこれらの概念で作られているので、多くの言語を簡単に学ぶのに役立ちました。私はvb.net、C#.net、php5(oopを使用)を学びましたが、それらのほとんどは、同じoopの概念ではないにしても類似しています。

学生のために小さなプロジェクトをしている間、私はJavaでユニットテストも学びました。これはphpにも適用できます。

確かに、Javaは、純粋なオブジェクト指向の性質を備えているため、クラスとオブジェクトの観点から実際に学び、考えることができ、それは大いに役立ちます。

3

IIUCがいくつかの言語をいじったので、もっと大きな一口をつかむ必要があります。

問題の領域について学ぶために、ソフトウェアのアーキテクチャと設計に関するいくつかの重い怖い本を見つけてください。また、いくつかのより大きなプロジェクト(できれば関連しているが異なる言語)のソースを掘り下げたり、貢献したりしてみてください。また、いくつかの大きなプロジェクトを自分で行うことを検討してください(または、設計演習として、小さいが非常にフレームワークのようなプロジェクトを実行します)。

そうすることで、言語に関係なく、すべてのプロジェクトに忍び寄る一般的なパターンと、各言語がこれらの問題をどのように解決するかを確認して学習できます。

2
Macke