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.
The AdaCore blog has formally declared the victors of the prestigious "Ada and SPARK Crate of the Year" competition for the year 2024. This annual event celebrates excellence and innovation within the Ada and SPARK programming communities, specifically focusing on high-quality, reusable software components packaged as "crates," a term borrowed from the Rust ecosystem and adapted for Ada and SPARK. The competition aims to highlight the practical utility and robustness of Ada and SPARK in diverse domains while encouraging developers to contribute valuable resources to the broader ecosystem.
This year's competition saw a diverse array of submissions demonstrating the versatility and power of these languages. After a meticulous evaluation process undertaken by a panel of expert judges, two outstanding crates emerged victorious. The first winner, "libkeccak," developed by Fabien Chouteau, provides a highly optimized implementation of the Keccak cryptographic hash function family. This library is significant for its performance characteristics, which are crucial for security-sensitive applications, and for its adherence to rigorous software engineering principles. Its selection underscores the suitability of Ada and SPARK for developing robust and efficient cryptographic primitives.
The second winning crate, "GtkAda_QueryBuilder," crafted by Yannick Moy, addresses the practical needs of developers working with databases within the context of the GtkAda GUI framework. This crate streamlines the process of constructing complex database queries, simplifying a task that can often be tedious and error-prone. By offering a user-friendly interface for building queries, this crate significantly enhances developer productivity and contributes to the creation of more robust and reliable database-driven applications. The judges recognized the practical value of this contribution for Ada and SPARK developers working on real-world projects.
The announcement highlights not just the winning crates but also acknowledges the broader context of growth and development within the Ada and SPARK ecosystem. It emphasizes the increasing adoption of these languages for critical systems and the ongoing efforts to foster a thriving community of developers. The "Crate of the Year" competition serves as a testament to the ongoing vitality and innovation within the Ada and SPARK communities, showcasing their commitment to producing high-quality, reusable software components for a wide range of applications. By celebrating these achievements, AdaCore encourages further development and contributions to the ecosystem, fostering a virtuous cycle of innovation and growth within the Ada and SPARK programming world.
Summary of Comments ( 1 )
https://news.ycombinator.com/item?id=42993086
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.
The Hacker News post "Ada crate of the year 2024 announced" (linking to the Adacore blog post about the winners) has a modest number of comments, mostly focusing on the niche nature of Ada and Spark, and some of their perceived advantages and disadvantages.
One commenter highlights the apparent contradiction in terms of "Ada crate," pointing out that "crate" is Rust terminology and suggesting "package" or "library" would be more appropriate in the Ada context. This spurred a short thread discussing how the term "crate" might be a deliberate attempt to make Ada/Spark seem more modern and appealing to a wider audience, acknowledging the possibility of it backfiring due to appearing forced or unfamiliar to those already within the Ada community.
Another commenter expresses surprise at Ada still being used and wonders about its current applications. This led to a discussion about its continued prevalence in safety-critical systems, particularly in aerospace and defense, where its strong typing and formal verification capabilities (especially with Spark) are highly valued. Specific examples, like its use in the Boeing 787 and Airbus A350 flight control systems, were mentioned to illustrate this point. A related comment acknowledged the language's robustness and reliability, but also pointed out the perceived steep learning curve as a potential barrier to wider adoption.
There's a short exchange about the challenges of recruiting Ada developers, with one commenter suggesting that the limited pool of skilled programmers might be a contributing factor to higher development costs. Another comment countered this by arguing that the initial investment in training and development can be offset by the reduced need for debugging and maintenance down the line due to the language's focus on correctness.
Finally, there's a comment mentioning the availability of open-source Ada tools and libraries, suggesting that the ecosystem is not as limited as some might assume. This comment also links to the Alire package manager, presented as a way to simplify the process of building and managing Ada projects.
In summary, the comments section explores themes surrounding Ada and Spark's niche status, its strengths in safety-critical systems, the challenges associated with its learning curve and developer pool, and the existence of resources for those interested in learning more. The overall tone is generally respectful and informative, with commenters offering different perspectives on the language and its ecosystem.