
Motoko: A programming language for building directly on the internet - davnicwil
https://stackoverflow.blog/2020/08/24/motoko-the-language-that-turns-the-web-into-a-computer/?cb=1
======
hardwaregeek
It's a little lame having a new language post without any examples. I'm also
skeptical that a new language is worthwhile. If I were assessing a new tech
stack, I'm not sure I'd be fine with a new platform and a new language at the
same time. That's too much unproven territory. If the platform turns out to be
a bust, I'd have a bunch of code in Motoko that I'd have to deal with.

------
choeger
The type system description is exactly one paragraph with a lot of strong
claims:

> Motoko has been designed to be intuitive to those familiar with Javascript
> and other popular languages, but offers modern features such as sound
> structural types, generics, variant types, and checked pattern matching.

(There are also some more paragraphs that broadly describe what a type system
is, which is not a bad idea to have, but does not tell you anything about the
actual type system). I did not find anything about the dynamic semantics of
the language. Guys, when you design a programming language, _the most
important things_ are type system and dynamic semantics.

If you do not publish the gory details, it makes you look like amateurs. If
you think you can easily hack a type system with all the features you like,
you are wrong. If you think you can rule out undefined behavior without a very
detailed understanding of both, you are wrong. And finally, if you think you
need to reinvent this stuff to get your whole "computation in the internet"
system going, you are wrong, too. You can just as easily extend an existing
language like Rust, ML, Haskell, or Java to deliver the same benefits.

To be completely honest, this looks like you got a compiler-construction phd
student in your team that told you what a type system looks like and now wants
to do their own implementation. This is ok, but please tell them to publish a
more detailed spec or you might end up with something utterly broken.

~~~
lindig
You might want to check the publication record of the author, Andreas
Rossberg:
[https://dblp.org/pid/90/3425.html](https://dblp.org/pid/90/3425.html)

~~~
choeger
Intriguing. Thanks for the hint. Now I wonder even more about the lack of
detail.

------
mkl
Big discussion from 4 days ago:
[https://news.ycombinator.com/item?id=24262448](https://news.ycombinator.com/item?id=24262448)

A few other instances recently and 10 months ago:
[https://hn.algolia.com/?q=motoko](https://hn.algolia.com/?q=motoko)

------
threatofrain
[https://news.ycombinator.com/item?id=24262448](https://news.ycombinator.com/item?id=24262448)

------
setzer22
Worth mentioning that, apparently, this is the programming language that will
power DFINITY, an ethereum-like network for distributed computing.

------
anhner
does this really need to be reposted every day? [1]

[1]
[https://hn.algolia.com/?dateRange=pastWeek&page=0&prefix=fal...](https://hn.algolia.com/?dateRange=pastWeek&page=0&prefix=false&query=motoko&sort=byPopularity&type=story)

------
nudpiedo
ok, nice claims... but where is the language page/framework/api documentation
or demos?

Perhaps this one here?
[https://sdk.dfinity.org/docs/index.html](https://sdk.dfinity.org/docs/index.html)

