artagnon
The Deconstruction of Mathematical Reasoning
Bootstrapping Mechanical Correctness
Our Great Mutator
Conflating Ego with Intelligence
The Miserable Introvert
Fallacious Vocabulary Around Merit
AI and the War-Time Economy
The Vectorization-Planner (VPlan) in LLVM
The pedestrian technology underneath the hype
The Capitalist Wet Dream
Deficiencies in LLVM's LoopVectorize
I still love the language, and maintain my SSG that was written in Ruby over a decade ago. Shame that it's nearly dead now.
Snake Defense Fanfic
LLVM also deprioritizes general cleanup work, such as getting rid off passes that don’t work, and are rotting in the tree: of the top of my head, I can think of GVNSink, LoopFusion.
There are additional problems unique to LLVM, as it doesn’t have a dictator: there are multiple different dependence analysis in tree, for instance.
If you don't need to convert entire LaTeX documents, MathJaX and KaTeX are really good at rendering a subset of LaTeX as MathML/SVG. I run MathJaX + an xypic extension for commutative diagrams with server-side rendering on my website, and it works great in practice.
An Opinionated Comparison of Cities
Introduce Rust into the Git Project
Converting the Kernel to C++
Low-Hanging Fruit
More than 500k under-35 in UK out-of-work due to long-term illness
Octoverse: The State of Open Source and the Rise of AI in 2023
Loco.rs: The Rails of Rust
C++ is an engineer's language, and it's ridiculous to imagine that we'd ever need a C++2.0 that cleans it up. Subjectively, you could say that some features are "ugly", but this is an evolutionary process, and there are bound to be vestigial features.
Yes, there are memory safety issues, but in practice, these are isolated in very few places. Take a compiler like LLVM for instance: most developers are working on transforms or analyses, and they're exposed to zero manual memory management. Sure, the Pass Manager needs to build passes, and the IR needs to be allocated, but that's about all the manual memory management there is.
Personally, I couldn't care less about standardized argv-parsing, as each project has its own set of complex requirements. There are JSON parsing libraries available for C++, and I don't see why it should be standardized. Faster hashing in std could be a low-priority feature, but projects like LLVM have their own optimized version of std data structures and algorithms.
I suppose a module system could be useful; most C++ projects are built with CMake which is already very good at finding and linking dependencies. Personally, my biggest pain point is compile-times, but that's really an LLVM/Clang problem.
Overall, the article doesn't seem to be written by someone who has a lot of experience with large C++ codebases.