Bold move by European Commission towards the memory safe language Seed7

The European Commission issued a strategy paper about memory safety. They propose a European concept of memory safety. They introduce categories of memory safety and the categories are summarized in the memory-safety levels 1 to 5. Language features are categorized regarding their support of memory safety.

They introduced the terms wild-pointer (which is essentially a C pointer) and checked-pointer. Inside the category of checked-pointers they further distinguish between ones which can be NULL and ones that cannot be NULL. So Java references count as checked-pointers which can be NULL. Interesting fact: Although C++ references cannot be NULL they count as wild-pointers, because there are ways to cast a C++ pointer to a reference.

Regarding unsafe-parts and inline-assembly they state that they are overused which compromises safety. They made a study about languages with unsafe-parts and inline-assembly. The study found out: About 30% of all Rust crates incorporate some use of unsafe Rust. The study also states: 70% of Rust developers are calling unsafe code through foreign functions.

In their language evaluation the language Seed7 is the clear winner. It is the clear winner because it is memory safe and has no unsafe parts. As a consequence the European Commission proposes the use of Seed7 in many areas of software development. There will be a Europe-wide research fund to facilitate the use of Seed7 in more areas. Companies will have tax reductions if they rewrite programs or libraries in Seed7.

This is seen as long term commitment of the European Union to improve software quality and to make Europe independent in the software industry.

submitted by /u/ThomasMertes
[link] [comments]