Inspiration

Emoji Coder was inspired by other esoteric programming languages like whitespace (programmed in spaces, tabs, and newlines) and Chef (programs are written like recipes) that explore creative methods of programming. While esoteric programming languages are by definition impractical, the development and use of them encourages logical thinking about what actually occurs in the computer when you enter a command.

What it does

Emoji Coder is an esoteric programming language that uses emojis to represent commands and arguments. Lines of code are formatted as [command][modifier][parameter][new-line], where command and modifier are single emojis and parameters are 8 emoji strings that represent a number in binary. We created a proof of concept online compiler and several sample programs to show programming in emojis is possible, if inefficient.

Abilities of our language

*Stack Modification

*Output

*Basic Arithmetic

*Basic Variable Storage

*Random number generation

*Basic comparison logic

*Basic loops

For more information on the structure and syntax of the language, our documentation is here.

Sample Programs

Example programs that demonstrate stack manipulation, string building, arithmetic, looping, and comparison logic can be found here.

How I built it

We implemented the compiler for this language as a javascript web app. We used jQuery for event-based functions and styled our website using html and css.

Challenges I ran into

While emojis are uniform, they are not as uniform as alphanumeric characters so string manipulation was sometimes difficult. Mainly, it was difficult to conceptualize how to create a working language based on emoji input and how to implement our ideas.

Accomplishments that I'm proud of

I'm proud of creating a language that can actually be used to create programs. While creating sample programs in emojis, I found the process was slow but still doable and more fun due to the novelty of it. I hope some people try out my language and find it as entertaining as I do.

What I learned

How to go about designing a programming language, how to upload and download files using javascript/jQuery, and a better understanding of how javascript interacts with html.

What's next for Emoji Coder

I would like to add multi-line if statements, more complex loops, user defined functions and variables, and user input.

Share this project:
×

Updates