

Ponyc
Pony is an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language.
Cost / License
- Free
- Open Source
Application type
Platforms
- Mac
- Windows
- Linux
- Online
- Android
- Linux Mint
- Ubuntu
- FreeBSD
- Alpine Linux
Features
Properties
- Lightweight
Features
- Command line interface
- Object-oriented Language
Tags
- ponylang
- actor-model
- pony-language
- ponyc
- pony-source
- development
Ponyc News & Activities
Recent activities
POX added Ponyc as alternative to Unison Programming Language- POX added Ponyc as alternative to Gleam Language
Ponyc information
What is Ponyc?
Pony is an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language.
Prebuilt Pony binaries are available on a number of platforms. They are built using a very generic CPU instruction set and as such, will not provide maximum performance. If you need to get the best performance possible from your Pony program, we strongly recommend building from source.
There’s a wide swath of tooling that some people have come to expect that isn’t currently available for Pony. We don’t have an IDE. You can use standard debuggers like GDB or LLDB but the experience still has some rough edges. If you are comfortable working with a basic text editor and using LLDB, VTune and other tools, you’ll probably be ok. Just don’t expect a full, robust ecosystem. We aren’t there yet.
If your project isn’t going to get a great deal of benefit from any of Pony’s strengths, then you shouldn’t use Pony. If you are writing a single threaded application without any overriding performance concerns, and you need access to a large community and wealth of libraries then you’re much better off selecting another language. However, we hope that you see enough potential in Pony to start playing around with it even if it isn’t right for your current project.
There’s plenty to love about Pony, but more than anything else, what we love most is that Pony makes it easy to write fast, safe, efficient, highly concurrent programs. How? The Pony type system introduces a novel concept: “reference capabilities”. Reference capabilities allow you to label different bits of data based on how that data can be shared. The Pony compiler will then verify that you are in fact correctly using the data based on the labels you provide.
Prebuilt Pony installations will use clang as the default C compiler and clang++ as the default C++ compiler. If you prefer to use different compilers, such as gcc and g++, these defaults can be overridden by setting the $CC and $CXX environment variables to your compiler of choice.


