> Its first use case is for the Diem blockchain...<p>Where is this 'Diem' blockchain? I can't find this anywhere or use it at all, so this essentially means that there is no use case for this language.<p>The amount of time we are wasting on blockchains can be directed toward other meaningful endeavours such as climate change, privacy friendly tech and technologies that push humanity forward.<p>This however is a spawn of a failed project that isn't even used in any production capacity and is a complete failure.
I've said on a few forums that when I first basically just <i>glanced</i> at Solidity, the language for Ethereum, just scanning through the spec, I found a good 4 or 5 things instantly wrong with it for such an important use case, some of which have gone on to be the root cause of serious hacks. I've only scanned over this, but this is a lot closer to something I'd expect for contracts.<p>As a simple for instance, integer overflow aborts. You can quibble with whether that's exactly what it should do (especially since it seems aborts can't be recovered, which means a contract that starts aborting is basically dead?), but in a blockchain contract what it <i>definitely</i> shouldn't do is simply wrap around without any error or signal or <i>something</i> that says "hey, this is pretty suspicious".<p>Not endorsing this, haven't studied it <i>that</i> deeply, but it at least passes the "does scanning over it reveal a ton of problems immediately?" test.
Diem was shut down, but a bunch of the same people are trying to keep the project alive as a separate company.<p><a href="https://aptos.dev/guides/move" rel="nofollow">https://aptos.dev/guides/move</a>
I thought this article was gonna be a joke, seeing how the mov instruction in x86 is Turing complete: <a href="https://www.youtube.com/watch?v=R7EEoWg6Ekk" rel="nofollow">https://www.youtube.com/watch?v=R7EEoWg6Ekk</a>
> Welcome to Move, a next generation language for secure, sandboxed, and formally verified programming.<p>I didn't see anything about formal verification in the rest of the documentation. Does it have dependent types? Does it have a model checker? Does it have anything that would allow me to verify mathematical properties of my code?
Minor nitpick, but give this is a FB project where they should have hired <i>very smart</i> thinkers at the intersection of economics and CS:<p>> Move makes resources a first class primitive in the language, and enforces many invariants useful for scarce values<p>The key attribute of Cryptocurrency token (and money, in general) isn't that they are <i>scarce</i>, they are <i>rivalrous</i>. Arbitrary groups of people can't "use" them at the same time.
Anyone else think this was just gonna be a through back to <a href="https://github.com/rsms/move" rel="nofollow">https://github.com/rsms/move</a>?<p>Coming to find out it's just some crypto drivel was a huge let down.