More than a pretty face

Emojicode – A merrier kind of programming language

Gabriela Motroc
Set of emoticons image via Shutterstock

Emojicode allows users to build fast cross-platform applications while having fun. It is a static, strongly typed programming language and it is not afraid to look nice.

Emojicode is a delimiter-less, object oriented, imperative, high-level, hybrid language with emojis as fix points and methods. It has a focus on integrating systems well, being Unicode compatible, and providing a stable and consistent interface.

Emojicode overview

Emojicode’s aim is to become the first high-level programming language which uses Emojis to structure the program and its flow. It has paradigms such as Object-orientation, Optionals, Generics and Closures, as well as a read-to-use package system to access each part of the system. Emojicode binarys run on Real-Time Engine that works across platforms -it can be used on OS X, Raspbian, Ubuntu, Debian and the list goes on. The Emojicode Real-Time Engine is more than a few times faster than ordinary virtual machines -it is just roughly 100 kilobytes.

See also: ArnoldC, your new favourite programming language, and more

The Emojicode Real-Time Engine is the part which executes the program -it takes the bytecode file and executes it on any platform on which the engine runs. Since it was designed to load and run bytecode files as quickly as possible, it does not perform any type of error checking. As a result, passing a malformed bytecode file to the engine can lead to a crash.

Emojicode at first glance

The SDK can be downloaded here: Once you’ve downloaded it, you need to extract the tar file and run the script in the extracted directory. Keep in mind that you might need to run it with root privileges and that your system is probably not yet ready to display emojis. If you use Linux, you should install the ttf-ancient-fonts.

You can also build Emojicode directly on your system if there is no binary available for your system.


  1. Download the source code from GitHub.
  2. Extract the downloaded source and navigate into it. Run to compile the Engine, the compiler and all default packages. Keep in mind that you may have to use a smaller heap size on older Raspberry Pis. When compiling the engine, you can specify the heap size in bytes. The default heap size is 512MB.
  3. Run
  4. Run script in the extracted directory. You might need to run it with root privileges.

Emojicode needs to know where the program should start, so the compiler will look for a class method called 🏁 -it will be called on the program startup.

See also: Top 10 useful, yet paranoid Java programming techniques

Every type, method, class method and initializer name is Emoji. Although variables cannot include emojis, they must be any combination of characters which cannot be confused with numbers. The easiest way to declare and set a variable is to use 🍮; you can also set and declare a frozen variable (🍦), but it cannot be modified after its first initialization. You can declare a variable (🍰)yourself no matter if a variable with the same name was declared in the parent scope. However, you may not declare a variable more than once.

Variables that contain numbers can be incremented by using🍫  and decremented by using 🍳.

The rest of the symbol literals can be found here.

Gabriela Motroc
Gabriela Motroc was editor of and JAX Magazine. Before working at Software & Support Media Group, she studied International Communication Management at the Hague University of Applied Sciences.

Inline Feedbacks
View all comments