Inspiration

One of our brainstorming Ideas was to develop our own programing language. Then the conversation grew the the topic of mobile phones and how it would be nice to be able to develop ground breaking applications of the phone. This led to the realization of the craze that is sweeping the young generations. Emojis! This would be the perfect solution for people who are emotionally smart but not necessarily technically smart. We decided that using emotion is the next generation of programing computers. Thus, we wanted to be on the cutting edge.

What it does

Our project is very simple on the surface: It allows users to take what they already know about basic human interaction and puts this technical knowledge to the test. Our software enables people to program in the ever-popular emoji format! Our project also has bases into getting the gen Z kids interested in programing by brining it to their phone! This is the ultimate enabler for the next generation of coders everywhere.

How I built it

see presentation for a better representation of the processes that happen behind the scenes.

First the user writes code in emojis with similar syntax to popular programing languages such as c# and Java we call this new language .SOS (sos emoji see attached) (Reads this file type) That code in turn is turned loaded into a Kotlin parser that then looks for the emoji keywords to make a more machine interpretable solution of witch we call .SOSCroissant (pronounced sauce-c) as in complied .SOS this is then saved and gets passed into the next step: the final interpreter. The C++ interpreter then takes the .SOSCroissant and schedules custom commands, functions, variables and loops in accordance with the file inputed thus completing the life cycle from genius to usable

Challenges I ran into

Parsing the unicode language provided a substantial challenge. We found the fact that the unicode emojis are not limited to 1 character but rather 1 -3 in variable length. Reading these into a valid program ran into issues. Another area of difficulty was providing the c++ backend of our program. This proved to be difficult to implement as none of the group members came in with a significant background in the language, causing many confused moments throughout the hackathon.

Accomplishments that I'm proud of

Overall although we may not have written the most elegant or practical solution to most of the problems, I would have to point to the c++ backend as our main point of zeal for our team. After we where finished with the implementation we were able to sit back and look over the surprisingly modular and robust system we had developed. Finding that it was and will be easy to add more features of more developed programing languages in the future.

What I learned

Lots of things were learned. First off, personal my fluency in the c++ language and my ability to debug runtime error improved significantly. Starting from little experience, to a mostest start on my way to mastering the language. Secondly, the team can attest to learning the importance of planning out how programs will work before writing them. We encountered this hurtle more than we would have like; Occurring when we went out to write a slice of the software realizing that it simply would not work in all of the cases needed. After too many hours of 'spinning our tire' we decided to start making out the program before implementing solutions.

What's next for sos

Building a more robust Kotlin compiler would be the first area of continuation. Then it would be adding things like scope.

Built With

Share this project:

Updates