ハイレベルのプログラマーになるにはどうすればよいですか?
関連背景:
私は半年以上 PHP で働いており、1 年半前から PHP に触れています
もともと会社で SEM をやっていて、 dede PHP システムなので、素人ながら HTML、CSS、PHP を独学で勉強し始めました
インターネット上の情報、ビデオ、簡単なブログプロジェクトのコードを読んだだけで、Web サイトのホームページを書きました。 , 私は PHP を行うために会社に異動しました
仕事では、js の使い方を学びながら、その後、WAPM をインストールした後、Linux のデザインパターンにも苦労してテストしました。オブジェクト指向のデータ構造とアルゴリズムについては 20 種類以上ありますが、読んだ後はどこで使用すればよいのかわかりません
操作システム - まだ終わっていません。まだです
私は C について少し知っています、PHP について少し知っています、そして今は Python について少し読みました
そして、高性能 mysql についての本はまだ読み終えていません
私の専攻は: 電気通信工学、主に学んだこと: アナログ回路、デジタル回路、アセンブリ言語とマイクロコントローラー、PCB 回路基板の設計、C 言語、マイクロコンピューターの原理とインターフェイス、EWB 回路設計、VHDL プログラミング...その他忘れました。 .
先学期、私はC言語+52マイクロコントローラーを使って、正時を知らせる電子時計を書きました。コンポーネントを購入して物理的なオブジェクトを作成しましたが、Cコードは400行以上あります。これはおもちゃレベルのことだと考えられていますが、今の私の最大の疑問は、C++ を使っている友人がいますが、彼は多くのプログラムの実装原理を理解しているようですが、私はまだ混乱していると感じています。プログラムの本質がはっきりと見えず、読んだ本がまるでビーズのように散在していて、それらをつなぐ糸が見つからないのです。ウェブ以外のプログラムは私にとってまだ非常に謎です
今私が理解できるのは、すべてのプログラムは文字を処理し(下位レベルのポイントは101010...)、ユーザー入力を受け入れ、アルゴリズムを使用してそれを処理する、ということだけです。適切な方法でコンピュータに保存し、ユーザーが必要なときに表示します。この認識は、Python、php、mysql、redis、コマンドラインモード、および「hello world」を組み合わせた私の推測に基づいています...
正確に何が問題で、どのような知識が不足しているのか、それを補う方法は何か、できるだけ早く高度なプログラムになる方法 プログラマーとして、プログラムとコンピューターを新たな高みから見ると、資格のあるプログラマーは、少なくとも考え方の点で、特定のプログラミング言語に制限されるべきではないと感じます (私自身は、C でプログラムを書き、入力を受け入れて保存し、mysql を模倣して関数を実行できるようにしたいと考えています。意味があるかどうかはわかりませんが)
返信内容:
お招きいただきありがとう。
私たちの昔の校長
はこう言いました、「行動は知識の始まりであり、知識は行動の完成である。」したがって、理解できない場合は、まずコードを書いてください。質問するには、まずコードを見せてください。今度は github を見せてください。 Github には何万行ものコードはないので、「できるだけ早く上級プログラマーになるにはどうすればよいか」という質問をする必要はありません。とにかく、他の人が与えた良いアドバイスは理解できません。ここにはデビューしたばかりの若い男がいます
。彼の過去 1 年間の github の投稿記録は次のとおりです。
皆さんの時間を無駄にしないように、質問する前にこのように github を更新してみてはいかがでしょうか?
本もあります。 。 。
コンピュータアーキテクチャ (Douban)
コンピュータプログラムの構築と解釈 (Douban)
強さ = 理論 + 実践。
マスターになりたければ、毎日朝6時から夜23時まで読書と実験を続けることを4年間続ければとても簡単だ、と友人が教えてくれました。 . 4年後にはマスターになります。
私が読んだ本は貧弱すぎる/少ない。もっと読むべき本を見つけてください。
おそらく、反復的で役に立たないコードをたくさん書いたでしょう。
毎日一生懸命働いて、GitHub に取り組んでいるふりをしないでください、それは無駄です、あなたは自分自身を印象づけるだけです。 (3 つの異なる readme.mds をプッシュすると、緑色になるのではないでしょうか?)
毎日新しい知識を学び、勇気を持って自分自身に挑戦し、快適ゾーンを離れて初めて進歩を続けることができます (つまり、非常に難しく、苦痛で、不快に感じるコードを書いてください)。
一言: 電子工学を勉強する人は、ソース コードをダウンロードし、パラメータを変更し、プログラムを書き込むというサイクル モードに入り、基礎知識の学習を無視する可能性があります。
それでは、正直に言って、データ構造、オペレーティング システム、その他あなたが言及したものを調べてください。エンジンの各部品の使い方と組み立て方はわかりましたが、この部品がどのように作られるのかはわかりません。
@小京mo@Badger4us この二人のプログラミング入門書を読むと、多くのトラブルを回避できるはずです。
もっと注意を払って、もっと考えてください
基礎がしっかりしていない
地球が揺れている
責任を持って言えることは一つ
コンピューターはあらゆるものに関わる
本質的に、Python C C++ C90であろうと、それらはすべてコンピューター言語です
なぜ必要なのかの鍵を理解する必要がありますなぜなら、私たちはコンピューターとコミュニケーションしなければならないからです
例えば、あなたがフランス語、スペイン語、中国語、アッラーフ・アクバルを話せても、神はそれを理解することができます
だから、言語が何であるかを理解する必要があります
どの言語にもそれぞれの特徴があります。自分のマスター 述語オブジェクト、明確な状態の補語 (言語の学習を控えようとしています。人生経験について話しているだけです)
今 C に関わりたいと言うなら、複雑な言語を学ばないでください。 C. 仕事後に自分に問いかけてください。1 日に何時間コードを入力しますか? コンピューターが好きですか? それとも単に生計を立てるだけですか?いくつかの物理問題を解決できることは、物理的思考 (逃避) とは呼ばれません。