InfoQ Homepage System Programming Content on InfoQ
-
Go Generics Debut in Go 1.18 Beta 1
The latest beta release of Go, Go 1.18 beta 1, finally introduces support for generics programming using parametrized types, a long-awaited and highly-requested feature. Additionally, it also adds support for test fuzzing, a technique used to find inputs then uncover incorrect behaviour in a program.
-
Rust for Linux Progresses with New Abstractions and Infrastructure
A new patch for Linux advances support for Rust as a second language for kernel development. Besides updating the infrastructure and providing new abstractions around kernel features, the new patch sets the base for more frequent submissions, writes Rust for Linux project lead Miguel Ojeda.
-
Static Analyzer Rudra Found over 200 Memory Safety Issues in Rust Crates
Developed at the Georgia Institute of Technology, Rudra is a static analyzer able to report potential memory safety bugs in Rust programs. Rudra has been used to scan the entire Rust package registry and identified 264 new memory safety bugs.
-
Rust 2021 Edition is Here: Q&A with Armin Ronacher
Rust 2021 Edition hit the road perfectly on schedule on October 21, along with Rust 1.56.0. The latest version of the language includes support for disjoint capture, or patterns in macro rules, and more. InfoQ has taken the chance to speak with Sentry director of engineering, Armin Ronacher, about where Rust is standing now.
-
Go Gets Fuzz Testing Support in Beta
The Go team has announced fuzzing support is now available for beta testing. The main goal of the project is to create a unified and end-to-end experience for developers and users of the language, including robust module support, integration with the go command, and new compiler instrumentation.
-
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.
-
Swift 5.4 Brings Support for Multiple Variadic Arguments, Result Builders, and More
Recently released Swift 5.4 brings support for multiple variadic parameters, extends implicit member syntax, adds support for local functions overloading, and more. Additionally, it improves runtime performance and binary size.
-
Using Rust to Write Safe and Correct Linux Kernel Drivers
As part of the Rust for Linux project, aimed to make it possible to use Rust for Linux driver development, the Android team at Google is working on evaluating the benefits that using Rust would bring.
-
Rust to Provide New Foundations for Android OS Security
Google will use Rust to prevent memory bugs in the Android OS, one of the most frequent causes of security vulnerabilities. As a first step in this direction, the Android Open Source Project now supports Rust as an OS development language.
-
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.
-
Generics Enter Go Change Proposal Process
Generics, one of the features more frequently requested by Go developers, are making their way into the language based on a draft design that has been evolving for the last couple of years and is now entering the language change proposal process.
-
Rust Asynchronous Runtime Tokio Reaches 1.0
Tokio aims to provide building blocks to write reliable and fast asynchronous programs in Rust. Recently announced Tokio 1.0 supports TCP, UDP, timers, a multi-threaded, work-stealing scheduler, and more.
-
CLI Guidelines Aim to Help You Write Better CLI Programs
The Command Line Interface Guidelines (CLIG) is an open-source guide inspired by the traditional UNIX philosophy and aims to revisit the best practices and design principles behind command-line programs. InfoQ has taken the chance to speak with CLIG authors to learn more.
-
Safe Interoperability between Rust and C++ with CXX
CXX enables calling C++ code from Rust and vice versa through safe low-level bindings so you do not have to create your foreign function interface on top of unsafe C-style signatures. InfoQ has taken the chance to speak with CXX creator David Tolnay.
-
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.