完全なプログラムを構築していますか?


15

本を読んだり、ビデオを見たり、チュートリアルを確認したりするのはとても簡単です。メモを取って実際に教材を学習するのは少し難しいかもしれませんが、それでもまともな頭脳とかなりの関心を持っている人なら誰でも簡単です(もちろん、楽しいです)。

問題は、完全なプログラムやWebサイトを作成する準備が本当に整っていないことです。あなたがそれらの10代(高校生のみ、真の(大学レベル)のコンピューターサイエンスまたはプログラミングコースはなく、現実世界の経験がない)で、Grouponを使用するとします。あるいは、マーク・ザッカーバーグでさえ、彼は天才であり、彼は非常に有能なプログラマーだったに違いありません...

必ずしもプログラミングが初めてというわけではないが、実際のアプリケーションや実際のプログラマーをプログラミングするのが初めての人は、それを開発することをどのようにお勧めしますか?「開発プロセス」とは何ですか-特にシングルプログラマ(または2〜3代の若者)にとってはどうですか?

また、Web開発に関する限り、そのプロセスはどのようなものですか?FacebookやGrouponのようなものは、フレームワーク(CodeIgniterやPHPのZendなど)で書かれていましたか?または、独自のフレームワークを開発していますか?素晴らしいアイデアを思いつく方法を尋ねているのではなく、効果的な方法で素晴らしいアイデアを実装する方法を尋ねていますか?誰にもアドバイスがありますか?

私は、CとC ++の両方(主にCプログラミング言語とC ++プログラミング言語)に関する本をいくつか読んで、AP Computer Scienceを受講しました(JavaとOOPに関する追加の本をいくつか読みました)。また、PHP(およびCodeIgniter)およびPythonに関するチュートリアルをいくつか読んでいます。しかし、私はまだ高校生で、技術的には数か月間インターンシップで働くのに十分な年齢ではありません。


3
Reading books, watching videos, and reviewing tutorials is all very easy。はい、それらを読むことは簡単です、それらを理解することは難しい部分です。
ヤニス

@Yannis Rizos実際、私はそれらを理解しており、後で文でそれについて話します。
ボブ

@Bobが教材を学習し、実際にそれを理解することは実際にはまったく異なります。「理解」の私の個人的な定義は、10歳の子供が理解できない方法で手元のトピックを説明できるときです。簡単に、「インターフェース」を説明してください:)
タノスパパタナシオ

1
@ThanosPapathanasiouソフトウェア、ハードウェア、またはOOコンセプト?:)
ヤニス

2
@YannisRizosそれはあなたが10歳になるようなことを説明することの美しさです、あなたは3つすべてをカプセル化する簡単な例を使用することを余儀なくされます:)
Thanos Papathanasiou

回答:


8

単にプログラミングの方法を知ることと、プログラムを構成する方法を知ること(ソフトウェアアーキテクチャ)には違いがあります。

特定のプログラミング言語に関する簡単な本では、プログラムのアーキテクチャのセットアップに使用できるツールについてのみ説明します。

ソフトウェアアーキテクチャを支援する書籍もあります。探すべきトピックは、デザインパターンソフトウェア抽象化、ソフトウェアアーキテクチャ/デザインなどです...(Head First Design Patternsは、私にとって目を見張るものでした。)

幅広いリソースのセットについては、この質問に興味があるかもしれません。

それでもプログラム全体を適切に構成する方法を学ぶ最良の方法は、実際に実践することです。そうすることで、提案や新しいテクニックに非常に開かれます。


6

これは、(インディー)ゲーム開発と同じ非常に一般的な問題です:終了方法。

あなたがすべての必要な知識を持っているか、あなたが学ぶことをいとわないために、あなたがそれを行うことができることを確認する以外に-そして、他の人がそれが不可能ではないことをチェックしたことをチェックしました...

...「仕上げ」を可能にする主なことは、目標設定することです。

目標は到達すべき目標であり、到達方法を説明するものではなく、アプリの最初のバージョンを「完成」と見なすために必要な基本的な要件/機能のみです。また、目標を時間内に設定しすぎないでください。

目的をどこかに書いてください。書いてください。

目標を設定したら、目標に到達する方法を見つける必要があります。それが到着よりも興味深い有名な「道」です。壁に到達し、あなたがどれだけ間違っているかを発見することを心配しないでください。ほとんどの場合、主題が新しい場合、あなたはそれを間違え、あなたはそれを学び、それを正しくすることができ、目標に近づくためにもう一つのセットアップを行うことができます。

ゲームの設計においても、抽象的な方法であっても、どのような方法で達成する必要があるかをプレーヤーが確実に把握できるようにするために、目標を提供する必要があることがわかっています。


4

水泳について多くのことを読んでも、スイマーになることはありません。もちろん、必要な知識を持つ人を準備し、水に飛び込むようになったスイマーになります。

私は、それについて考えた/読んだよりも、それをやったばかりの多くの人が成功した人だと思います。

あなたが水泳選手になりたいなら、水に飛び込んで水泳を学びましょう。プログラマーになりたいなら、アイデアからプログラミングを始めて、プログラミングを学びましょう。

ピーターノルヴィグのエッセイはここで関連していると思います:10年でプログラミングを自分で教える


2
いい答えです!私は読書まま二人の友人は1日、彼らが感じるであろうと期待してプログラミングに関する書籍(読み始め)を持って準備ができてプログラミングを開始します。あなたはそれを決して感じないでしょう。冷たい水に飛び込んで、実際のプロジェクトに取り掛かりましょう。複雑すぎると感じる場合は、小さい方を選択してください。終了するまで作業を続けます。プロジェクト中に、進行中にポップアップ表示される未解決の問題に応じて、本や読み物を探します。
ジョルジオ

1

ソフトウェアの実装の側面に集中しすぎているように聞こえますが、これはソフトウェア開発プロセス全体のほんの一部です(SDLCを参照)。いくつかのソフトウェア方法論を見て、好きな方法を学ぶ必要があるかもしれません。それ以外は、ケーススタディを読んで、ソフトウェアでの使用を検討する各ツールのプラスとマイナスを見つけ、評価して、そこから進んでください。質問を一通り読んだ後、ソフトウェアの分析および設計分野に焦点を合わせ、UML、分解、およびいくつかの設計パターンについて学ぶ必要があるかもしれません。

お役に立てれば..


0

簡単に答えて、目標を設定して開始します。

あなたにこれを教える本や方法はありませんが、実際に体験してください。

あなたは多くの間違いを犯し、徐々に経験を積むでしょう。したがって、問題が発生した場合は、それについて考え、解決策を考えてみてください。失敗した場合は、stackoverflowに進んで助けを求めてください。また、できるだけ早くコードレビューを行います。

最初のプロジェクトを完了し、技術的な問題を十分に把握したら、ソフトウェアエンジニアリングのより抽象的で高度なトピックを検討し始めます。

共通の問題に対する新たな認識を得ると、最初のプロジェクトは維持不可能な混乱になるため、クリーンで分離されたコードを持つという概念を本にまとめます。

書籍(通常の容疑者):


0

この時点で、プログラミングに関する読み取りを停止し、プログラミングを開始する必要があります。Webサイトを構築する場合は、選択したフレームワークのチュートリアルを実行してください。あなたにアピールするものを選んでください。チュートリアルを進めてフレームワークの使用方法を学習し、独自のWebアプリケーションの構築を開始します。

いくつかのコードを書いたら、プログラミング技術に関する本にはもっと多くの意味があります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.