Live data from Hacker News

Pony – High-Performance Safe Actor Programming

ponylang.io

51–60 of 159 posts

Re: Pony – High-Performance Safe Actor Programming

#51

I've only done hobby stuff with pony, but love the idea of it, and would love an opportunity to use it in production. I've found the community welcoming and helpful in my limited interactions. The standard library code is pretty easy to read, which somewhat mitigates the dearth of tutorials, howtos on the internet. The reference capability stuff can be a bit hard to wrap your mind around, but mostly in a good way, an…

> If you come from an OO or procedural background, there will be a sharp learning curve. Isn't Pony object oriented?

It's in our tag line. But what OO means varies from person to person. There's no set definition of it.

Pony features classes and actors are like classes that can receive asynchronous messages.

However, unlike some OO, there's no inheritance. Unlike a lot of other OO there's a heavy emphasis on asynchronous messaging.

I wouldn't use "OO background" as an indicator of what might make Pony harder to learn. I think the key parts are experience with rigorous type systems and experience with concurrency. Without a background in those, your path to learning Pony will be harder than the path for someone who is already familiar with them.

Re: Pony – High-Performance Safe Actor Programming

#54
First Erlang/Elixir, then Ruby 3, now Python. It's great that people are picking up the good idea once again.

Most of the time the Promise/Future or async/await add mental overhead to code just for the sake of performance (because the monadic operations are only for sequential operations, it only make sense for applicative/parallel operations to use async/await if we don't care about performance). And with the Actor model, you don't need to use Promise or async 9 out of 10 times as you would in most languages without sacrifice performance.

Re: Pony – High-Performance Safe Actor Programming

#55
post #16

it's really frustrating seeing these programming languages websites where you have to click in a million place before you can even see what the code looks like

Do you have some examples of programming language websites you do like?

I really like Crystal's website [0]. It lets the code to the talking and has nice big buttons for "Install", "Learn", and "Try Online".

0: https://crystal-lang.org/

Re: Pony – High-Performance Safe Actor Programming

#56
post #45

As a regular Pony user, and coding seriously in it for a few months, this is what I think; I rather fight the Reference Capabilities (easily the hardest aspect of Pony and probably the number one reason people give up) than to spend endless amount of time CHASING concurrency problems, or even worse, HOPING that I didn't forget some lock/mutex/whatever and ending up having data corruption. Pony is forcing me to do the…

This sounds a lot like someone learning Rust. Both languages solve similar problems with very different solutions that come with complexity overhead.

Pony and Rusts' solutions to the concurrency problem are almost identical - forbid shared mutability through the type system. In what way are they very different?

Re: Pony – High-Performance Safe Actor Programming

#57

Earlier quoted context omitted.

This sounds a lot like someone learning Rust. Both languages solve similar problems with very different solutions that come with complexity overhead.

Pony and Rusts' solutions to the concurrency problem are almost identical - forbid shared mutability through the type system. In what way are they very different?

I am not an expert in Rust's mechanics and only looked at it superficially, but I got the impression that shared references can't be guaranteed (to not exist in mutable ways) all the way through an object graph. I am not surprised if I am wrong about that. It wasn't the main deciding factor for me...

My primary factor was "Actor Model" and I was struggling with Erlang's lack of static types, so that put Pony in the focus. An Actor Model framework on top (I recalled there was one for Rust) had given me "questionable" results with Akka (due to compromises/constraints in the JVM and Java/Scala).

HTH

Re: Pony – High-Performance Safe Actor Programming

#58
I just spent 5 min going through the website reading about pony and its goals and use cases.

I still have no idea what actual Pony code looks like and I'm not sure where to click to find it.

I even clicked the link "learning pony." Of all the places to see at least a hello world, I'd like one there please.

When I am checking out a language for the first time, I like to at least see a sample of what I'll be committing to writing for the next few months.

go lang as a sample you can run on the home page! rust used to but you can still press playground to get it.

Re: Pony – High-Performance Safe Actor Programming

#59
post #57

Earlier quoted context omitted.

Pony and Rusts' solutions to the concurrency problem are almost identical - forbid shared mutability through the type system. In what way are they very different?

I am not an expert in Rust's mechanics and only looked at it superficially, but I got the impression that shared references can't be guaranteed (to not exist in mutable ways) all the way through an object graph. I am not surprised if I am wrong about that. It wasn't the main deciding factor for me... My primary factor was "Actor Model" and I was struggling with Erlang's lack of static types, so that put Pony in the f…

There are a couple of Rust actor frameworks, the most popular being actix [0] and bastion [1]

0: https://github.com/actix/actix 2: https://bastion.rs/

Post reply on HN