「次はどのプロジェクトに取り組むべきか」ではなく、「次はどの言語を学ばなければならないのか」というのはなぜですか?[閉まっている]


14

私のような初心者プログラマーが、取り組むべき次のプロジェクトについて尋ねるのではなく、習得すべき次の言語について常に尋ねるのはなぜですか?

エリックレイモンドが、「ハッカーになる方法」エッセイの「プログラムの学習方法」セクションで、言語を学ぶべき順序(プロジェクトに取り組むべき順序)について話しました。

初心者の大工は「ハンマーの使い方を知っています...次に鋸やレベルの使い方を学ぶべきですか?」

私が取り組むことに興味を持っているほとんどすべての有意義なプロジェクト(たとえば、Webアプリ、ポーカー分析ツールのセット)を見つけるには、十分な数の言語(Python、C、HTML、CSS) 、Javascript、SQL)およびフレームワーク/ライブラリ(wxPython、tkinter、Django)を実装します。

おかげで、

マイク


5
正直なところ、これは少々...保証のようです。おそらく、あなたはほのめかしを取り除き、あなたの質問だけを残すことができますか?
アノン。

4
あなたは時系列でステップをミスマッチしていると思います。オッズは、大工がドアを組み立てる方法を知っていれば、それらのツールの使用方法をすでに知っていることです。しかし、彼の人生の早い段階で、彼も次にどのツールを調査すべきかという道をたどりました。
CrazyPenguin

公正なコメント再:保証...楽しませようとしていました。それが保証として出くわしたことをおologiesびします。
MikeRand

4
プログラミング言語とハンドツールの比較は、あまり良い比較ではありません。表面的には理にかなっているように見えますが、すぐにバラバラになり、役に立たないというよりも有害になります。また、あまりにも多くの人々がそれを疑う余地のない真実のように扱っています。この男は、それがうまくいかない理由を説明している。journal.dedasys.com/2007/12/12/...
ニックKnowlson

私はこの質問が好きです...!
マイケルK

回答:


6

ほとんどの人は言語を習得しようとするとき、その言語で書かれたプロジェクトに現在または将来取り組むことを望んでいるからだと思います。そのためには、彼らはその言語を学ばなければならず、それには時間がかかります。プログラミング言語はツールに似ていますが、ハンマーの使用方法を約60秒で学習できますが、言語の使用方法は少し長くなります。したがって、多くの人々は、その言語で書かれたプロジェクトに取り組むことに集中する前に、言語の学習に集中します。

別の注意点として、ほとんどの人が次に学習する言語を尋ねるとき、彼らは実際に次に学習するプロジェクトを考えている、彼らは最初に言語を学習することに集中していると思う。

最後に、特定のプロジェクトや目標を念頭に置いていなくても、言語学習は楽しいものです。


6
  • 多くの常勤開発者の動機は、より雇用可能になることです。

  • より雇用可能になるということは、通常、HRスクリーナーのハードルを通過することを意味します(そして、実際のインタビューのハードルを後に通過します)。

  • 通常、HRスクリーナーには、履歴書と照合できる言語のチェックリストがありますが、スキルやプロジェクトを評価する方法はありません。

  • 実際のインタビューでの成功は、通常、言語の経験と深い理解よりも、言語の運と最低限のスキルに依存します。

したがって、上級職に応募する場合を除き、多くの言語で平凡であることは、少数の専門家であるよりも雇用適性にとって優れています。


悲しいことに、HR画面を通過するには、その日の流行語のリストを提供する必要があります。HRスクリーニングプロセスは、多くの資格のある候補者を残していく、むしろコースフィルターです。
ジェフ

1
@Jeff、私は人事スクリーニングについて聞いたことから、彼らが望んでいるのは、履歴書の数を管理可能なレベルに減らし、「2ページ以上ならビン」のような多くの任意のフィルターを適用することです。
ドミニクマクドネル

2

大工に似たプログラミングの選択肢は、「次にどのアプリケーションを構築する必要がありますか?」です。または「次にどのシステムを構築する必要がありますか?」これはかなり有効であり、ほぼ普遍的に実際に適用できるプロジェクトとは別のものです。何かを結びつけるために新しいソフトウェアを書く必要があるものと同じくらい簡単に、食事を変えたり、20ポンドを失うプロジェクトを行うことができます。

質問に答えるために、私は考えは言語が履歴書に役立つその人のツールボックスのツールを表すという考えだと思います。請求書を支払うプログラマーになることを選択する人もいれば、追加する必要がある次のツールを尋ねる場合があります。他のいくつかの領域に名前を付けます。大工が自分が持っている道具を開示しなければならないとしたら、彼は同様の見方を持っているかもしれないと私は主張する。ただし、ほとんどの大工は、要求があればすぐに入手できる、または入手できると想定している一般的なツールセットがあります。人々が使用するのに、さまざまな種類ののこぎりやハンマーがあることを見たことがありますか?


1

少なくとも一部のプログラマーにとっては、部分的にはハッカーのメンタリティに関するものかもしれません。ハッカーは、Jargonファイルで次のように定義されています

「最低限必要なことだけを学びたいと思うほとんどのユーザーとは対照的に、プログラム可能なシステムの詳細とその機能を拡張する方法を探求することを楽しむ人。」

したがって、ハッカーの魂にとっては、最終製品自体よりも、プロセス、概念、ツール、そして何かを作成する言語について学習し、「いじくり回す」ことです。プロセス自体の詳細。

次の新しいことや挑戦に絶えず努力しています。完成したプロジェクトは、アピールが早く失われます。時には(ほとんどの場合)、プロジェクトの完了前に最大の創造的または技術的課題が克服されます。多くのプロジェクトは、新しい精神的な挑戦に飢えている心が前進すると放棄されます。

特にハッカーは、新しい観点、概念、抽象化、考え方、ある種のメンタルハッキングに興味があります。

「プログラミングに関する考え方に影響を与えない言語は、知る価値がありません。」-アラン・ペルリス


0

現在、C、C ++、C#、Java、JavaScript、Python、Perl、Ruby、Visual Basicなど、一般的に使用されているさまざまなくだらない言語があります。一緒。

Lispコミュニティとして知られる小さなコミュニティは、現代のコンピューティングにper延する狂気から解放されています。

Lispはプログラム可能なプログラミング言語なので、他の言語やXMLなどの他のデータ形式に迷うことなく、すべてのアイデアを表現できます。Lispは、どこでも適用でき、Lispマシンで見たハードウェアレベルまで適用できます。


Lispで効率的にコーディングするには、できるだけ多くの異なる言語を知っている必要があります。そうしないと、他の言語から適切な概念やアイデアを単に盗み、Lispの上に実装するのではなく、車輪を再発明することになります。
SKロジック

Lispののパワーについてのあなたの感情に同意するが、それは他の言語を学ぶために役に立たないだと同意:私はLispで使うトリックのほとんどは積極的に私は他の言語から(かどうかのパターンやアンチパターン...など)学んだことを活用する
mikera

0

新しいプログラミング言語を学ぶことは大きな投資であり、誰も悪い投資をするのを好まないからです。
新しいプログラミング言語を学ぶことは、ループ構造の作成、クラスの宣言、別のモジュールのインポート方法を記憶することではありません... その言語で慣用的なコード
を記述する方法を知っている必要があり、このプロセスにはかなりの時間と献身がかかります。 時間は限られたリソースであり、努力は限られたリソースですが、気晴らし、毎日のストレス、請求書、日曜日のスポーツゲームは常に存在し、一緒に暮らさなければなりません。 プログラマーは賢明に投資したい。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.