InfoQ ホームページ 言語 に関するすべてのコンテンツ
-
C# 9でコンパイル時メタプログラミングを実現するソースジェネレータ
ソースジェネレータ(Source Generator)は、コンパイラが生成したメタデータを使ってユーザコードを調査し、新たなコードを追加的に生成して、プログラムの他の部分と一緒にコンパイルするという動作を可能にする、C#コンパイラの新機能である。
-
C# 9ではスクリプティングをファーストクラスサポートへ
"スクリプティング"言語を定義する特徴のひとつは、ボイラープレートを必要としないことだ。ファイルの最初の行から、通常は関数の中にある宣言やステートメントを記述することができる。更新されたトップレベルステートメントの提案では、この機能がC# 9に計画されている。
-
Concurnas - 並列およびGPUコンピューティングのための新しいJVM言語
Concurnasは、並行分散システムの構築を目的として設計された、オープンソースのJVMプログラミング言語だ。オブジェクト指向、関数型、リアクティブなプログラム構造を特徴とし、静的に型付けされている。GPUコンピューティングのネイティブサポートとベクトル化機能を供えたConcurnasは、マシンラーニングアプリケーションやハイパフォーマンスな並行アプリケーションの開発を可能にする。
-
Hegel,新しいJavaScript型チェッカ
JavaScriptに新たな型チェッカが誕生した。HegelはJavaScriptで高度な静的型チェックを実現しようという試みだ。強い型推測と完全な型システムを提供するという。現在はまだアルファ版だが、専用のオンライン・プレイグラウンドで動作を確かめることができる。
-
Swift 5.3が公式サポートプラットフォームを拡張、Windowsと新たなLinuxディストリビューションを対象に
Swift 5.3は、先日のrelease/5.3ブランチ作成により、開発の最終ステージに入った。間もなくリリースされるSwiftの大きな目標のひとつは、新たなLinuxディストリビューションとWindowsを含む、公式プラットフォームサポートの拡張だ。
-
Java 8にバックポートされたTLSの改善
Application Layer Protocol NegotiationがJava 8で利用可能になったことで、ソフトウェア所有者はJavaの新しいバージョンがなくてもHTTP/2経由で通信できるようになった。
-
Javaの起動時間を改善するプロジェクトLeyden
Javaアプリケーションをネイティブ実行プログラムとしてコンパイルし、起動時間とメモリを削減するために、プロジェクトLeydenを提案した。
-
CSS ContainmentがWeb標準に
CSS Working Groupは先頃、新たなWeb標準としてCSS Containment Module Level 1を公開した。このCSSモジュールでは、サブツリーがいくつかの形式でページの他部分から独立している要素を示すために使用する、containプロパティについて述べている。この独立性は、ページのレンダリング時にサブツリーをスキップすることで、ユーザエージェントがWebページをより速くレンダリングするために使用される。
-
スクリプト言語としてのGo
ハイパフォーマンスなネットワークシステムや並列システムを開発するプログラム言語として、Goの採用が拡大していることから、開発者たちはこれをスクリプト言語として使用することに熱意を持ち始めている。ただし現在のGoは、そのままではbashやpythonの代用としては使えないため、これには多少の努力が必要だ。
-
-
DuolingoはいかにしてAndroidアプリを100パーセントKotlinに移行したか
Duolingoは2年間にわたって、Javaで記述されたAndroidアプリの100パーセントKotlinへのマイグレーション作業を続けてきた。このマイグレーションによるおもなメリットは、開発者の生産性と幸福度の向上に加えて、Duolingoアプリがnullポインタ例外(NPE)からほぼ解放されることにある。DuolingoのAndroidおよびWeb開発リーダであるArt Chaidarun氏に、同社の経験について詳しく聞いた。
-
機能フラグによるモバイルアプリ内の到達不能コードをどうするか - Uberの場合
Uberが新たにオープンソースとして公開したPiranhaは、Java、Objective-C、Swiftで記述されたAndroidおよびiOS用のモバイルアプリから無効なコードを削除するためのツールだ。実装した機能フラグ(feature flag)を最終的に削除する、というプロセスから生じる技術的負債を確実に解消する目的でこのツールは誕生した、とUberは述べている。
-
JavaFX 14リリース
JavaFX 14がリリースされた。単一コードベースによるクロスプラットフォームGUIアプリケーションの開発を支援する。ネイティブJavaコードでコントロール可能な組込みブラウザでのHTTP/2サポートなどの改善も含まれている。
-
AmazonがCLI v2をリリース、SSOとインタラクティブなユーザビリティ機能が使用可能に
Amazonは先頃、ブログ記事でAWS CLI (Command Line Interface) v2の一般提供(GA)を開始すると発表した。今回のバージョンのCLIには、AWS Single Sign-On(SSO)、インタラクティブなウイザード、サーバ側情報の自動補完と自動プロンプトなどが含まれている。また、Pythonの事前インストールが前提条件でなくなり、Windows、Linux、macOSがサポート対象になった。