どちらがより有益で生産的ですか?
どちらがより有益で生産的ですか?
回答:
両方が必要だと思います。あなたのコアコンピテンシーに焦点を合わせ、それらの理解を向上させる必要がありますが、同時に外を見て、他に何があるかを見ることが有益です。他のアプローチや他の言語に触れることは、開発者を全体的に優れた開発者にするために非常に重要です。猫の皮を剥ぐ方法はたくさんありますが、可能な限り多くの猫を知ることで、特定のタスクに適したツールを選ぶ上でサイコパスをより良くすることができます。
だから、あなたの時間のほとんどをあなたが選んだ習熟度で良くなるのに費やし、あなたの時間のいくらかを新しい何かを学ぶことに費やしてください。
誰かが「プログラミングについての考え方を変えない言語は学ぶ価値がない」と言った。
したがって、Javaを知っていれば、C#を学習すること(またはその逆)にはほとんど利点がありません。実用的な理由でない場合(つまり、問題を解決するために必要な場合)、パラダイマごとに1つの言語に固執することをお勧めしますが、スケジュールはまだ十分です;)。
一方、専門化は、私の経験ではほとんど「現場」で、つまりプロジェクトに取り組んでいるときに達成されるので、当然のことです。
新しい言語を習得することは、主にプログラミングで新しい概念を獲得し、効率を高めるための手段です。プログラミングの学習自体は、プログラミングする新しい言語の学習とは大きく異なります。
プログラムの改善に集中する必要があります(また、多くの主観的なものを測定するための多くのメトリックがあります;重要ではありません。メトリックを選択し、時間をかけてそれらを調整し、教育に使用してください)。
とはいえ、Python
古いリスト(「C
」など)で「新しい」言語(など)を学習すると、より効率的に考え、改善すべきコアコンセプトに集中できます。さらに例を見ると、すぐには表示されないかもしれませんがC
、Pythonで考えていたのでプログラミングが良くなっているかもしれません。のpsudo-codeの代わりにPythonの記述を開始することもできますC
。さて、それははるかに読みやすく検証可能な擬似コードです。
それは、私たちが主な質問に要約することをもたらし
ます:はい、あなたがすでにあなたが使用している限り、あなたはすでに知っている言語に焦点を合わせ、それらの知識を増やすべきです。そして、あなたはあなたの脳にあなたのプログラミングのニーズのための(おそらくもっと速い)解決策を考えるための新しいツールを与えるために新しい言語に手を出すべきです。
それはあなたが言語を学習している目的に依存します。異なるパラダイムを使用している、または特定の問題領域に適しているために言語を学習している場合。ただし、既に知っている言語と非常によく似た言語であり、既存のコードをすべて新しい言語で書き直すことだけを計画している場合は、おそらくそれほど価値はありません(たとえば、python webappをルビー)
すでに言語でのプログラミングが非常に快適で、そのすべてのイディオムに精通しており、ライブラリ呼び出しごとにドキュメントを調べることなくプログラムを記述できる場合は、おそらくそれ以上学ぶ必要はありません。一方、言語の知識がそれほど深くない場合は、さらに学習する価値があるかもしれません。言語Xの前のキャンプか後のキャンプにいるかを評価する良い方法は次のとおりです。
これらの質問に対する答えが「たくさん」、「ほとんどの」、「はい、迷惑になっている」という線に沿っている場合、それはあなたが言語を習得し、何かに進むべきであるという良い兆候です新しい。
すでに慣れ親しんでいる言語に十分慣れている場合、少しクールにするには、非常に詳細で具体的なトリックを学ぶのは良くありません...それは完全に時間の無駄になります。ただし、言語に非常に不満がある場合は、まずその言語を習得することをお勧めします。
言語に加えて、フレームワーク、パターンなどがあります。フレームワークを学習するには、言語を知っている必要があります。そのため、非常に似た言語を学習する場合、それほど面白くない面白さをもたらす以外に何も役立ちません。
私の個人的な意見では、より多くのプラットフォームでより速く、より安全で、より堅牢なソフトウェアを作成し、時間を短縮するために常に能力を開発し、その目的のために新しい言語、新しいフレームワーク、新しいIDEを学ぶ必要があるかもしれません(それは言語と同じくらい重要です)、そしてあなたがその目的のためにあるときだけ、あなたの投資は価値があります。
少なくとも、あなたが知っている言語の数を増やすために新しい言語を学ばないでください。