ホームページ  >  記事  >  ウェブフロントエンド  >  ソフトウェアエンジニアになりたいですか?トップダウン学習の難しさ。

ソフトウェアエンジニアになりたいですか?トップダウン学習の難しさ。

PHPz
PHPzオリジナル
2024-08-06 07:41:07630ブラウズ

Want to be a software engineer? The difficulty of top down learning.

私は幼い頃から常に非常に好奇心旺盛で、問題を理解したり解決したりすることが好きでした。私が初めてプログラミングに出会ったのは高校の時で、明白な理由からすぐにプログラミングに夢中になりました。

高校時代、私が覚えている最初に使用した言語とツールは、Turing、Processing、GreenFoot、BlueJ などでした。これらはすべて学習ツールであり、チューリングを除いて、グラフィカル プログラミングに主に焦点を当てた Java 抽象化でした。これらのツールを使用すると、非常に優れた作業を非常に迅速に実行できるようになりました。これらの初期の経験は、本当に私の興味を刺激したものです。

そこから地元の大学で Web 開発を学びたいと思っています。ここでHTML、CSS、JavaScriptなどを学び始めました。その後、PHP、Ruby、ASP.NET、Angular など、純粋な開発以外の多くの関連スキルに移ります。これは素晴らしいコースで、非常に有能な Web 開発者になるために必要なすべてのスキルを私に与えてくれました。

大学でのキャリアの終わりまでに、私は Web 開発全体についてかなりよく理解しました。もちろんすべてを知っていたわけではありませんが、私にとって何も不思議ではない段階にはいっていました。ここから、私の自然な好奇心がさらに深く潜りたいと思うようになりました。これにより、オペレーティング システム、システム レベルの開発、組み込みシステムというウサギの穴に私を導きました。ご想像のとおり、最初のステップは C に傾くことでした。

C の学習は、私が予想していたよりもはるかに難しかったです。スタックとヒープ メモリ、およびポインタの概念は非常にわかりにくいものでした。特にガベージ コレクターを備えた高水準言語からのものです。 C が単純に難しいということではなく、実際には言語は実際には非常に単純であることがすぐにわかりました。高レベルの言語を学習するために過去数年間に行った悪い習慣や誤った仮定をすべて常に取り除かなければならないことがわかりました。

これは私が今トップダウン学習の呪いと呼んでいるものです!

私は、非システムレベル言語を学習するときにこれらすべての誤った仮定を行っていたことに非常にイライラしました。また、C を学習するプロセスに、おそらく必要な時間の 3 倍の時間がかかりました。

私は自分が使用していた抽象化に対する認識が足りませんでした!

誤解しないでください。アプリケーション レベルの開発、または基本的な Python スクリプト作成のみに集中してキャリア全体を終えることができる人はたくさんいます。しかし、本当にソフトウェア エンジニアになり、組み込みシステムからオペレーティング システム、それらのオペレーティング システム用に開発されたアプリケーションに至るまで、この分野全体を理解したいのであれば、ボトムアップで学ぶことが非常に有利です。

本当にソフトウェア エンジニアになりたい人への私の提案は、C から始めることです。スタックとヒープの違い、およびポインタを理解することです。たとえそれが小規模な C アプリケーションが生成するアセンブリを分析するだけであっても、アセンブリに手を出してみてください。これらのことを基本的に理解していれば、他のことはずっと簡単になります!

そうやって始めればよかったのに。私の間違いから身を乗り出してください!

以上がソフトウェアエンジニアになりたいですか?トップダウン学習の難しさ。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。