Nvidia's security team advocates shifting away from C/C++ due to its susceptibility to memory-related vulnerabilities, which account for a significant portion of their reported security issues. They propose embracing memory-safe languages like Rust, Go, and Java to improve the security posture of their products and reduce the time and resources spent on vulnerability remediation. While acknowledging the performance benefits often associated with C/C++, they argue that modern memory-safe languages offer comparable performance while significantly mitigating security risks. This shift requires overcoming challenges like retraining engineers and integrating new tools, but Nvidia believes the long-term security gains outweigh the transitional costs.
AdaCore has announced the winners of its "Ada/SPARK Crate of the Year 2024" competition. The gold award went to Libadalang-TV, a library providing a tree view for Libadalang, simplifying Ada and SPARK code analysis. Silver was awarded to Ada-Scintilla, a binding for the Scintilla editing component, enhancing Ada and SPARK development environments. Finally, Florist, a tool for static analysis of formal verification results, took home the bronze. These crates demonstrate community contributions to improving the Ada and SPARK ecosystem, providing valuable tools for development, analysis, and verification.
Hacker News users discussed the winning Ada/SPARK crates, expressing interest in Creatif's accessibility features for blind programmers and praising its maintainers' dedication. Some questioned the term "crate" in the Ada context, suggesting "package" or "library" as more fitting. A few comments highlighted Ada's strengths in safety-critical systems, contrasting its niche status with the broader popularity of Rust, while also acknowledging Rust's growing presence in similar domains. One commenter pondered the reasons behind Ada's limited adoption despite its technical merits.
Summary of Comments ( 148 )
https://news.ycombinator.com/item?id=42998383
Hacker News commenters largely agree with the AdaCore blog post's premise that C is a major source of vulnerabilities. Many point to Rust as a viable alternative, highlighting its memory safety features and performance. Some discuss the practical challenges of transitioning away from C, citing legacy codebases, tooling, and the existing expertise surrounding C. Others explore alternative approaches like formal verification or stricter coding standards for C. A few commenters push back on the idea of abandoning C entirely, arguing that its performance benefits and low-level control are still necessary for certain applications, and that focusing on better developer training and tools might be a more effective solution. The trade-offs between safety and performance are a recurring theme.
The Hacker News post titled "Nvidia Security Team: “What if we just stopped using C?” (2022)" has generated a lively discussion with numerous comments. Many commenters agree with the premise that C is inherently unsafe and contributes significantly to software vulnerabilities. Several suggest Rust as a strong contender for replacing C, citing its memory safety features and performance characteristics.
A recurring theme is the inertia within organizations and the perceived cost and effort of transitioning away from C. Some commenters express skepticism about the feasibility of such a move, particularly in large, established codebases. Others counter this by arguing that the long-term benefits of improved security and reduced maintenance outweigh the initial investment.
Several compelling comments delve deeper into specific aspects:
The comments overall reflect a general sentiment that while moving away from C is a significant undertaking, it is a necessary step towards building more secure and reliable software. The discussion acknowledges the complexities and challenges involved but also expresses optimism about the potential benefits and the growing momentum behind safer alternatives like Rust.