InfoQ Homepage Embedded Software Dev Content on InfoQ
-
Rust 1.59 Supports Inline Assembly, Extends Destructuring, and More
Rust 1.59 now allows developers to include machine-level instructions in Rust programs using asm!. Additionally, destructuring has been extended beyond bindings to include assignments, and generics now support the specification of default values for const parameters.
-
Increasing Collaboration at Ericsson: Hardware and Software Developers Learn Each Other's Language
You can integrate hardware and software development with a cross-border team setup, where it’s important that hardware and software developers speak each other’s languages. The suggestion is to focus on “us” instead of “we” and “them”, and on the technical competence that connects developers over agile or lean terminology.
-
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.
-
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.
-
.NET News Roundup - Week of April 12th, 2021
It's been a busy week for the .NET community, with the release of new Visual Studio previews (Windows and Mac), updates to .NET Core 3.1 and 2.1, new releases from the Azure team, and more. InfoQ examined these and a number of smaller stories in the .NET ecosystem from the week of April 12th, 2021.
-
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.
-
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.
-
C2Rust Aims to Enable C Transpilation to Rust
C2Rust is an open-source project that aims to make it possible to migrate C99-compliant code to Rust. Working on this relatively new tool has also allowed its creators to learn a few lessons about the way C code is written and to explore the current limits to Rust possibilities of replacing it at the ABI level.
-
Rust 1.45 Fixes Cast Unsoundness and Stabilizes Support for Web Framework Rocket
Rust 1.45 includes a fix for a long-standing float cast issue potentially causing undefined behaviour and stabilizes features used by popular Web framework Rocket.
-
TinyGo Aims to Bring Go to the Internet of Things
Google-sponsored TinyGo is a new LLVM-based Go compiler to make it possible to run Go programs on microcontrollers, including the Arduino Uno and the BBC micro.bit, as well as modern browsers using Web Assembly.
-
ZetZ is a Formally Verified Dialect of C
ZetZ, or ZZ for short, is a Rust-inspired C dialect that is able to formally verify your code by executing it symbolically at compile time in a virtual machine. InfoQ has spoken with ZZ creator and maintainer Avid Picciani.
-
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.
-
Rust Gets Zero-Cost Async/Await Support in Rust 1.39
After getting support for futures in version 1.36, Rust has finally stabilized async/.await in version 1.39. As Rust core team member Niko Matsakis explains, contrary to other languages, async/.await is a zero-cost abstraction in Rust.
-
Rust 1.36 Stabilizes Futures, Backports Non-Lexical Lifetimes, and More
Following its roadmap to Rust 2018, Rust 1.36's most awaited new feature is support for the Future trait, which is the first step towards bringing async/await to the language. Additionally, it backports non-lexical lifetimes (NLL) to improve the borrow checker, and introduces a new alloc crate to enable the creation of memory allocation-dependent libraries that do not require std.
-
Mozilla Announces WASI Initiative to Run Web Assembly on All Devices, Computers, Operating Systems
Mozilla recently announced a new standardization effort aiming at running the same WebAssembly code across all devices, machines and operating systems. The new standard, WebAssembly System Interface (WASI), defines a single conceptual operating system interface, which can be implemented by multiple, actual operating systems. Mozilla and Fastly are already shipping prototypal WASI implementations.