Nowadays, with so many great online CS resources such as Scratch, getting into code isn't that hard. But, where we see a lack of support is the step from a drag and drop coding interface to a real full scale language. Ditto is meant to be that step.

What it does

Ditto essentially is a basic-like language, except it's syntax is a cross between English and CS conventions. We spent a long time designing the syntax to give beginners a easier syntax to handle, but all the while still implementing and teaching basic CS concepts.

How we built it

The whole language is built upon Javascript. At its core, Ditto uses a simple regex powered interpreter that we wrote 100% from scratch. Then we have a few packages to handle higher level compressing after the basic .dit file's been compiled to .js

Challenges we ran into

We had a lot of time figuring out how to properly tokenize and parse the language in a way that was versatile but still worked. After looking at a number of libraries, we decided to write these functions ourselves.

Accomplishments that we're proud of

We're really proud of the fact that we've created a functional computer language within the constraints of 24 hours. Since we've never really done anything of the sort, we're proud that we manage to handle it.

What we learned

We learned a huge amount about regex, tokenizing, and parsing - all the key components to writing a computer language.

What's next for Ditto

In the future, we wish to add more functionality not only in the core package, but also as external modules.

Built With

Share this project: