Why Pony?
Bleeding edge technology for your concurrency woes
Slide 2
Slide 2 text
Sean T Allen
Author of Storm Applied
Member of the Pony core team
VP of Engineering at Sendence
Slide 3
Slide 3 text
Pony
Open-source, object-oriented,
actor-model, capabilities-
secure, high-performance
programming language
Slide 4
Slide 4 text
-Sylvan Clebsch
“
A programming language is just
another tool. It’s not about syntax.
It’s not about expressiveness. It’s
not about paradigms or models.
It’s about managing hard
problems.”
Slide 5
Slide 5 text
Why Pony?
Slide 6
Slide 6 text
Why Pony?
Highly Concurrent
Predictable latencies
Data Safety
Slide 7
Slide 7 text
Highly Concurrent
Slide 8
Slide 8 text
Highly Concurrent
Actor model
Async messaging
Work stealing scheduler
Mechanical sympathy
Slide 9
Slide 9 text
Predictable latencies
Slide 10
Slide 10 text
Predictable Latencies
No “stop the world” GC
Per-actor heaps
Better clustering
Slide 11
Slide 11 text
Data Safety
Slide 12
Slide 12 text
Data Safety
Reference Capabilities
Slide 13
Slide 13 text
Why Not Pony?
Slide 14
Slide 14 text
Why Not Pony?
Concurrency isn’t your problem
Lack of API Stability
“Batteries Not Included”
Limited Native Tooling
Slide 15
Slide 15 text
Is Pony right for you?
Slide 16
Slide 16 text
Is Pony right for you?
You have a hard concurrency
problem
You aren’t reliant on a lot of
existing libraries
You are willing to write “most
everything” from scratch
Yes, if…
Slide 17
Slide 17 text
Takeaways…
Pony has a powerful, data-race free,
concurrency-aware type system
The Pony runtime can help you solve
hard concurrency problems
You might be able to use Pony
in production now
Slide 18
Slide 18 text
Trash Day paper:
https://www.usenix.org/system/files/conference/hotos15/
hotos15-paper-maas.pdf
ORCA paper:
https://www.ponylang.org/media/papers/OGC.pdf
Slide 19
Slide 19 text
@seantallen
www.monkeysnatchbanana.com
@SendenceEng
www.sendence.com
@ponylang
www.ponylang.org
#ponylang on freenode