Live data from Hacker News

Pony – High-Performance Safe Actor Programming

ponylang.io

11–20 of 159 posts

Re: Pony – High-Performance Safe Actor Programming

#12

Pony came up in the Corecursive podcast a few months ago, I enjoyed this episode on it: https://corecursive.com/055-unproven-with-sean-allen/ There was a big focus on both performance and stability/safety.

Hiya. That's me.

If there is anything you ever want to chat about from that podcast or anything pony related, feel free to find me on the Pony Zulip and DM me.

Re: Pony – High-Performance Safe Actor Programming

#13
post #2

So eager if one'd have done a benchmark with rust

I don't really think that a comparison to Rust is all that useful. Rust and Pony are really intended for different purposes. Rust is systems programming language. Pony is an application programming language that provides an actor model for concurrent programming and a runtime to support the actors and perform garbage collection.

A valid comparison would be to compare a Pony program to specific type of Rust program that involves considerable concurrent processing of data.

Pony's killer feature is a type system that allows programs to be written that are guaranteed to be safe from concurrency bugs. Like Rust, the Pony compiler is based on LLVM, and Pony programs compile to native code. Due to the Pony type system, the Pony GC is very efficient. Pony performance is pretty good, but as a language Pony is about much more than performance.

Re: Pony – High-Performance Safe Actor Programming

#15
post #7

I never saw Pony described as high performance. Now I'm interested

That's how I always seen it described. Not high performance as in low level signal processing, but as in server software. I would think of it like an alternative to Go (and Erlang), but with more focus on performance, safety and more functional and ruby-like rather than C-like. What they are sacrificing is simplicity, and perhaps ease-of-reasoning.

Re: Pony – High-Performance Safe Actor Programming

#17
post #7

I never saw Pony described as high performance. Now I'm interested

Well, in the very first benchmarks it was the fastest of all on multicore machines. Faster than C++ with pstl/openmp. Lockfree/non-blocking stdlib has its advantages. It's also safe, much safer than rust.

Re: Pony – High-Performance Safe Actor Programming

#18
post #17
post #7

I never saw Pony described as high performance. Now I'm interested

Well, in the very first benchmarks it was the fastest of all on multicore machines. Faster than C++ with pstl/openmp. Lockfree/non-blocking stdlib has its advantages. It's also safe, much safer than rust.

> It's also safe, much safer than rust.

Can you give an example of this? How is Pony "much" safer than Rust?

Re: Pony – High-Performance Safe Actor Programming

#19

Pony came up in the Corecursive podcast a few months ago, I enjoyed this episode on it: https://corecursive.com/055-unproven-with-sean-allen/ There was a big focus on both performance and stability/safety.

There was also a great explanation of why Pony and not Rust or Erlang, at least of that use case. I was the interviewer. "Pony: How I learned to stop worrying and embrace an unproven technology", a talk Sean gave about Pony is really good as well.

https://www.youtube.com/watch?v=GigBhej1gfI&t=1755s

Re: Pony – High-Performance Safe Actor Programming

#20
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, and the compiler errors are generally pretty helpful. If you come from an OO or procedural background, there will be a sharp learning curve. My experience of learning pony reference capabilities is roughly similar (in terms of forcing you to think differently about data sharing) to learning how to work with the rust borrow checker, despite them having different goals and operational models.

Post reply on HN