What is Actual 4377?
CMPT 331, “Theory of Programming”, is an undergraduate course at Marist College and is a concentration course for CS majors. The course focuses on how programming languages are organized, as well as formally studying and analysing them. Throughout the semester, we delved into 5 procedural and 5 functional languages to see how they varied, as well as performed lexical analysis via lambda calculus. This was to prepare us for our final project, writing our own language.
Actual 4377 been featured in Dr. Labouseur’s Hall of Fame for future iterations of the class to view.
Responsibilities
- Create a theoretical programming language by writing a design doc on its structure, syntax, rulesets, and example programs.
- Show how this language's grammar and syntax differs from the languages it originates from.
- Write example programs in this language.
- Make this language as user-unfriendly and unreadable as possible in a short amount of time.
Creative Process
Goals
- Create my own language.
- Get a perfect score and into Dr. Labouseur's Hall of Fame.
- Needs to include recursion to execute some of the example programs.
- Make as user-unfriendly as possible.
- Anger as many people as possible when they read this.
Features
- Somehow less wordy and more verbose from the original languages, but is way harder to read.
- Requires indentation, brackets, and semicolons.
- No main() function.
- Includes an Overflow library
Constraints
- Gave myself 4 days to work on this.
- 1 person with a lot of other work on their plate.
- COBOL and Fortran.
- Doubles are the devil's floating point and Strings are the devil's characters.
1) What languages are incredibly tough to read on their own and how can combining them make this infinitely worse?
2) What personal flare could I add to make this near unreadable and only barely functional?
3) How do I make this just readable enough to be graded?
1) Fortran and COBOL
Thought Process
Since these are some of the oldest programming languages and when I 1st wrote them I definitely struggled with (more so with COBOL), I decided that these 2 would be the worst to mix by sheer syntax. Some C++ was added namely to allow easier overflow and recursion. During my research, I found that Fortran 90 and above had solutions for recursion, but that looked awful to implement, so I took some liberties and wrote that aspect as you’d expect to see in C++.
Results
One of my professor’s 1st comments was “Oh, leetspeak…”. Everyone else who’s seen it (some reviews are on the 2nd page) have derided the decision. So all in all, it worked out.
2) 73375934K (Leetspeak)
Thought Process
It’s not enough to simply choose 2 tough languages, I had to go further. So writing in leetspeak it was! In truth, I could’ve went for more complex leetspeak, but given the constraints and the fact that I didn’t want to had me leave it to solely number replacements for letters.
Results
My professor was perplexed by me choosing the hardest languages. Most other people who’ve read this are blessed with not knowing what leetspeak is, so they just flat out can’t read this doc. Those that can really had to sit down and think.
2) Syntax highlighting, explicit detailing, and a little bit of C++
Thought Process
Seeing every poor, conscious choice made above, the doc would need to have absolutely superb formatting to, if not make the code easier to read, then at least prettier. Given that this language was meant to be as user-unfriendly as possible, what was and wasn’t available needed to be explicitly detailed in this doc, with ample examples. And since COBOL and Fortran are such old languages, C++ was brought in to somewhat clean up and fill in some modern gaps.
Results
My professor, while commenting on what he did like, did give the comment that this is incredibly unreadable.
Overall, this project was an absolute success. I received a perfect score, affirmation of this being a chaotic evil language (apparently another student created a D&D-based language), and I was asked for this to be displayed in my professor’s hall of fame. Everyone who read this considered this a nightmare, which was the exact goal. I feel proud that such a beast exists.