いくつかのプログラミング言語を知っています。最も市場性の高いものは、Java、Javascript、および重要でないストアドプロシージャです。また、Python、Actionscript、いくつかの恐竜言語も知っています。私はScala/liftでおもちゃのプロジェクトを始めています。私は、それぞれの言語の特徴と彼らが奨励するパラダイムを楽しんでいます。
私は、ポリグロットプログラマの概念に興味があり、プログラマになります。真のポリグロットプログラマになるためのステップは何ですか? (つまり、私はさまざまな言語を知っているだけでなく、それらをよく知っており、それらの優れたデザインパターンを知っています。)これは、市場性を高めることができるものですか?
私はいくつかの言語で非常に高度なプログラマーです。それが私の多言語プログラマになるかどうかはわかりませんが、少なくとも私は道を進んでいます。
この修飾子を取得するために私が重要だと考えるものと、それらを取得するためのいくつかのヒントを次に示します。
まず、いくつかのプログラミングパラダイムを習得する必要があります。
この点に到達するには、2つのことをお勧めします。
次に、良い習慣とそれらが良い習慣である理由を知る必要があります(ルールのWHYを知っておく必要があるため、いつルールを破るかを知っておく必要があります)。
その点で進むために、私は本を提案します。実用的なプログラマーも良い、きれいなコードです。完全なコードも優れていますが、情報が大きく非常に密度が高いため、読むのは非常に困難です(ただし、それもその強みです!)。
また、これらの概念を適用する際にひどく失敗する必要があり、ジャングルのように見えるコードになってしまいます。移動が難しく、適応が難しく、不親切な住民がいます。この最後のポイントは、ツールを使用して高品質のコードを取得する方法を教えるため、重要です。品質はわかっているが、それを作成するためのツールを習得できない、またはその逆の場合はどうなりますか?
与えられたポイントを習得すれば、自分をポリグロットプログラマーIMOと見なすことができます。ちなみに、これがあなたが最高のプログラマーになるために必要なすべてではありません。コンピュータサイエンス、現在のテクノロジに関する知識、自分の管理(場合によっては:D)、要件の理解など、他にも多くのことが必要です。
最後のヒントとして、積極的な開発の下で最近の言語に参加することをお勧めします。これにより、言語がどのように作成され、その理由がわかります。これは、実際の言語の制限、より良い代替案を取得するために直面する困難を教えてくれます(それが簡単だったら、私は最初からやっていただろう!)。私はDです。これもマルチパラダイム言語なので、良い候補です。あなたのものを選んでください!
幸運を。これには作業が必要ですが、それだけの価値があります。
私が言える最も重要なことは、プログラミング言語の観点から考えるのではなく、プログラミングの概念について考えることです。 OOPはまだOOPです。すべての言語には、その処理方法に独自の癖がありますが、OOPの概念は、どの言語で書いても同じです。
多様なプログラミング言語の知識を実際に活用したい場合は、 言語指向プログラミング モデルの採用を検討してください。このようにして、日常的に新しい languages を発明および実装し、できるだけ多くの言語概念を知ることは、そこで非常に有益です。
最も用途の広いポリグロットプログラマでさえ、強い言語と弱い言語があります。ポリグロットであるIMOのポイントは、特定の言語の多くについて深い知識を持っていることではなく、言語とパラダイムを簡単に切り替えることができ、新しい言語をすばやく取得できることです。 12の根本的に異なる言語の達人であることは現実的な目標ではないと思いますが、4から6の言語(付属のコアライブラリ、それぞれのコミュニティの習慣や文化を含む)に堪能であることに加えて、さらに6〜10言語は確かに実行可能です。
市場性に関する限り、プログラマーをプロジェクトに割り当てることができることは、専門知識の範囲外では十分に機能しない専門家の集まりよりも重要です。ほとんどの企業は単一のテクノロジスタック(.NET、Java、LAMPPなど)に焦点を当てていますが、プロジェクトごとに異なるプラットフォームを使用する企業も確かにあります。
私は自分をポリグロットプログラマとは見なしていませんが、私が知っているいくつかの言語は、コーディングのスタイルが非常に異なっています。開始するには、次のことをお勧めします。