Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why Pony?

Why Pony?

Pony is a new language designed to make fast, concurrent programing simple. Its actor-based concurrency and advanced type system ensure programs are data race and deadlock free. We'll compare Pony to more mature technologies, starting with when you shouldn't use it, when you should, and what your alternatives might be. You'll learn about Pony's design philosophy, how the actors simplify writing safe code and more. You'll leave understanding what Pony is and if it's something you might use.

Sean T Allen

July 08, 2017

More Decks by Sean T Allen

Other Decks in Technology


  1. Why Pony? Bleeding edge technology for your concurrency woes

  2. Sean T Allen Author of Storm Applied Member of the

    Pony core team VP of Engineering at Sendence
  3. Pony Open-source, object-oriented, actor-model, capabilities- secure, high-performance programming language

  4. -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.”
  5. Why Pony?

  6. Why Pony? Highly Concurrent Predictable latencies Data Safety

  7. Highly Concurrent

  8. Highly Concurrent Actor model Async messaging Work stealing scheduler Mechanical

  9. Predictable latencies

  10. Predictable Latencies No “stop the world” GC Per-actor heaps Better

  11. Data Safety

  12. Data Safety Reference Capabilities

  13. Why Not Pony?

  14. Why Not Pony? Concurrency isn’t your problem Lack of API

    Stability “Batteries Not Included” Limited Native Tooling
  15. Is Pony right for you?

  16. 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…
  17. 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
  18. 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

  19. @seantallen www.monkeysnatchbanana.com @SendenceEng www.sendence.com @ponylang www.ponylang.org #ponylang on freenode