InfoQ ホームページ コンパイラ に関するすべてのコンテンツ
-
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に向けた新たなオープンソースの画像処理ライブラリである。画像のアップロードプロセスをより効率的にし、信頼性を高め、画像の品質とファイルサイズの最適なバランスを取ることを目指している。
-
AWS Lambda LayersとRuntime API:公式にサポートされているランタイム以外もサポート
AWS re:Invent 2018では新しい機能とサービスが多数発表された。機能間で共有されるコードとデータを一元管理するLambda Layerや、LambdaをJavaScript以外のあらゆるプログラミング言語に拡張するLambda Runtime APIなどである。
-
Visual Studio 2017 15.9が登場
VS2019へと向かう中、MicrosoftはVS2017のことを忘れていない。9回目のアップデートは多数のバグ修正をもたらし、新機能とC++開発者のための言語準拠を追加する。.NET Core SDKのためのわずかな挙動変更は、バージョニングを簡単にしてくれる。
-
Tink - クラウド、Android、iOSに対応するGoogleの暗号化ライブラリ
Tinkは、Googleの暗号技術者とセキュリティエンジニアのグループが開発した、多言語でクロスプラットフォームな暗号ライブラリである。暗号化の専門家でなくても、暗号を正しく実装することが可能になる。2年間の開発期間を経てリリースされたバージョン1.2では、クラウド、Android、iOSプラットフォームと、C++およびObjective-Cのサポートが追加されている。