InfoQ ホームページ system_programming に関するすべてのコンテンツ
-
機能の安定化とNLLのバックポートを備えたRust 1.36
Rust 2018のロードマップに続くRust 1.36で最も待ち望まれていた新機能は、同言語でasync/awaitを実現するための最初のステップとなる、Futureトレイトのサポートだ。さらに、ボローチェッカの向上を目的としてNLL(non-lexical lifetime)がバックポートされた他、stdを必要としないメモリ割り当て依存ライブラリの構築を可能にするために、新たなallocクレートが導入されている。
-
Sonic - 軽量でスキーマレスな検索システム
Sonicは、 Elasticsearchなどフル機能の検索システムの代替として開発が進められている、オープンソースでスキーマレスの検索バックエンドだ。自然言語による検索クエリの正規化とオートコンプリート機能を備え、検索クエリに最も関連性の高い結果を返すことができる。
-
MITがJuliaベースのAI用言語のGenを発表
先日の論文で、MITの研究者たちが、汎用確率的言語(general-purpose probabilistic language)のGenを発表した。Juliaをベースとするこのプログラム言語の目的は、高レベルのプログラミング構造によるモデル表現と推論アルゴリズムの作成を可能にすることだ。
-
RustによるElixirインターフェースを用いたパフォーマンス改善 - DIscordの事例
Discordチームは、大規模データ構造を扱うBEAMのパフォーマンスが限界に達したことから、1,100万に達する同時ユーザ数に対する同社システムのスケールアップを、RustによるElixirインターフェースに頼ることにした。
-
Microsoft、理解の容易なコード記述のためのプログラム言語 Bosque を公開
Microsoftは先頃、人間とマシンの両方にとって単純かつ明確で、理解の容易なコードを書くための言語設計を調査する研究プロジェクトである、Bosqueプログラミング言語を公開した。 この言語は、TypeScriptからヒントを得た構文と型に加えて、MLとNode/JavaScriptにインスパイアされたセマンティクスから派生したものだ。
-
非公開クレート用に代替レジスタを導入したRust 1.34
Cargo 1.34の最も大きな特徴は、 代替カーゴレジストリの使用をサポートしたことだ。これは企業環境において、ゲームチェンジャになる可能性がある。さらに今回のリリースでは、ドキュメンテーションテストで"?"がサポートされ、標準ライブラリにいくつかの改良が加えられている。
-
2019年のRustの進化は成熟を目指す
Rustの今年のロードマップは、2019年を通しての言語開発の主要な優先事項を設定するための、コミュニティからのブログ投稿の公募の結果である。それには、ガバナンスモデルの再構築、新しい言語機能の軽量化、コンパイラの改善が含まれる。
-
Rustから生成されたWASMをCloudfareサーバレスワーカにデプロイする
先頃Cloudfareがオープンソース公開したWranglerは、Rustで記述されてWebAssemblyにコンパイルされるCloudfare ワーカの開発、プレビュー、パブリッシュを行うためのCLIツールセットである。
-
Go 1.12、ランタイム性能とモジュールサポートを改善
Goの最新リリース、バージョン1.12では、言語に対する構文上の変更はなく、ランタイム性能、ツールチェーン、モジュールシステムの改善に焦点が当てられている。加えて、TLS 1.3のオプトインサポートと、macOSおよびiOSのサポート改善を提供する。
-
トレース,モジュール,マクロなどが改良されたRust 1.32
Rust 1.32には,デバッグ目的でプログラム実行をトレースする時の開発者エクスペリエンスを向上するための,新たな言語機能が多数含まれている。さらに,デフォルトでシステムアロケータが使用されるようになるとともに,モジュールシステムの開発が完成して使いやすくなっている。
-
Rust 1.31がリリース - Rust 2018の機能を初めて実装し、非レキシカルライフタイム、モジュールの改良を提供
Rust 1.31は、Rust 2018限定の新機能を実装した最初のリリースであり、既存のコードベースとのソース互換性は保証されていない。Rust 2018は現在開発中で、Rust 1.31は、この言語を大きく拡張する3年間の開発サイクルにおける、単なる出発点という位置付けである。
-
Go 2に向けたGoogleの計画
Googleの言語の次期バージョンの開発作業は、Go 2に向けた120の公開提案候補によってすでに始まっていると、GoogleのエンジニアであるRobert Grieserner氏が記している。さらにGoogleは、Go 2のプロセスをよりコミュニティ主導なものにしようと考えている。
-
AWS Lambda LayersとRuntime API:公式にサポートされているランタイム以外もサポート
AWS re:Invent 2018では新しい機能とサービスが多数発表された。機能間で共有されるコードとデータを一元管理するLambda Layerや、LambdaをJavaScript以外のあらゆるプログラミング言語に拡張するLambda Runtime APIなどである。
-
メタプログラミングのサポートとモジュールが改善されたRust 1.30
Rustの最新リリースであるバージョン1.30では、プロシージャマクロが拡張され、新しい属性や関数風のマクロが定義可能になった。また、合理化と簡素化により、Rustモジュールシステムの効率が向上している。
-
C言語の次期ISO標準となるC2x
2022年の完成に向けて、C言語委員会(C committee)が進めるC2x標準が、その進化を開始した。InfoQでは今回、同委員会における新標準の推進役であり、Modern Cの著者であるJens Gustedt氏と話す機会を得ることができた。