プログラマーの 95% が決して使用しない「アルゴリズム」を勉強する必要はないのでしょうか?

プログラマーの 95% が決して使用しない「アルゴリズム」を勉強する必要はないのでしょうか?

私はほぼ 10 年間コードを書いてきましたが、挿入ソートや赤黒木を書いたことはなく、再帰を使用したことはほとんどありませんでした。これが大多数のプログラマーの作業状況です。

しかし、多くの人は「アルゴリズム」に対して特別な好みを持っており、それがプログラマーの技術レベルを判断する重要な基準の 1 つであると信じています。

「プログラマー = データ構造 + アルゴリズム」という格言があります。このため、多くの人が LeetCode に夢中になり、アルゴリズムの追求に固執しますが、仕事のプロジェクトにおける学習の重要性を無視します。

別のグループの人々は、アルゴリズムは役に立たないという理論という、反対の極端に傾いています。会社のプロジェクトのコアコードはすべて私が書きました。ほとんどすべては、「コメント返信機能」をどのように実装するか、「いいね機能」をどのように実装するか、「チャージおよび引き出し機能」をどのように実装するかに関するもので、いわゆるアルゴリズムはまったく関係ありません。アルゴリズムの問​​題に多くのエネルギーを費やすことは、単に時間の無駄です。

面接の過程では、「アルゴリズム」が IQ の質問の役割を果たすことがよくあります。コンピュータサイエンスの知識は比較的浅く、養成しやすいため、大企業はジュニア開発エンジニアを採用する際に、特定の技術を使用する能力ではなく、アルゴリズムの知識を使用して面接者の学習能力と可能性を評価します。

実際の作業では、アルゴリズムはほとんど使用されません。それよりも重要なのは、追加、削除、変更、チェック、API ドッキング、データ形式の調整です。アルゴリズムの実装は、比較的低レベルで最先端かつ機密性の高いシナリオでのみ必要になりますが、これらのシナリオの要件はアルゴリズムの範囲をはるかに超えています。

ソフトウェア エンジニアリングでは、少し効率的だが非常に複雑なコードを記述するよりも、理解しやすく、共同作業しやすく、保守しやすいコードを記述する方が明らかに重要です。

この観点から見ると、アルゴリズムは「役に立たない」ように見えます。これが、長年コードを書いてきた多くのプログラマーがアルゴリズムは役に立たないと主張する理由の 1 つです。

別のグループの人々は、アルゴリズムが非常に重要であると信じています。

大企業は、プログラミング言語、データ構造とアルゴリズム、Lnux、オペレーティング システムなどの基本に大きな注意を払っています。アルゴリズムは、プログラマーの学習能力と成長の可能性を発見するための重要な手段でもあります。さらに、アルゴリズム機能の強さは、新しい問題に直面したときにプログラマーが問題を分析して解決する能力を決定することもできます。

アルゴリズムを理解しているプログラマーと理解していないプログラマーは、天国と地上のようにまったく異なるレベルにいるので、アルゴリズムは非常に重要です。

実際のところ、どちらの見解をとっても、それは極めて極端です。アルゴリズムはどの程度重要ですか? アルゴリズムが重要ですか、それともプロジェクトの経験が重要ですか? 多くの人が頭の中に答えを持っています。

この質問は、「学歴と能力のどちらが重要ですか?」や「選択のほうが重要ですか、それとも努力のほうが重要ですか?」という質問に似ています。 A は重要であり、したがって B は重要ではないと頑固に信じている場合、論理的誤りを犯していることになります。これには必ず代償が伴うでしょう。

一般的な技術的解決策を理解せずにアルゴリズムに固執すると、代償を払わなければならなくなります。

アルゴリズムを過小評価し、プロジェクトの経験を過度に重視すると、代償を払うことになります。

なぜなら、コミュニケーション能力、マネジメント能力、ビジネス、企画、採用、建築、エンジニアリングなど、仕事に求められるスキルは非常に多く、それらすべてが相まって、人が到達できる高さを決定するからです。

職場のスキルという巨大なシステムにおいて、アルゴリズムはその一部にすぎません。アルゴリズムがなくても問題ありませんが、アルゴリズムがなくても問題があります。アルゴリズムを上記のいずれかの機能に置き換えても、結論は同じになります。

<<:  2022 年のデータサイエンス、AI、機械学習の 5 つのトレンド

>>:  日本では想像以上にAIが活用されている

ブログ    
ブログ    

推薦する

2024年にAIが顧客体験に与える影響

2024 年までに、AI は少なくとも 3 つの異なる方法で顧客体験 (CX) に影響を与えるでしょ...

マシンビジョン: スマート製造のキーエンジン

インダストリアル 4.0 時代はインテリジェント製造と切り離せません。マシンビジョンは、現在の製造品...

アリババクラウド南京雲奇カンファレンス:スマート製造モデルの共有と最先端技術の発表

[51CTO.comより引用] 本日、アリババクラウドカンファレンス南京サミットが正式に開催され、ま...

リアルタイム、高精細、高忠実度:より強力なビデオ再構成アルゴリズム、大幅に向上したパフォーマンス

画像編集の分野がここ数年で飛躍的に成長したことは周知の事実です。しかし、ビデオ分野ではまだいくつかの...

顔認識の背後にあるもの:怖いのは技術ではない

[[312730]]以前、AI顔変換ソフトウェアZAOが一夜にして人気を博したことで、サーバーが「満...

機械学習は、足を上げることから敷居に落ちることまで行います

突然、AI 時代に入ったようです。裏では、多くの友人が、来たる All in AI を迎えるために、...

LLaMA2コンテキストを10万に拡張し、MITと香港中文大学はLongLoRAメソッドを開発

一般的に、大規模なモデルを事前トレーニングする場合、テキストの長さは固定されます。より長いテキストを...

自動運転車のためのモデルベースのエンドツーエンドの深層強化学習戦略

実際の運転シナリオでは、観察と相互作用を通じて、インテリジェント運転車は知識を蓄積し、予測できない状...

...

データセンターにおけるロボットの使用はどのように増加するのでしょうか?

[[407824]]調査によると、ロボットがデータセンターに導入されつつありますが、データセンター...

AIは採用に何をもたらすのでしょうか?

人工知能は、次のような採用活動に大きく貢献しています。 [[433895]] 1. 候補者の自動ソー...

...

チャットボット: ビジネスを成長させる 8 つの方法

[51CTO.com クイック翻訳] 顧客がビジネスの運命を決定する中心であることは間違いありません...

大規模言語モデルの最大のボトルネック:レート制限

マット・アセイ企画 | ヤン・ジェン制作:51CTO テクノロジースタック(WeChat ID:bl...

C#アルゴリズムのプログラム実装に関する面接の質問

C# アルゴリズムの面接の質問を解く方法はたくさんあります。ここでは 1 つだけ紹介します。まずは質...