2017年:プログラミング言語の年

プログラミング言語については、2017年にエンタープライズおよびモバイル開発で多くの注目を集めているJavaやKotlinなどの言語。Web開発に不可欠なJavaScriptエコシステムも拡大を続けました。

全体として、この年は、老舗言語と新しい言語の両方に対する改善の混合バッグを提示しました。

開発者はJavaをめぐるメロドラマに従い、標準Javaのモジュール化計画について大きな意見の不一致があり、驚くべきことに、OracleはJavaEEエンタープライズバリアントの手を洗いました。

一方、MicrosoftのTypeScriptは、JavaScriptに代わるものを探している開発者の生活を楽にすることで、人気が高まっています。マイクロソフトはまた、量子コンピューティング用の言語であるQ#を発表しました。

Javaの多くのプロットツイスト

Java Development Kit(JDK)9は、その複雑なモジュール技術に関する論争が解決された後、9月に標準Javaの最新の実装としてリリースされました。モジュールシステムは、スケーラビリティ、パフォーマンス、およびセキュリティの利点を提供することを目的としていますが、Red HatやIBMを含む主要な参加者は、その実装方法についてOracleに同意しませんでした。彼らはアプリケーションの互換性について懸念を表明し、最初の提案に反対票を投じましたが、最初は5月のJava実行委員会の投票に失敗しました。しかし、反対派はその後の修正に十分満足しており、翌月の投票で提案を可決し、大幅に遅れたリリースへの道を切り開いた。

Javaのバージョン9アップグレードは、2018年3月に予定されているJDK 10にすぐに続くように設定されており、ガベージコレクターインターフェイスとローカル変数タイプの推論を備えています。

Java EEエンタープライズ側では、オラクルは2016年にプラットフォームを無視していると認識されていたことに腹を立てていたJavaコミュニティで物事をスムーズにしたようです。2016年9月、オラクルは次のような環境向けにJavaEEを再構築する計画を打ち出しました。クラウド。しかし、2017年8月、オラクルはエンタープライズJavaスチュワードシップを売却することを決定しました。プラットフォームは、最終的にEclipseFoundationの管轄下に置かれました。一方、OracleはJava9がリリースされたのと同時にJavaEE8をリリースしました。Java EE 8は、クラウド、HTML5、およびHTTP / 2機能を備えています。

JavaScriptツールと代替手段が進歩

Web開発では、開発者はJavaScript自体またはJavaScriptの代替手段を使用して構築するための多くの支援を受けました。2017年にリリースされたツールには次のものがあります。

  • 11月にリリースされたGoogleのAngular5 JavaScriptフレームワークは、ビルドオプティマイザーを備えており、プログレッシブウェブアプリとマテリアルデザインコンポーネントの使用をサポートしています。
  • 3月に出荷されたAngular4は、より小さなアプリケーションの構築に重点を置いていました。
  • FacebookのJavaScriptUIライブラリであるReactは、9月にバージョン16に移行し、複雑なアプリケーションの応答性を高めるためにReactコアを書き直しました。

Web向けに構築し、JavaScriptの代わりに型付き言語を必要とする開発者にとって、MicrosoftのTypeScriptが力になりつつあります。このタイプされたJavaScriptのスーパーセットは、今年複数のアップグレードを受けました。

  • ハロウィーンでリリースされたTypeScript2.6は、厳密なモードフラグとエラー抑制コメントを備えています。
  • TypeScript 2.5は、8月にリリースされ、複雑な書き換えを簡単に行えるようにする機能を備えています。
  • TypeScript 2.4は、アプリケーションをよりリソース効率の高いものにする動的インプレッション機能を備えた6月に登場しました。
  • 4月にリリースされたTypeScript2.3は、ECMAScript非同期ジェネレーターとイテレーターをサポートしていました。
  • 2月にリリースされたTypeScript2.2は、ネイティブモバイルアプリを構築するためのReactNativeフレームワークとの互換性を強調しました。

次はTypeScript2.7で、1月にリリースされ、オブジェクトリテラルの型推論が改善されています。

しかし、今年波を立てたJavaScriptの代替手段はTypeScriptだけではありませんでした。JavaScriptの代わりにGoogleのGo(Golang)言語を使用したいウェブ開発者にとって、12月に導入されたベータJoyコンパイラは、クロスコンパイルを可能にすることを約束します。

上昇中のKotlin

JavaScriptへのコンパイルを提供するもう1つの言語は、JVMで始まりましたが、今年は幸運が高まっているKotlinです。これは、主にJavaのドメインであるAndroidアプリケーションを構築するためにGoogleが5月に承認したことで大幅に後押しされました。2017年にデビューしたバージョンは次のとおりです。

  • 11月にリリースされたKotlin1.2は、複数のプラットフォーム間でコードを再利用するための実験的な機能を備えています。Java9のサポートも追加されました。
  • 3月にリリースされたKotlin1.1は、JavaScriptサポートを備えていました。

マイクロソフトは量子的な動きをします

マイクロソフトは、量子コンピューティングへの取り組みに続いて、12月に量子アルゴリズムを表現するドメイン固有言語であるQ#(「qシャープ」と発音)を発表しました。プリミティブ型のセットは、新しい構造化型を構築するための配列とタプルとともに提供されます。この言語は、同社のVisual Studio IDEで動作し、12月にベータ版でリリースされたQuantum DevelopmentKitで紹介されています。

C ++は前進します

今年は、言語の使いやすさに焦点を当てたC ++ 17の発行もありました。プログラミングの便利さは次のとおりです。

  • 構造化バインディングとクラステンプレート引数の推定。
  • 開発者 は、forループで実行できたのifswitch同じように、変数をスコープ内で初期化できるようになり、言語のセレモニーを減らすことができます。

次はC ++ 20で、2019年夏に機能が完成し、2020年に完成する予定です。これには、同時実行機能とライブラリ機能の改善が含まれる可能性があります。