Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

ZPE & YASSZPE Programming Environment

ZPE & YASSZPE Programming Environment

ZPE is a compiler, interpreter and runtime in one package. It's designed to make it easier to learn to program whilst offering tons of features for more seasoned programmers. YASS, or Yet Another Simple Syntax, is a Turing-complete programming language which is designed to be easy and quick to learn and write. ZPE contains everything needed for running YASS code.

Time to learn.
In no time at all.

The main focus of the ZPE Programming Environment and YASS is usability. It focuses on a clean language that requires very little thought and accepts typing errors within the compiler.

YASS is an easy-to-learn programming language that takes inspiration from many other languages out there.


Write using the console.
Run from your console.

Thanks to the way in which the ZPE Programming Environment is written, users can access any particular feature of the compiled runtime with a single line entered into the command line.

This allows users to compile, interpret, analyse or print their code in an abstract tree without even needing to run the executable.

ZPE's interactive interpreter allows you to both test and automate scripts without ever even having to compile the code.

ZPE is efficient

Efficient. Clean. Flexible.

The ZPE Programming Environment is efficient and clean - generating only the output you request and in the most efficient way possible.

YASS is flexibly written to make unnecessary symbols and tags optional whilst adding extra ones to make the language read more like English. You can also switch between dash case and camel case. How many languages can do that?

YASS is small and compact to make it easier to share scripts.


So much for you.

The ZPE Programming Environment includes 200+ built-in functions that can be directly called from the YASS language.

Between all of these methods, nearly every possible base has been covered, ensuring a sound foundation for your program.


The ZPE Programming Environment and the YASS language have been written in the platform-independent Java programming language. This means that programs compiled on a Mac will work on a Linux or Windows machine and vice versa.

Easy to learn.

Right from the very beginning of the development of the YASS language, ease of use has been the number one priority. Unlike some of the languages YASS takes inspiration from, consistency has been a major part of its development.

The following is an example of YASS syntax. Can you guess what it does?

$names = ["John", "Jack", "Jamie"]
for each ($names as $name)
	print ($name)
end for


ZPE has its own plugin system that allows you to expand both the language syntax itself and the functionality of the language. With the plugin system, you can easily produce native Java plugins to give more functionality to the language.

Get started right away.

The ZPE package includes many modes that make it really easy to get started. There is even a built-in graphical editor that can be used to develop and test apps with YASS.

How do you like your YASS?

One of the most important features of YASS is the syntax and how the syntax is flexible. Things should be able to be written in many or multiple ways.

ZPE 1.9.6 re-introduced TYPO (Typing for YASS Programs Optimiser) which is one of the most powerful features to come to ZPE/YASS. TYPO is a typing system that is entirely optional that allows you to ensure apply type checking to variables. The choice to apply it or not is up to you.

$forename = "Jamie"
string $surname = "Balfour"

Well established.

YASS takes inspiration from the best of many other languages, so learning it will be like something you may have come across before.

Inspiration for YASS syntax was drawn from VB.NET, PHP, Python, Java, C and SML amongst many other languages.

Free. Forever.

The ZPE Programming Environment and the accompanying YASS are free forever. This includes updates and patches, as well as the open-source libraries that will be released in the future.

It's completely free forever. Not a penny. Not a cent. Not a sen. Not a paisa. Free.

ZPE Online

Storing your code online couldn't be easier. You can easily write and share your scripts right from the built-in editor using the ZPE Online cloud service.

ZPE Online is a free online service provided by this website. Subscription is free and the number of scripts storable on each account is unlimited[2].


[1] Comparisons were made by running a time zpe -r 'for($i = 0; $i < 10000; $i++) print ($i) end for' command on a macOS and Linux machine and taking the sys time for each. The command was run on the same computers running on the latest macOS, with a Core i7 4850HQ, 16GB of memory, a 512GB NVMe SSD. Note that the latest version now needs to run with the zpe -i 'for($i = 0; $i < 10000; $i++) print ($i) end for' command due to changes to the runtime.

[2] The ultimited offer may change, however, users who subscribe now will have unlimited space permanently.

The Visual Studio plugin is a separate project and can be downloaded here.

If you are interested in the SQA Reference Language runtime (built with ZPE), visit this link.