Project Verona seems to be an attempt by Microsoft to build a new language with Rust-like features. What isn’t clear is how serious this is? Are we looking at a potential Rust#?
Rust is currently the most innovative and different of the mainstream languages. It isn’t a Java or C++ clone, or C “done right”. It really is an example of a production language being based on an experimental language, Cyclone, and it brings some really new features with it. Everyone might want to talk about Go, but by comparison Go is a 20th century language while Rust is a 21st century language.
Microsoft has expressed an interest in using Rust, but it now seems that something new is required. A talk by Microsoft Research reveals Project Verona which promises a language that has many of the features of Rust.
This is a research project and so perhaps we might not ever see this new language progress very far, but notice that the list of people involved includes Mads Torgersen – the C# program manager. This could mean that this is more than a research project already, but it could also be Dr Torgersen getting involved in some research as light relief from the business of C#.
So far the progress isn’t much, but then I don’t think they have been working on it for very long – a finished product is a way off.
Verona uses the idea of ownership to make the language more robust against memory errors. Unlike Rust, however, it makes use of ownership of groups of objects. It looks like being an interesting language and you can find out more of the detail and intentions from the video:
An interesting language, yes – but do we need another language? Given the number of experimental languages that are given some attention and then die I doubt this has much chance of surviving unless it becomes an official Microsoft language – Rust#, say. Even then it means that we would have to choose between Rust and Rust#. So much better for Microsoft to join in with Rust and see if the language can be progressed in ways that suit its purposes. It might be that, after learning something from Verona, Rust can be improved in the same way. Microsoft needs a safer systems programming language to keep Windows and its other big projects in check.
My honest opinion is that Verona is not intended to be a replacement for Rust and, while it is inspired by Rust and meets the same needs this, is by no means an example of the “embrace, extend and extinguish” mentality of the old Microsoft.