InfoQ Homepage Programming Languages Content on InfoQ
-
Rust at Six: New Language Edition and Growing Adoption
Rust has been growing at a steady pace in regard to both its capabilities and industry adoption across the last years. Now at six, Rust is close to a new edition that will introduce new syntax without hampering the Rust ecosystem stability.
-
Grain: Your WebAssembly-First Programming Language - WebAssembly Summit 2021
Oscar Spencer recently presented Grain, a new strongly-typed, high-level language that compiles to WebAssembly. Grain includes functional programming features (e.g., type inference, pattern matching, closures) while allowing mutable variables. Grain also has a standard library with composite data structures (Option, Stack, Result) and system calls (e.g., I/O, process handling).
-
Swift Collections Brings New Data Structures to Swift
Swift Collections is a new open-source package that aims to extend the choice of data structures available to Swift programmers beyond those provided in the standard library. In its initial version, it offers deques, ordered sets, and ordered dictionaries.
-
C++ Interpreter Cling Embraces Python Interoperability and Jupyter Notebooks
Cling is an interactive C++ interpreter built on top of LLVM aiming to make C++ more suitable for exploration and rapid application development. In a recent series of articles, research software engineer Vassil Vassilev describes how they are evolving it to enable interoperability with Python, Jupyter Notebooks, and support for hardware accelerators.
-
Crystal Language That Aims at C Performance with Ruby Syntax Releases 1.0
Crystal, a new object-oriented, compiled systems programming language that aims to blend the conciseness and friendliness of Ruby with the efficiency of C, recently released its first major version. Crystal 1.0 has a syntax close to Ruby’s and features statically inferred types, C bindings, and macros. Crystal may attract developers with a Ruby/Rails, Elixir/Phoenix background.
-
Rust 1.51 Stabilizes Const Generics MVP, Improves Cargo and Compile Times
Rust 1.51 brings to stable a minimum value proposition for const generics, which enable parametrizing types by constant values, for example integers, as opposed to types or lifetimes. The new Rust release also includes improvements to Cargo with a new feature resolver, and faster compile times on macOS.
-
AWS Announces Node.js 14 Support for Its Function as a Service, Lambda
Recently AWS announced Node.js version 14 support for its Function as a Service (FaaS), Lambda. Developers can now author AWS Lambda functions using Node.js' new features, such as top-level-await, enhanced diagnostics, modifications of the streams APIs, and a revised JavaScript engine for better performance.
-
PHP 8 Brings New JIT, Union Types, and More
PHP 8 is a major update to PHP that includes a new just-in-time compiler (JIT) and many new language features. InfoQ has spoken with Sentry principal developer Mark Story to better understand what role PHP and PHP 8 play in today's language landscape.
-
Swift Aims to Become a Data Race-Free Concurrent Language
The Swift team has published its roadmap to improve concurrency support in Swift. In a first phase, Swift will gain the async syntax and actors, while in a second phase focus will be on eliminating data races and deadlocks.
-
Google Engineer Tailors Swift for Windows
The vision for Swift to become a cross-platform programming language has moved one step further with the introduction of a Swift toolchain for Windows 10. Early adopters can now use Swift to create Windows 10 programs that interoperate through the C ABI with existing libraries available on the platform.
-
Swift 5.3 Brings New Language Features, Better Developer Experience, and Improved Performance
Swift 5.3, which has recently become available with Xcode 12, includes a number of significant new features at the syntax level, including support for multi-pattern catch clauses, increased availability for implicit self, and more. Additionally, the Swift team has worked on improving runtime performance, especially when using SwiftUI, and developer experience.
-
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.
-
Go 1.16 Will Support Register-Based Calling Convention
The Go team is working to implement a minimum viable register-based calling convention in Go 1.16. This change could provide 5-10% throughput improvement, according to the Google Go team, while keeping backward compatibility for code using Go current stack-based calling convention.
-
Is Julia Production Ready? Q&A with Bogumił Kamiński
On the heels of JuliaCon 2020, SGH Warsaw School of Economics professor and DataFrames.jl maintainer Bogumił Kamiński summarized the status of the language and its ecosystem and stated that Julia is finally production-ready. InfoQ has taken the chance to speak with professor Kamiński.
-
Rust Moving Towards an IDE-Friendly Compiler with Rust Analyzer
Rust Analyzer is an experimental IDE/latency-oriented Rust compiler. This is an emerging endeavour within the Rust ecosystem, which is aimed at improving the IDE experience with Rust.