プログラミングに関する最も難しい部分は...





Quora.comディスカッションスレッドが本当に好きでした。プログラミングを学ぶことで最も難しい部分は何ですか。 87の回答すべてを読んだことはありませんが、私はそれらが好きで、10ポイントの別の記事を選びました。 これは、多くのさまざまな人々の意見を自由に言い直したものです。 読者が興味を持っているなら、私は続けます。



1.高い水準と低いスキルの違い



記事「誰もこれについて新人に語らないは、創造的または知的作業に従事する人々の一般的な問題について語っています。 プログラミングは複雑なテーマであり、通常は能力があり、野心的で、完璧主義になりやすい傾向があります。 初期段階では、彼らはうまくいきません。 高いバーに慣れて、彼らは動揺します。 内なる声は絶​​えずささやきます。「あなたは決して成功しません、このビジネスを去りましょう。」 そのような瞬間に、あなたの自己批判はあなたの並外れたもののしるしであると考え、あなたがこの「不適切な期間」を克服すると信じてください。



プログラミングの並外れた利点については、次のとおりです。



  1. コードの問題は、物理的な世界の問題と根本的に異なります。 故障したコードは、たとえば高価なスペアパーツの購入を必要とする壊れた車とは異なり、心の力によってのみ修復できます。
  2. あなたはあなたの快適ゾーンの端でのみ専門的に成長することができます。 なじみのないことをすることで、多くの間違いを犯しますが、それから本当の知識を得るでしょう。
  3. プログラミングのエラーは、目の前のドアを閉めるのではなく、学習の鍵となります。


2.コンピューターは常に正しいという事実を受け入れますが、あなたはそうではありません



何かがうまくいかなかった場合、コンピューターまたはプログラムを非難しないでください。 それらで物事を整理しないでください。 目標を設定するだけです:「修正方法」。 プログラミング言語との関係、それらがなぜバグが多く、プログラムがクラッシュするのかを知りたい場合は、間違った専門分野を選択しています。



3.より悪いシナリオに備える



プログラムユーザーから最も予期しないことを期待してください。 所属していない場所に数字を入力し、名前フィールドにテキストの段落を挿入し、他の厄介なことをたくさん行います。 数千年単位で年齢を指定できるフォームを作成しないでください。 すべてに備え、ユーザーを信頼せず、最悪のシナリオを予測し、それらに対する保護を構築します。



4.感情制御



多くの場合、プログラミングは長く、困難でイライラする経験です。 トピックを数か月間勉強した後、何日もかけて、最終的に必要なことを行う複雑で複雑なコードを作成します。 そして、経験豊富なプログラマーが、5行で3分でそれを取得して書き換えます。 そして、あなたは押しつぶされたように感じます。 何が起こっても、動揺しないでください。



5.独立



多くの初心者は簡単にさまざまなプログラミングコースを受講しますが、独立したタスクを引き受けると、トランス状態に陥ります。 書くためのアイデアがないか、アイデアがありますが、それらをどのように実装するか、どこから始めるべきかについての理解はありません。 大事なことは、コースは構文リテラシーを提供し、len()のようなさまざまなコマンドを覚えているように見えるが、独自のプログラムを書くことはできないということです。 そして、あなたには、トレーニングコースは吸盤のための配線であり、あなたは表面的なナンセンスを教えられ、本質自体は秘密にされていたように思われ始めます。 そして、この本質は、プログラムで考える能力です。



プログラミングのロジックは、大きなタスクを小さなサブタスクに分割し、それらを順番に実装してから、それらを結合することです。 プログラマーは、蒸留ですべてのコマンドの知識でコードのテキストを印刷するのではなく、プログラムのロジックを考える人です。 そして最終的に自分で何かをやろうとすると、この瞬間は信じられないほど刺激的で、最近では不可能に思えた壮大なアイデアを思い出します。「ああ、今、私はそれを実現できます!」実装する前に成長して成長しますが、その瞬間はまだ楽しいです。



6.どこから始めたらよいか知らない





これらの多くの質問:「何、どこ、何、どのように、.... ?」 友人と相談し、専門家の意見を聞き、フォーラムで質問します。 しかし、彼らの答えはあなたをさらに混乱させます。



プログラミングの学習に関する問題は、トピックに関する情報が多すぎることです。 そして、あなたはこのノイズの荒野を通り抜ける方法を学ぶ必要があります。 必要なものだけを選択することは非常に困難ですが、あなたの将来はこのスキルに依存します。



これを処理するには、次のヒントに従ってください。





エンジニア向けのヒント:





7.プログラミング自体に関する多くのこと



多くの場合、プログラマーだけが自分の製品を作成して販売しようとします。 これが最も難しい部分の始まりです。



さまざまなテンプレートの選択とサポート、アイコン、ロゴ、バナーの作成。



プレイマーケット、アプリストアでの登録、支払いシステムのセットアップ、面倒なフォームへの記入。 それから彼らは、あなたが何か間違ったことをしたので、すべてをやり直す必要があると書いています。



google-adsで広告を注文し、最適なオプションを検索し、販売チャネルを確立し、手と足を結び付けるこの予算の制約...



設計とマーケティングの面倒な作業に取り組む必要がない場合、純粋なプログラミング自体はすでに簡単に思えます。



8.すべてを知ることは不可能です



理想的には、いくつかのスキルを習得するたびに、新しいものが出現したことがわかります。 そして、ソクラテスの逆説が生じます:「私は何も知らないことを知っています」。 あなたは常に新しいことを学ぶのに多くの時間を費やす必要があり、すべてを知り、すべての専門家になることは不可能であるため、常に優先順位を選択する必要があります-現時点であなたにとってより重要なもの、テクノロジー、アプローチ







はい、1つのものを選択してその専門家になることができますが、それと同時に、あなたの技術よりも何倍も優れている新しいものが出現し、その間に何かが市場を征服するというリスクが非常に高くなります両手でジャンク。



したがって、新しいものを学び、絶えず学ぶことを好み、プログラミングを選択する場合、一瞬でも失望することはありません。



9.実生活では、すべてが学校のように完璧ではありません。



学習中は、数百、最大で数千行のコードの軽いプログラムで遊んでいます。 大学でも、コンピューターサイエンスの学部でも。



企業に来ると、数十万行、さらには数百万行のコードベースに遭遇する可能性があります。 多くのエラー、ばかげた変数名、ドキュメントのない洗練されたサブプログラム、異なるデザインパターン、マルチレベルキャッシュなどが使用されます。



このすべてを短時間で理解して学習する必要がある場合、多くのソフトウェアエンジニアが直面する最も垂直的な学習曲線が得られます。



10.理論と実践のバランス



一方では、理論をよく勉強し、何年もの間何かを読んで、ほとんど知らないで何もしないと考えることができます。 ある時点でわざわざ役に立たなくなります。



一方、理論を知らずに何かを始めて、コードやそのエラーですぐに動けなくなったり、迷子になったりする可能性があります。 多くは、フォーラムの急な回答のみに頼って何かを始めます。アプリケーションの全体像と最終的にそれらが動作するようになる場所(たとえば、サポートされていない、更新されていないコード)を理解していません。



したがって、最小限の理論とその後の実践のこのバランスを感じることが非常に重要です。 そうすれば、あなたが書くものは読み書きができ、理論は数倍速く、より面白くなり、仕事中に調和して学習します。



UPD



11.バグとの戦い



バグ(バグ)、これらはプログラムのエラーです。 バグと人間で隠metaを続けると、初心者にとっては見えにくく、取り除くのが難しいため、皮下、かゆみ、恐ろしいものである可能性が高くなります。



最も厄介なのは、すべてを正しく行ったように見えるときに表示されることであり、さらなる成果に進むことができます。 しかし、突然、明確な理由もなくプログラムが動作を停止するか、意図したとおりに動作しません。 そして、このエラーを見つけるには、すべてを放棄し、数時間、さらには数日も費やす必要があります。 この時間は無駄になっているようです(「新しい」ものを作成しているのではなく、「古い」ものを選択しているため)。 この期間を生き残るためには、巨人の忍耐が必要です。



実際、この間、多くの新しいことを学び、理論を勉強するための穏やかな条件よりも、より多くのモチベーションとある程度の暗記でそれを行うことを理解する必要があります。 各バグの修正は、まず、多くの問題で自分の無知をなくすことです。これは、あなたが以前は考えもしなかった存在です。 無意識の無知から意識への移行と知識への変換があります。 時間が経つにつれて、あなたはより少ないバグを許可し、それらを修正するためのツールでの作業のこつを取得します。



12.速く進んで物を壊す



事前に準備せずに前進することを恐れない場合は、自分で特殊キャラクターウェアハウスを開発する必要があります。 Facebookの古いモットー:「速く行き、物を壊します。 何も壊さなければ、ゆっくりと動いています。」



All Articles