Skip to content


This chapter will get you up and running with Pony from installing the compiler to running your first program.

As you work your way through this tutorial, you’ll likely come across a lot of concepts that are familiar to you from any prior programming languages that you’ve had experience with. You’ll likely want to skim and skip around through these areas, and that’s totally fine.

However, if you’ve never used Pony before, we guarantee that you’ll come across concepts that are new to you, which will require close and careful attention if you want to learn and apply them: reference capabilities. These are the core innovation in Pony that make it a unique and compelling offering in the wide world of modern programming languages.

In this tutorial we start off with familiar basics, and try our best to avoid reference capabilities in the code examples until later on when they can be covered in detail. You should feel free to follow along with the code examples in your own text editor - we absolutely encourage it. Just be aware that as you venture off the beaten path of the curated tutorial, you’ll likely run into reference capabilities, and you’ll need to thoroughly read and understand the basics of those concepts before you’ll really feel fluent and able to work with the compiler as it tries to help you prove the safety of your program.

Stick with us and read on, even if you need to read through something a few times. Know that the community is here to help as you climb the learning curve and main new concepts that will change the way you think about concurrency.