InfoQ ホームページ コンパイラ に関するすべてのコンテンツ
-
CXXが実現するRustとC++の安全な相互運用
CXXは安全な低レベルバインディング経由でC++コードとRustコードの相互呼び出しを可能にするソフトウェアだ。安全ではないC言語形式のシグネチャ上に外部関数インターフェースを構築する必要はない。InfoQは今回、作者のDavid Tolnay氏と話す機会を持つことができた。
-
MDsveX - Svelteの中のMarkdownの中のSvelte
mdsvex npmパッケージは最近完全に書き直され、Svelte開発者がSvelteコンポーネント内にMarkdownコンテンツを持ち、Markdown内でSvelteコンポーネントを使用できるようになった。MDX/Reactを備えたGatsbyと同様に、mdsvexを使用すると、開発者はMarkdownコンポーネントとSvelteコンポーネントを組み合わせてインタラクティブコンテンツを生成できる。
-
REPLicant、超シンプルなSvelte REPL - Peter Allen氏のSvelte Summit 2020での講演より
Peter Allen氏は先日のSvelte Summit 2020で講演し、REPL(Read-Print-Eval-Loop)プレイグラウンドのメリットについて説明した。Svelte REPLは多くの境界条件を扱う必要があるために複雑だが、コードプレイグラウンド実装の根底にある原理は単純だ。Allen氏は講演の視聴者に対して、段階的に、Svelte REPLの最も単純な実装バージョンに至るまで説明した。
-
IonicのStencilコンポーネントコンパイラの設計に関する考慮事項 -- DotJS2019でのAdam Bradley氏の講演
StencilJSの作成者でIonic Frameworkの共同作成者であるAdam Bradley氏は、dotjs2019で、フレームワークに依存しないコンポーネントを生成するコンポーネントコンパイラであるStencilに組み込まれた設計とアーキテクチャをレビューした。
-
C++20は最終版に、C++23がスターティングブロックに
元々昨年2月にリリースされる予定の、C++20は最終的な技術的承認を受けており、年内に発表される予定である。C++20には、主要な新機能の中にModules、Coroutines、およびConceptsが含まれる。
-
Google Propellerが大規模LLVMバイナリからさらなるパフォーマンスを引き出す
Google Propellerは、実行時の動作のプロファイルに基づいてLLVMバイナリを再リンクおよび最適化することにより、LLVMバイナリのパフォーマンスを向上させることができる。Googleのエンジニアによると、Propellerは、以前はLLVMによって高度に最適化されていたバイナリの主要なパフォーマンスベンチマークを2~9%向上させることができる。
-
Java-to-WebコンパイラCheerpJ 2.0によって使われるWebAssemblyはJavaアプリケーションをブラウザへ移植する
LeaningTechは最近、CheerpJの2番目の主なイテレーションをリリースした。CheerpJ 2.0は、JavaアプリケーションをHTML、WebAssembly、JavaScriptの混合に変換し、開発者がJavaアプリケーション(アプレットを含む)をブラウザで実行したり、JavaライブラリをWebアプリケーションに統合したりできるだろう。CheerpJ 2.0では、WebAssemblyを使用して実行速度を向上させている。
-
Google独自のC/C++用メモリアロケータTCMallocがオープンソースとして公開へ
GoogleのTCMallocをCおよびC++の既定のメモリアロケータの置き換えとして使用することで、大規模プログラムでの効率の向上や並列性サポートの改善が実現する、とGoogleは述べている。
-
.NET Core for WindowsでC++が使用可能に
MicrosoftはC++/CLI in .NET Core 3.1の提供計画を発表した。ターゲットとなるのはWindowsアプリケーションのみで、LinuxあるいはOSXでC++/CLIを使用することはできない。
-
C++20のフィーチャリストが凍結 - モジュール、コルーチン、コンセプトを採用、コントラクトは延期
ISO C++委員会は、2020年2月までに公開予定の、C++20と呼ばれる次期C++標準の機能リストをクローズした。C++20はC++の重要な改訂版で、モジュール、コルーチン、コンセプトを主要な新機能として提供する。
-
Sucrase - 最新JSランタイムのための高速版Babel
JavaScript/TypeScriptコンパイラのSucraseの目的は、Babelコンパイラよりも大幅に高速な開発ビルドを提供することだ。特に大規模なコードベースでテストする場合、ビルドが速ければイテレーションも速くなる。何件かの実験的な測定では、Babelに対して4倍から20倍という速度の向上が見られている。これにより、開発時の開発者エクスペリエンスの改善を享受しつつ、運用時にはこれまで通りBabelを使用することが可能になる。
-
JavaによるWebアプリケーション記述 - 代替手法に関する調査
JavaScriptにコンパイルされる言語の人気が高まったことにより、Java仮想マシン言語に習熟していて、JavaScript開発スタックに悩むことなくWebアプリケーションを開発したいと願う開発者には、JavaScriptに代わる選択肢が増えている。ネイティブなJavaScript Webアプリケーションに対するパフォーマンス上のペナルティも、以前に比べると縮小している。
-
JavaScripr言語にリアクティビティを実現するフロントエンドフレームワークSvelte 3 - 作者のRich Harris氏に聞く
先日リリースされたフロントエンドフレームワークのSvelte 3には、JavaScriptでリアクティビティを記述する新たな構文が導入されている。InfoQは開発者のRich Harris氏にインタビューして、Svelte 3の持つ意味、開発者への影響などを聞いた。
-
J2CL: JavaからJavaScriptへのトランスパイラー
Googleによって設計され、開発され、オープンソース化されたJ2CLとは、JavaをJavaScriptに変換するソース・トゥ・ソースのコンパイラである。J2CLは、GWTといった同様のJava-JavaScriptのフレームワークとは異なる問題の解決を試みるもので、同じく既存のJavaScriptフレームワークとの競合、置換を意味するものではなく、相互運用とクロスプラットフォームのコード再利用を目的としている。
-
Facebook SpectrumがiOS、Androidにおける画像アップロードの信頼性を向上
Facebook Spectrumは、iOSとAndroidに向けた新たなオープンソースの画像処理ライブラリである。画像のアップロードプロセスをより効率的にし、信頼性を高め、画像の品質とファイルサイズの最適なバランスを取ることを目指している。