Inspiration
We wanted to create a truly wacky esoteric programming language, that would rival the infamy of the likes of brainfuck. We also wanted to create a Web IDE so that the language would be accessible to everyone.
What it does
OOLANG is a stack-machine based programming language that works by taking a sequence of commands, specified by Os, and executes them.
How we built it
The Interpreter is built in Rust, and designed to run either on the command line, or can be called from other crates. The Web IDE compiles the library to WebAssembly, and then runs OOLANG within the browser.
Challenges we ran into
WASM, it turns out, is hard, because the interface between Rust and Javascript is badly specified and limited. Writing test programs is also really hard because the programming language is a complete nightmare, but that's by design.
Accomplishments that we're proud of
Writing an entire Turing-complete programming language in a weekend!
What we learned
We all learned a lot about Rust this weekend, as most of us had never written any Rust before now. We also learned about a lot of the considerations that have to be made when designing a programming language, such as ensuring the lanaguage is both functional and easy to use.
What's next for Oolang + Web IDE
Replacing all major programming languages for writing production software.
Competition Entries
Best Domain Name
We registered https://www.oolang.tech/ with domain.com as a url for our Web IDE.
Best Use of Google Cloud
The Web IDE is hosted on Google Cloud, which the domain name points too. We are using Google Cloud's compute engines for hosting, which provide a cloud VPS perfect for our purposes.
Creative Use of Github
Github was invalulable to us for development. Last minute one of our team members got covid, forcing us to work hybrid. Github allowed this as it let the team keep in sync and collaborate using branches and pull requests. We used an organisation to host our two repos, which both make use of descriptive READMEs, Github Actions for CI/CD, and all the other features Github has to really show off a project and make working as a hybrid remote/in-person team easy.
Team Details
- kiran#1773
- Oluwa#2828
- olayk#4776
- Joeyh021#4140
All decently experienced programmers studying CS/CSE.
Built With
- javascript
- react
- rust
- webassembly
Log in or sign up for Devpost to join the conversation.