Live data from Hacker News

Pony: An actor-model, capabilities-secure, high-performance programming language

ponylang.io

111–120 of 284 posts

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#111

> Deadlock-Free: This one is easy because Pony has no locks at all! So they definitely don’t deadlock, because they don’t exist! This really annoys me every time I read Pony description. What does deadlock free even mean here? Deadlock-free is typically the property of an algorithm, not a language. Does pony guarantees forward progress in all cases? Does it means that if I tried to implement a python interpreter in P…

> Does it means that if I tried to implement a python interpreter in Pony it will statically reject the implementation? How could that be true? You'd be emulating the language particularities, so deadlocks would be just virtual states. Your interpreter itself being free of deadlocks doesn't mean it cannot represent them. It's like thinking that you cannot write e.g. console emulators in Rust, because people typically…

Well, yes, that's my point. So what does it means that Pony is deadlock-free?

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#112

Earlier quoted context omitted.

> Does it means that if I tried to implement a python interpreter in Pony it will statically reject the implementation? How could that be true? You'd be emulating the language particularities, so deadlocks would be just virtual states. Your interpreter itself being free of deadlocks doesn't mean it cannot represent them. It's like thinking that you cannot write e.g. console emulators in Rust, because people typically…

Well, yes, that's my point. So what does it means that Pony is deadlock-free?

That the logic you implement directly in Pony is deadlock-free. If you implement something that can represent arbitrary logic / represents deadlocks, then you get deadlocks again. This extends to every constraint-like language feature ever in any language.

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#113

Earlier quoted context omitted.

[flagged]

> Most people visiting such websites are programmers who are more often than not busy as all hell. Apparently not too busy to visit HN and post shallow dismissals. I agree with GP. Not everything is for everyone and expecting every project to cater to your very specific needs is rather entitled. If you're not interested, feel free to move on - I do that all the time for most of the content on here.

> Apparently not too busy to visit HN and post shallow dismissals.

Indeed, as you have just excellently demonstrated. I did not dismiss anything, I generalized, which I believe we're all aware is never accurate. Thought that much was obvious and did not warrant a response like yours.

> If you're not interested, feel free to move on

Exactly what I did, and then I and a few others explained why. No idea why that was met with emotional responses that classify mine and others as "shitty behaviour".

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#114

Earlier quoted context omitted.

Well, yes, that's my point. So what does it means that Pony is deadlock-free?

That the logic you implement directly in Pony is deadlock-free. If you implement something that can represent arbitrary logic / represents deadlocks, then you get deadlocks again. This extends to every constraint-like language feature ever in any language.

Ok, partially evaluate the interpreter against a python always-deadlocking program. Now it no longer implement arbitrary logic, but it is a very specific program. Yet it deadlocks.

So what does it means that Pony is deadlock free if it can implement deadlocking programs?

A better, more rigorous claim would be that the pony runtime is deadlock free or that there are no primitive blocking operations.

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#115

Earlier quoted context omitted.

Notable the Microsoft has not one but two actor model "frameworks": Orleans (for .NET) and Dapr Actors (for containerized workloads).

The .NET ecosystem itself has another mature actor-based framework in Akka.NET, being probably closest to the Erlang/Elixir supervisor style, in C#/F#.

Highly recommend Akka(.NET). Batteries included framework that scales really well.

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#116

I wish these language websites would put an example of some code right there on the homepage so I can see what the language "feels" like. I finally found some code in the tutorials https://tutorial.ponylang.io/getting-started/hello-world

I also (usually) go looking right away to see if the syntax makes me feel warm and fuzzy. I’m so shallow.

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#119

I'm going to join the choir saying that languages need a concise description of what makes them special easily accessible — but while syntax is important, with a language like Pony (where the cool stuff is in the semantics), the cool semantics should be upfront. It seems, from some skimming of the first like 10 pages of the guide, that Pony is an object-oriented language with actors, and a built-in concept of mutabil…

I agree with you, but also, it is legitimately hard to explain concisely the unique aspects of Pony's semantics. My short attempt at it from a couple years ago: https://news.ycombinator.com/item?id=33980738

Re: Pony: An actor-model, capabilities-secure, high-performance programming language

#120

Earlier quoted context omitted.

They should probably put more than three lines of code in there?

The rust and golang versions are exactly the same. Printing hello world is the default of the industry for this sort of thing.

The Go playground actually has a dropdown menu with 15 examples, of which "Hello World" is merely the first; together they do a decent job of demonstrating the language's core features.

The Rust playground defaults to "Hello World" but that's just because there has to be something there, it's not on the home page of the website or anything (though it used to be).

Post reply on HN