InfoQ ホームページ system_programming に関するすべてのコンテンツ
-
Microsoftがメタデータを使って、Rustや他の言語からの慣用的なWin32相互運用を可能に
Microsoftは、あらゆる言語からWin32 APIを簡単に使用できるようにするために、Win32 Metadataプロジェクトを立ち上げた。自動化された慣用的なプロジェクションを通して完全なWin32言語バインディングを生成することを目的としている。このプロジェクトには、初期ではC#、C++、Rustのプロジェクションが含まれている。
-
Apple Siliconへの移植 - Firefoxの場合
Apple Siliconの導入によってmacOS開発者たちは、自分たちのプログラムを新しいCPUに移植する必要に迫られている。しかしながら、複雑なプログラムでは、FirefoxのエンジニアマネージャであるGian-Cario Pascotto氏の説明するように、これがかなりの難行になる可能性があるのだ。
-
グローバルインストールでCLI管理を容易にする新しいRustベースのJavaScriptツールマネージャ
新しいJavaScriptツールマネージャであるVoltaは、先頃、最初の安定バージョンをリリースした。Voltaは、バージョン情報をローカルに保存して、CLIツールをグローバルにインストールする。Nodeのnvmと同様、Voltaは、プロジェクトを切り替えるときにバージョンを切り替える心配をすることなく、同じツールの複数のバージョンをインストールできる。RustベースのVoltaは、外部依存のないネイティブの高速バイナリとしてリリースされる。
-
"Wasmer" WebAssemblyランタイムを一般提供
Wasmerは先頃、サーバサイドWebAssemblyランタイムのバージョン 1.0をリリースして、現在一般提供されている。Wasmerは、WebAssemblyに基づく超軽量コンテナを可能にする。バージョン 1.0は、2年以上前にバージョン 0.1.0で始まったジャーニーの重要なマイルストーンを示している。これは、サーバサイド Wasmへの関心が高まっていることを示している。
-
Rust China Conf 2020で紹介された実運用レベルのRustアプリケーション
Rust China Confは中国で開催される、Rustプログラミング言語のための最大の草の根イベントである。AmazonやMicrosoft、その他多くの米国や中国のハイテク企業で、ミッションクリティカルなプロダクションソフトウェアシステムにRustを導入する例が増えている。Bytedance(Tiktokの親会社)、Ant Group、Agora、その他の大企業やスタートアップが、自社のRust利用の状況カンファレンスで公開した。
-
Generics Enter Go Change Proposal Process
Go開発者が最も多く望んできた機能のひとつであるジェネリクスが、数年間にわたって進化を続けたドラフト設計に基づいて言語に導入されることになり、言語変更提案プロセスが開始された。
-
Rust 1.49が64ビット ARM LinuxのTier-1サポートでリリース
Rustチームは昨年の大みそかにRust 1.49をリリースした。Rustの新しいバージョンには、64ビットARMサポートとマイナーな言語拡張機能が含まれる。
-
Rustの非同期ランタイムであるTokioが1.0に到達
Tokioは、Rustで信頼性が高く高速な非同期プログラムを作成するためのビルディングブロックを提供することを目指している。最近発表されたTokio 1.0は、TCP、UDP、タイマー、マルチスレッド、ワークスティーリングスケジューラなどをサポートしている。
-
Juliaはプロダクションレディか? Bogumił Kamiński氏とのQ&A
JuliaCon 2020に続いて、SGHワルシャワ経済大学のBogumił Kamiński教授は、言語とそのエコシステムの状況を要約し、Juliaがついにプロダクションレディになったと述べた。InfoQは、Kamiński教授と話して変更を加えた。
-
よりよいCLIプログラムを書くためのCLI Guidelines
Command Line Interface Guidelines(CLIG)は、伝統的なUNIXの哲学にヒントを得た、コマンドラインプログラムのベストプラクティスと背景となる原則を再確認するためのオープンソースのガイドである。InfoQは今回、その詳細を知るために、筆者らと話すことができた。
-
PHP 8がJIT、union型などを新たに提供
PHP 8は、Just In Time(JIT)コンパイラと多数の言語機能を新たに加えた、PHPのメジャーアップデートである。InfoQは今回、PHPおよびPHP 8が今日の言語環境において果たす役割についての理解を深めるべく、SentryのプリンシパルデベロッパであるMark Story氏に話を聞いた。
-
CXXが実現するRustとC++の安全な相互運用
CXXは安全な低レベルバインディング経由でC++コードとRustコードの相互呼び出しを可能にするソフトウェアだ。安全ではないC言語形式のシグネチャ上に外部関数インターフェースを構築する必要はない。InfoQは今回、作者のDavid Tolnay氏と話す機会を持つことができた。
-
データ競合のない並列言語を目指すSwift
Swiftチームは、Swiftの並列性サポートの改善に向けたロードマップを公開した。最初のフェーズでasync構文とアクタを進め、第2フェーズでデータ競合(data races)とデッドロックを排除する予定である。
-
Rust Hyper HTTPライブラリはCurlをより安全にすることに貢献
Cで記述されている、世界中の約60億のデバイスにインストールされている人気のあるcurlおよびlibcurlツールは、メモリセーフでない言語の使用に起因するよく知られたセキュリティ問題にさらされている。新しいイニシアチブは、Rust Hyperライブラリに基づくcurl用のメモリセーフなHTTP/HTTPSバックエンドを提供することを目的としている。
-
Bytecode Allianceは、サーバサイドでのWebAssemblyの計画を示す
Bytecode Allianceは、wasm-on-the-serverの具体的なビジョンを示した。同時に、Wasmオープンソースコミュニティは現在、Bytecode Allianceの企業よりもはるかに大きくなっている。複数のWasm VM実装、プログラミング言語用のコンパイラツールチェーン、ホストオペレーティングシステムと環境(Node.js、Deno、ブロックチェーンなど)がある。