Earlier quoted context omitted.
I just clicked the first reply button in a hurry when I saw the Pony thread. It's hard to turn off the conference promoter mode. :-) My apologies.
Moved to toplevel now :)
Pony: An actor-model, capabilities-secure, high-performance programming language
241–250 of 284 posts
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#242Request to HN mods: that the link be changed from https://www.ponylang.io/discover/ to https://www.ponylang.io/ On the second link, as another commenter mentions, the "Try it in your browser" is one click away, near the top. On the first link, it's two clicks away, but the first of those clicks is a perhaps surprising backwards-lick to get back to the homepage... Unfortunately, many of the diehard language enthusiast…
> Instead of being able to immediately see the syntax so they can rush back here to make insightful and educated comments on how that syntax compares to $their_fave_lang, they are forced to spend up to 4 or even 5 minutes reading documents clearly describing the design of the language, and being obliged to click on their mouses up to 10 times even in some cases. Welcome to interface design! Your way of thinking could…
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#243Earlier quoted context omitted.
If the syntax is not important, that would mean coding in whitespace or malboge would be as easy as coding in python
The GP is factually wrong. There's plenty of empirical evidence to indicate that language influences thought, and that syntax is therefore important. Although, I would point out that while your argument ad absurdum is generally reasonable (the fact that syntax can make the difference between a very good language and an unusable one), whitespace and malbolge also have terrible semantics that contribute to them being u…
Are you talking about natural languages here? The so called Sapir Whorf thesis - in its strong or weak form - is rather controversial. There are some interesting findings, but the interpretation of them is still hotly debated.
In any case, none of the studies that I've seen (e.g. about colour perception, spatial reasoning, etc.) seem to be about syntax. I'd have to see some evidence that head-marking language speaker somehow think differently than dependent-marking language speakers and I haven't seen that.
> your argument ad absurdum is generally reasonable
it's a valid argument when somebody is speaking in absolutes, but I haven't seen GGP do that. There's a difference between saying "all syntax is completely arbitrary" and "syntax is not the point" - the latter suggests to me that if you stay within certain reasonable bounds (e.g. not be whitespace or malbolge), whether you use significant whitespace of braces, the language looks more like Pascal or like C, etc. are of minor importance in the grand scheme of things. Which is something you may disagree with, but it's a much more reasonable point that anything you can just counter with "but whitspace!".
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#244This is probably my favorite programming language I would like to use if it had more backing. Their reference capabilities in particular seem like a very good match for the actor model. Alas, it does not appear to have a large corporation behind it pushing it forward, nor a compelling niche use case (e.g. it is still GC'd).
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#245> 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…
Pony guarantees deadlock freedom by eliminating locks and other mechanisms that can lead to deadlocks. Instead, Pony uses a message-passing concurrency model and static analysis to prevent data races and deadlocks at compile time. This means developers don't need to worry about manually preventing deadlocks because the compiler handles it. The scheduler is lock-free, the order of message-delivery to all actors is guaranteed.
Here's a more detailed explanation:
Message-Passing:
Pony employs a message-passing model where actors (objects) communicate by sending messages to each other. This avoids the need for shared mutable state and locks, which are primary sources of deadlocks.
Static Analysis:
The Pony compiler performs static analysis to ensure that concurrent access to data is safe. It prevents data races and other concurrency issues that could lead to deadlocks by verifying that no two actors can simultaneously write to the same memory location.
No Locks:
Because Pony doesn't use locks, there's no possibility of threads getting stuck waiting for each other to release locks, which is a common cause of deadlocks.
Data Race Freedom:
By eliminating the possibility of data races (concurrent modification of shared mutable state), Pony also eliminates a major source of potential deadlocks.
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#246Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#247> 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…
Of course it cannot guarantee forward progress in all cases, because that would be NP. Pony guarantees deadlock freedom by eliminating locks and other mechanisms that can lead to deadlocks. Instead, Pony uses a message-passing concurrency model and static analysis to prevent data races and deadlocks at compile time. This means developers don't need to worry about manually preventing deadlocks because the compiler han…
edit: and to be clear, I'm quite interested in Pony, static typing, shared nothing threading with message passing, capabilities, per thread GC is very close to my ideal programming language. But the bogus deadlock-freedom claim make me question the other claims.
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#248Earlier quoted context omitted.
I appreciate your good intentions re the site guidelines! But I'm afraid you've been breaking them multiple times in this thread by being much too aggressive with other users. This post is one example, and here are two others: https://news.ycombinator.com/item?id=44728708 https://news.ycombinator.com/item?id=44722043 It's laudable to want work like Pony to get discussed in terms of the most interesting things about i…
All I see is that I've been personally attacked and mischaracterized. If I could downvote such comments I would do that rather than respond. Calling my response here aggressive or an attack is simply not factual, it is hypervigilance against me. Where is your criticism of "Good faith argumentation, or really argumentation in general, went out the window when you started treating whether syntax matters (for this langu…
I think there is a fundamental gap in communication. Your actual point is not coming across at all, anywhere in this thread.
That's why you're getting downvoted.
"For Pony in particular, the syntax is not important ... it's simply not the point of the language."
You said that in direct response to someone who was wanting to see the syntax. While I do appreciate that it's not strictly speaking necessary in the context of your reply, it doesn't communicate at all why syntax isn't important to the pony language. You're just making a definitive statement unsupported by anything. Context or even a brief explanation would have been extremely helpful and almost certainly avoided all of this fuss. Your response, given without any context as to why syntax isn't important for pony, was actually harmful, rather than useful.
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#249Earlier quoted context omitted.
The way it handles imports is weird. Default to importing everything from the module without qualification? I know you can choose to qualify everything, but that seems to go against the language's conventions.
Using fully qualified imports is a Python tradition. Python doesn't have a notion of public/private symbols (no, "__" prefix does absolutely nothing). It also doesn't have a good type system, so it can't have function overloading. This is why you're required to qualify almost all imports in Python, to avoid name clashes. Nim doesn't have this problem and also "fixes" a lot of other shortcomings[1] of Python.[2] [1] -…
When you're reading Nim code and you see a symbol you don't know, how can you tell where it comes from? In Rust, it's either qualified or you have to explicitly import it. What do you do in Nim?
Re: Pony: An actor-model, capabilities-secure, high-performance programming language
#250Earlier quoted context omitted.
The way it handles imports is weird. Default to importing everything from the module without qualification? I know you can choose to qualify everything, but that seems to go against the language's conventions.
Nim's import rules are part of its generalization of OOP's obj.foo() syntax. That is, in Nim, you don't have to put "foo" in a specific class, just set the first parameter of "foo" to the type of "obj", and this only works if you don't have to qualify "foo" (similarly to OOP languages...)