8 ms·
Microsoft Project Verona: Research programming language for concurrent ownership
- manaskarekar 7y agoRecent discussion: https://news.ycombinator.com/item?id=21682867 https://news.ycombinator.com/item?id=21682867
- youdontknowtho 7y agoThe read through of docs in their repo is interesting. They mention Pony several times as an inspiration because of it's type system's concurrency primitives. Rust and Cyclone are also mentioned. I've recently gotten over my dislike for Rust evangelism and started learning it. It's just too good of an idea to let internet BS and my propensity to hold a grudge stop me from learning. It's interesting that building a self-hosting environment is a stated non-goal. Sounds like they are really focused on research and not building a production toolchain, but who knows? I'm really interested in seeing where it goes. Not really my area but I'll probably spend a couple of nights playing around with it.
- seanmcdirmid 7y agoThe project is being done by MSR in cooperation with Imperial College (where Pony came from), and one of the Pony author’s works at MSR now, so I’m guessing this is by many of the people who worked on Pony.
- spooneybarger 7y agoYou would be correct that many people associated with Pony have done work on Verona.
- adamnemecek 7y agoWhat rust bs is there?
- youdontknowtho 7y agoIt was internet BS, not rust BS. Sorry if I wasn't clear. Cheers.
- plietar 7y ago(I work on Verona, originally as an intern at MSR, now as a PhD) > It's interesting that building a self-hosting environment is a stated non-goal. Sounds like they are really focused on research and not building a production toolchain, but who knows? The point isn't that the language will never be "production-ready" enough for it. It's that the language is intentionally limited in what kind of low-level hacks and concurrent mutation you can do, in order to remain safe. Writing this kind of code correctly is hard, and designing a language that exposes the full expressiveness in a sound and practical way is near impossible (at least given today's state of the art research). The Verona runtime is therefore implemented in C++, which does have these capabilities. In some future it would nicer to formally verify the runtime for correctness, but that's a lot of work.
- thesuperbigfrog 7y agoReading through the GitHub repo, I see Rust, Cyclone, and Pony as idea sources, but I was surprised to not see Ada (https://en.wikipedia.org/wiki/Ada_(programming_language) https://en.wikipedia.org/wiki/Ada_(programming_language)) or SPARK (https://en.wikipedia.org/wiki/SPARK_(programming_language) https://en.wikipedia.org/wiki/SPARK_(programming_language)). Both Ada and SPARK are mature, production-ready languages that have strong safety guarantees and concurrency built-in. SPARK in particular might be worth looking at for another idea source depending on Project Verona's goals and needs.
- youdontknowtho 7y agoWow! Thanks for replying. That's a really good point. I'm looking forward to trying it. Cheers.
- IshKebab 7y agoSo it doesn't have any kind of `unsafe` escape hatch like Rust?
- tracker1 7y agoHopefully some of this research bears fruit and potentially makes its' way into Rust proper. I haven't used it as much as I would like, but find it conceptually interesting to say the least. I have spent some time reading a few rust projects, and a lot of that code is in a way very beautiful to look at. Actually trying to think in those concepts much more difficult. I've gotten used to life without guard rails in JS, even though I tend to favor more modular code.
- ryuukk_ 7y agorust has no future, its syntax is way to noisy and daunting, they made opinionated, sect-ic choices; rust reminds me of scala, wich is not a good thing
- anarazel 7y agoI got confused for a second, thinking of https://en.wikipedia.org/wiki/Venona_project https://en.wikipedia.org/wiki/Venona_project
- icandoit 7y agoIt's nice to see Microsoft embracing Rust. I'm sure crustaceans would love to see if they can extend it's reach through their product range.
- mips_avatar 7y agoThe lead researcher for microsoft security published their conference presentation on this project. It's really interesting seeing how they are locking down memory to avoid memory related security issues (free after free, buffer overflow, etc.) This is particularly exciting because as they referenced in the video 70% of security fixes on windows are memory related. Link to video: https://vimeo.com/376180843 https://vimeo.com/376180843
- vxNsr 7y ago>Building on Windows You will need to install Visual Studio 2019 and cmake. To build and run tests, you will need Python 3. Open source: Now needs closed source to run at all.
- blackflame 7y agoIn C++ I use concurrent ownership all the time. It's fast as hell and 60% of the time it works every time. /s