InfoQ ホームページ system_programming に関するすべてのコンテンツ
-
Rustで書かれた新しい高速JavaScriptリントツール、RSLint
D'ambrosio氏は先頃、完全にRustで記述されたJavaScriptのリントツールであるRSLintをリリースした。RSLintは、可能な限り高速で、カスタマイズ可能で、使いやすいように努めている。RSLintはまだ開発の初期段階にあり、基本的なVisual Studio Code統合を備えている。
-
Node.jsアプリにRustコードの組込みを可能にするNeon
Neonは、Rustを使用してネイティブNodeモジュールを作成できるようにするライブラリおよびツールチェーンである。これは、CおよびC++でできることと似ているが、Rustの安全性の保証が追加されるという利点がある。
-
堅牢なテスト戦略により自信を持ってDropbox Syncをリライト
過去数年間、Dropboxのエンジニアはクライアント側の同期エンジンをゼロから書き直してきた。DropboxのエンジニアであるIsaac Goldberg氏は、明確なテスト戦略を定義していなければクイックなリリースサイクルで新しいエンジンを構築して出荷するのは、不可能だったと述べている。
-
SwiftチームのSwift Algorithmsをオープンソース化
Swift Algorithmsは、Swift標準ライブラリのギャップを埋めるシーケンスアルゴリズムとコレクションアルゴリズムを多数含む新しいパッケージである。AppleのエンジニアであるNatCookは次のように記述している。
-
Swift Atomicsにより、Swiftでファーストクラスのatomic操作が可能に
Swift Atomicsは、システムプログラマーがSwiftで直接、同期構造を記述できるようにすることを目的としている。
-
Apple、システムレベルAPIにインターフェースするSwiftライブラリ"system"をオープンソースとして公開
Systemは、一般的にOSレベルで定義されるシステムコールや通貨型に関して、慣用的で型安全なインターフェースを提供する目的で、AppleがWWDCカンファレンスで紹介した低レベルのライブラリである。Swiftをクロスプラットフォームな開発エコシステムとしてプッシュするというAppleの目標に従って、プログラマがプラットフォームを越えた開発を容易にコントリビュートできるようにする上で、Systemはその根源としての役割を果たすものだ。
-
Stork、JAMStackのためのRust/Wasmベースの高速全文検索
Stripeの開発者であるJames Little氏は、Rust/WebAssembly全文検索アプリケーションであるStork (ベータ版) をリリースした。Storkは静的サイトとJAMStackサイトを対象としている。また、サイトのユーザに優れた検索速度を提供するよう努めている。
-
GoogleのエンジニアがSwiftをWindowsに移植
クロスプラットフォームなプログラミング言語になるというSwiftのビジョンが、Windows 10用のSwiftツールチェーンの導入によって一歩前進した。アーリーアダプタはSwiftを使って、プラットフォームが用意する既存ライブラリをC言語ABI経由で相互運用する、Windows 10プログラムの開発が可能になる。
-
Denoはプロダクションで利用可能
JavaScriptとTypeScriptのセキュアなランタイムであるDenoがバージョン1.0に到達した。Rustで書かれたDenoは、Node.jsの多くの設計上の問題に対処するが、開発者が採用することにおいても課題に直面している。
-
Swift 5.3リリース - 新しい言語機能、開発者エクスペリエンスの向上、パフォーマンス改善
Xcode 12と合わせて先日公開されたSwift 5.3には、マルチパターンcatch句、暗黙のselfの可用性向上など、構文レベルでの重大な新機能がいくつも含まれている。さらにSwift開発チームは、特にSwiftUIを使用した場合のランタイムパフォーマンス向上や、開発者エクスペリエンスの向上にも取り組んでいる。
-
C++20は最終版に、C++23がスターティングブロックに
元々昨年2月にリリースされる予定の、C++20は最終的な技術的承認を受けており、年内に発表される予定である。C++20には、主要な新機能の中にModules、Coroutines、およびConceptsが含まれる。
-
RustConfがRustの成長とともに目指す、より開放的なコミュニティ
RustConfが2020年8月に開催された。Rustが主流プログラミング言語へと登るにつれ、さまざまなバックグラウンドやスキルレベルの開発者を考慮した、開放的な(inclusive)ものになる必要が生じている。間口を広くすることが今年のRustConfのテーマだ。
-
-
C言語からRustへのトランスパイルを目指すC2Rustニュースをアップしました
c2Rustは、C99準拠のコードのRustへのマイグレーションを可能にするオープンソースプロジェクトだ。比較的新しいこのツールの開発を通じて、開発者たちは、C言語の記述方法に関するいくつかの教訓を得るとともに、それをABIレベルでRustに置き換える可能性に関する現在の限界について探ることができた。
-
Go 1.16、レジスタベースの呼出規約をサポート
GoチームはGo 1.16で、レジスタベースの呼出規約(calling convention)の実用最小限(minimum viable)実装に取り組んでいる。この変更により、GoogleのGoチームによれば、現行のスタックベース呼出規約を使用するGoコードとの後方互換性を維持しながら、5~10パーセントのスループット改善が可能になる。