Tag
C++26 introduces a new <debugging> header with std::breakpoint(), std::is_debugger_present(), and std::breakpoint_if_debugging(), standardized via papers P2546R5 and P2810R4 to replace platform-specific debugging macros.
Raymond Chen 解释 C++ std::async 的心智模型,说明 launch 策略的两个维度(立即/延迟、同线程/新线程)中哪些组合是标准允许的,哪些被禁止或由实现决定。
A follow-up blog post in Raymond Chen's C++ futures series explaining the mental model behind std::promise and std::packaged_task, showing how a shared 'source' state is managed via shared_ptr and how packaged_task wraps a promise to store call results for retrieval by a future.
Vincent Bernat explores how to efficiently map IPv4 addresses to IPv6 in Go's netip.Addr, comparing a standard library addition, an unsafe helper, and hacking the Go compiler to optimize the netip.AddrFrom16(ip.As16()) pattern that maintainers prefer.
Go 1.27 ships `encoding/json/v2` in the standard library and quietly re-implements the old `encoding/json` package on top of it, changing error strings and flipping defaults such as nil slices becoming `[]`, case-sensitive field matching, duplicate key rejection, and `time.Duration` no longer marshaling when v2 is imported directly.
The Rust team announces Rust 1.99.0, stabilizing C-ABI variadic functions, layout information APIs from raw pointers, and updated guidance on Box::leak patterns ahead of custom allocator support.
This article compares exception handling behaviors in C++ concurrency mechanisms: magic statics, std::call_once, and std::async, explaining their differences and providing usage recommendations.
The article compares std::call_once and std::async for deferred execution in C++, discussing their differences in implementation, performance, and exception behavior.
Python 3.15 soft deprecates the re.match() function, introducing re.prefixmatch() as a clearer alternative for pattern matching at the start of strings.
The article benchmarks the new JSON API in Go 1.27, showing significant speed improvements in unmarshalling but mixed results in marshalling compared to the legacy implementation.
The author implemented a vectorized FMA for Rust's fearless_simd library, leading to performance improvements and the discovery of bugs in Rust and musl libc standard libraries.
This article critiques the design of Rust's RangeFrom iterator, highlighting issues with overflow handling and unexpected behavior that can lead to infinite loops or panics.
The Zig devlog introduces pointer stability for ArrayLists to prevent memory safety bugs caused by pointer invalidation during reallocation.
This article explains the evolution of Go's sync.Map from a normal map to a hash trie implementation, detailing changes in Go 1.24 and 1.26, and providing a step-by-step breakdown of its API and internal mechanics.
The article explores how the social architecture of programming language communities influences the design and quality of standard libraries, comparing approaches in Python, Go, and Rust.
Go 1.27 is released with major enhancements including generic methods, performance improvements, and new standard library features like encoding/json/v2 and post-quantum cryptography support.
The Rust standard library now uses `cargo-semver-checks` to prevent accidental breakage, as detailed through past incidents and the collaborative effort to integrate this tool.
Writergate is the informal name for Zig's I/O interface overhaul, which replaces generic types with concrete types and vtables to address design flaws and enable features like async I/O. The changes are breaking and require updates to existing code.
C++26 introduces std::indirect, a vocabulary type providing value-like semantics and const propagation for heap-allocated objects, offering a safer alternative to std::unique_ptr for class members.
A deep dive into the complexity of splitting multiline text in Python, covering the many Unicode line break characters and the historical origins of newline representations in ASCII.