But of course there's a programming language written entirely in emoji. After all, there's a language whose syntax consists entirely of Shakespearian prose, a language that channels the rhetoric of Donald Trump, and yet another whose syntax is limited to instructions for performing card tricks—Emojicode just seems like a given within the dense forest of novelty programming languages.

That said, Emojicode, which first appeared as a Github project a couple of months ago, would seem to aspire to be something more than your average esolang. For one thing, while many if not most novelty languages are "compiled" simply by translating them into another intermediate language, Emojicode features its very own compiler and execution engine. So, like Java, an Emojicode program is first reduced to Emojicode bytecode which then is run within its own virtualized environment.

Emojicode even features its own package management system, allowing developers to create new useful tools for using the language. Packages that come currently bundled with Emojicode include one for navigating file systems and another for interacting with SQL databases. New packages add new emoji, which add new functionalities.

Emojicode programs aren't written entirely using emoji. Variable names, for example, need to be written using normal text. But types (integers, character strings, etc.), classes (modular units of related code), and methods (modular units that perform a specific function) are all referred to by emoji.

Other examples of emoji-based functionality include a tiny ice cream cone to "freeze" the value held by a variable (what would be a constant in another language), a tiny bearded face to demarcate comments (informational sections of code that aren't compiled or executed), and thumbs up and thumbs down emoji for the boolean values "true" and "false." Conditional statements are represented by orange slices. Not sure what's up with that one.

Hello, World in Emojicode: