What You Need
To get started, you'll need a text editor and the ponyc compiler. Or if you are on a not supported platform or don't want to install the compiler you can use the Pony's Playground
The Pony compiler
Before you get started, please check out the installation instructions for the Pony compiler.
A text editor
While you can write code using any editor, it's nice to use one with some support for the language. Here are some:
- Sublime Text. There's a Pony Language package.
- Atom. There's a language-pony package.
- Emacs. There's a ponylang-mode.
- Vim. There's a pony-vim-syntax plugin. Install
pony
withvim-plug
orpathogen
. - Microsoft Visual Studio. There's a VS-pony plugin.
- BBEdit. There's a bbedit-pony module.
- Microsoft Visual Studio Code. There's a Pony Language Colorizer
If you have a favourite editor that isn't supported, we'd love to help you build a Pony package for it.
The compiler
Pony is a compiled language, rather than an interpreted one. In fact, it goes even further: Pony is an ahead-of-time (AOT) compiled language, rather than a just-in-time (JIT) compiled language.
What this means is that once you build your program, you can run it over and over again without needing a compiler or a virtual machine or anything else. It's a complete program, all on its own.
But it also means you need to build your program before you can run it. In an interpreted language or a JIT compiled language, you tend to do things like this to run your program:
$ python helloworld.py
Or maybe you put a shebang in your program (like #!/usr/bin/env python
), then chmod
to set the executable bit, and then do:
$ ./helloworld.py
When you use Pony, you don't do any of that!
Compiling your program
If you are in the same directory as your program, you can just do:
$ ponyc
That tells the Pony compiler that your current working directory contains your source code, and to please compile it. If your source code is in some other directory, you can tell ponyc where it is:
$ ponyc path/to/my/code
There are other options as well, but we'll cover those later.