InfoQ Homepage Compilers Content on InfoQ
-
REPLicant, a Super Simple Svelte REPL - Peter Allen at Svelte Summit 2020
Peter Allen recently gave a talk at Svelte Summit 2020 in which he explained the benefits of REPL (Read-Print-Eval-Loop) playgrounds. While the Svelte REPL is complex due to the handling of many edge cases, the principles underlying code playground implementations are simple. Allen progressively led the viewer into the implementation of the simplest possible version of the Svelte REPL.
-
C++20 Is Now Final, C++23 at Starting Blocks
Originally planned for release last February, C++20 has now received the final technical approval and will be published foreseeably by the end of the year. C++20 will include modules, coroutines, and concepts among its major new features.
-
MDsveX - Adding Interactivity with Svelte Components in Markdown
The mdsvex npm package was recently entirely rewritten to allow Svelte developers to have Markdown content inside a Svelte component and also use Svelte components inside Markdown. Like Gatsby with MDX/React, mdsvex allows developers to mix Markdown and Svelte components to generate interactive content.
-
WebAssembly Used by Java-to-Web Compiler CheerpJ 2.0 to Port Java Applications to Browsers
LeaningTech recently released the second major iteration of CheerpJ. CheerpJ 2.0 may convert Java applications into a mix of HTML, WebAssembly and JavaScript, so that developers can run Java applications (including applets) in browsers or integrate Java libraries into web applications. CheerpJ 2.0 uses WebAssembly to improve runtime speed.
-
Ionic's Stencil Component Compiler Design Considerations -- Adam Bradley at DotJS2019
Adam Bradley, creator of StencilJS and co-creator of Ionic Framework, reviewed at dotjs2019 the design and architecture that went into Stencil, a component compiler which generates framework agnostic components.
-
Google Propeller Squeezes Extra Performance from Large-Scale LLVM Binaries
Google Propeller is able to improve the performance of LLVM binaries by relinking and optimizing them based on a profile of their behaviour at runtime. Propeller can bring 2-9% improvements on key performance benchmarks for binaries that were previously highly optimized by LLVM, say Google engineers.
-
TCMalloc, Google's Customized Memory Allocator for C and C++, Now Open Source
Google's TCMalloc can be used as a replacement for C and C++ default memory allocators to provide greater efficiency at scale and better support for parallelism, says Google.
-
Babel 7.7 Released with Improved TypeScript Support, Top-Level Await and More
The recently released Babel 7.7 now parses top-level await, Flow enum declarations (Flow proposal), and proposes recovery options from certain syntax errors. Babel 7.7 now supports TypeScript 3.7. Babel also introduces a new optional babel.config.json configuration files, and miscellaneous other features and bug fixes.
-
C++ is Coming to .NET Core for Windows
Microsoft has announced plans to offer C++/CLI in .NET Core 3.1. This would only be offered for Windows applications; you won’t be able to use C++/CLI for Linux or OSX.
-
C++20 Feature List Now Frozen: Modules, Coroutines, and Concepts are in; Contracts out
The ISO C++ Committee has closed the feature list for the next C++ standard, dubbed C++20, scheduled to be published by February 2020. C++20 will be a significant revision of C++, bringing modules, coroutines, and concepts, among its major new features.
-
Sucrase, a Faster Babel for Modern JS Runtimes
The Sucrase JavaScript/TypeScript compiler aims at providing significantly faster development builds than the Babel compiler. Faster builds mean faster iterations, specially when testing on a large codebase. Some empirical measures show a gain in speed between 4x and 20x vs. Babel. Developers may thus enjoy the improved developer experience in development, and still resort to Babel in production.
-
Writing Web Applications in Java - a Study of Alternatives
Developers familiar with the Java Virtual Machine languages and who want to develop web applications without the difficulties of a JavaScript development stack, have an increasing array of alternatives to JavaScript to choose from. The performance penalty vs. native JavaScript web applications is shrinking.
-
J2CL: A Java-to-JavaScript Transpiler
J2CL is a source-to-source compiler that converts Java to Javascript. It attempts to solve a different problem than similar Java-to-Javascript frameworks such as GWT. Likewise, J2CL is not meant to compete with or replace existing JavaScript frameworks; J2CL is about interoperability and cross-platform code reuse.
-
Svelte 3 Front-End Framework Moves Reactivity into the JavaScript Language, Q&A with Rich Harris
The recently released front-end framework Svelte 3 introduces a new syntax to express reactivity in JavaScript. InfoQ interviewed Rich Harris, Svelte creator, and discussed what Svelte 3 means and its implications for developers.
-
Mitigating Software Vulnerabilities at Microsoft over the Last 20+ Years
At BlueHat IL 2019, Microsoft engineer Matt Miller described how the software vulnerability landscape has evolved over the last 20+ years and the approach Microsoft has been taking to mitigate threats. Interestingly, among the major culprits of security bugs, says Miller, are memory safety issues, which account for 70% of total security bugs Microsoft has patched.