同じOS、プログラミング言語、テクノロジー、ツールを何年も使い続けた後、私たちは自分の選択が最善だと確信するようになり、代替案を拒否し始めることがあります。ある意味、私たちはそれらの選択の奴隷になってしまいます。プロジェクトの性質やクライアントの要件に関係なく、同じ決断を繰り返してしまいます。
フォーラムで炎上を起こせば、これを簡単に観察できます。「.NETはJavaより優れている」とか「WindowsはLinuxより優れている」と言うだけです。その反応に驚くかもしれません。多くの開発者は一方の選択肢に激しく忠誠を誓い、もう一方を断固として拒否します。それぞれに長所と短所があるという事実について議論するために立ち止まる人はほとんどいません。
結局のところ、開発者は特定のプログラミング言語の奴隷になり、言語に選択を支配されるようになる可能性があります。
すべての問題に対する唯一の解決策はないことを私たちは知っています。Windowsはある場合には最善の選択かもしれませんが、他の場合にはそうではありません。同様に、C++はあるプロジェクトには適していても、他のプロジェクトには適さないことがあります。ですから、1つのOS、言語、テクノロジーが常に最善だと信じる罠にはまらないでください。オープンマインドを保ち、他の可能性を探求し、それらがどこで役立つかを考えてみましょう。
他の主流言語の進化を追い、新しいプログラミング言語を探求することは常に価値があります。
主流プログラミング言語の進化
C++:多くの開発者は、C++は非常に複雑で習得が困難、つまりエキスパート向けの言語だと考えています。しかし、2011年以降、多くのことが変わりました。すべての新機能を見れば、多くの開発者の意見が変わるかもしれません。
.NETとC#:新しいバージョンごとに多くの興味深い新機能が提供され、最近フレームワークに大きな変化がありました。オープンソースフレームワーク .NET Coreの登場です。そのすべての利点を発見するために、ぜひご覧になることを強くお勧めします。
Java:JavaはJava 9まで長年停滞していました。しかし、今週Java 10がリリースされたことを知った多くのJava開発者にとって、それは嬉しい驚きでした。Javaがもはや停滞していない証拠であり、Java開発者にとって良いニュースです。
新しいプログラミング言語を探索する
Rust
Rust は、Mozilla Researchがスポンサーのシステムプログラミング言語で、「安全で、並行で、実用的な言語」と説明されており、関数型および命令型-手続き型パラダイムをサポートしています。Rustは構文的にC++に似ていますが、設計者はパフォーマンスを維持しながら、より優れたメモリ安全性を提供することを意図しています。
Rustはオープンソースのプログラミング言語です。その設計者は、Servoウェブブラウザレイアウトエンジン
()とRustコンパイラの開発経験を通じて言語を洗練させてきました。プロジェクトへの現在のコミットの大部分は、コミュニティメンバーからのものです。
Rustは、2016年、2017年、2018年のStack Overflow Developer Surveyで「最も愛されているプログラミング言語」の第1位を獲得しました。
Crystal
Crystalは、「Cのように速く、Rubyのように洗練されている」をモットーとする汎用プログラミング言語です。
高度な型推論とガベージコレクションを備えた、高レベルで静的型付けのコンパイル型の完全なオブジェクト指向プログラミング言語です。
Crystalの設計目標は次のとおりです。
- Rubyに似た構文を持つこと(ただし互換性は目標ではない)。
- 静的に型チェックされるが、変数やメソッド引数の型を指定する必要がないこと。
- Crystalでバインディングを書くことでCコードを呼び出せること。
- 定型コードを避けるために、コンパイル時のコード評価と生成ができること。
- 効率的なネイティブコードにコンパイルできること。
Clojure
Clojureは動的な汎用プログラミング言語で、スクリプト言語の親しみやすさとインタラクティブな開発を、マルチスレッドプログラミングのための効率的で堅牢なインフラストラクチャと組み合わせています。Clojureはコンパイル型言語でありながら、完全に動的です。Clojureでサポートされるすべての機能は実行時にサポートされます。Clojureは、オプションの型ヒントと型推論により、Javaフレームワークへの容易なアクセスを提供し、Javaへの呼び出しがリフレクションを回避できることを保証します。
Go
Go ( golangとも呼ばれる)は、2009年にGoogleでRobert Griesemer、Rob Pike、Ken Thompsonによって作成されたプログラミング言語です。AlgolとCの伝統に基づくコンパイル型の静的型付け言語で、ガベージコレクション、限定的な構造型付け、メモリ安全性機能、CSPスタイルの並行プログラミング機能が追加されています。Googleが当初開発したコンパイラやその他の言語ツールはすべて無料でオープンソースです。
結論
常に新しい可能性に心を開き、業界で起こっていることを探求し続けましょう。それは開発者であることの魔法の一部です。ルーティンはなく、毎日新しい何かがもたらされます。
