Pony is a ground up actor programming language and like Rust can compile time prove a program to be data race free, dead locks (no such thing as locks), and no memory violations (buffer overruns, no null pointer errors as has no null concept).
It is GC memory managed but has no stop the world pauses, writer barriers, or any of the other problems introduced by typical GC.
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
"It is GC memory managed but has no stop the world pauses, write barriers, or any of the other problems introduced by typical GC." That sounds too good to be true. There must be something else to compensate, such as mutexed reference counts. Where are details of the algorithm recorded?
From my brief look, the main loss in Pony is that you can't block. That is, you can't call a function that does any network IO, reads a file, talks to a network server, etc without using some kind of callback to acquire the results.
In this respect it's quite like other current languages where blocking is considered anathema, such as Javascript.
Personally I very much like being able to hide intricate external interactions behind simple function calls, but of course this does allow deadlock.
ISTM that Pony is another "bi-coloured" language ( http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/ ). I started off quite interested but this rather turned me off it.
It's also a very big language and there's no spec.
--
Even Modern C++11(14,17) requires a new cognitive approach due to need to learn move semantics and all the implications of that. I'd say is about a similar two hurdle there too if one is working in code during the learning process.
Rust, Pony, and future C++ (2020?) are (or are heading toward) compile time correct languages.
"It is GC memory managed but has no stop the world pauses, write barriers, or any of the other problems introduced by typical GC." That sounds too good to be true. There must be something else to compensate, such as mutexed reference counts. Where are details of the algorithm recorded?-rob
Also, they guarantee deadlock-freedom by using channels with unbounded buffers...