-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 7
Slide 7 text
Why Pony?
Slide 8
Slide 8 text
Why Pony?
Highly concurrent
Predictable latency demands
Data Safety
“Batteries” not required
Slide 9
Slide 9 text
Highly Concurrent
Slide 10
Slide 10 text
Highly Concurrent
Actor model
Async messaging
Work stealing scheduler
Mechanical sympathy
Slide 11
Slide 11 text
Predictable latencies
Slide 12
Slide 12 text
Predictable Latencies
No “stop the world” GC
Per-actor heaps
Better clustering
Slide 13
Slide 13 text
Data Safety
Slide 14
Slide 14 text
Data Safety
Reference Capabilities
Slide 15
Slide 15 text
Batteries not required
Slide 16
Slide 16 text
Batteries not required
Small Standard Library
C-FFI
Slide 17
Slide 17 text
Results
Slide 18
Slide 18 text
Results
18 month jumpstart for “free”
Excellent performance
More confident refactoring
Some pain
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 23
Slide 23 text
“Fintech” Questions
Slide 24
Slide 24 text
“Fintech” Questions
How do I shard my data?
How do I do priority queues?
How do I only process the most
recent messages?
Slide 25
Slide 25 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 for
fintech in production now
Slide 26
Slide 26 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 27
Slide 27 text
@seantallen
www.monkeysnatchbanana.com
@SendenceEng
www.sendence.com
@ponylang
www.ponylang.org
#ponylang on freenode