My teammate and I, let’s refer to him as James, have been collaborating on a unique language-learning platform for endangered languages. We had a reliable setup, but James was never fond of my choice of Firebase for our backend, insisting, “we need our own backend,” while I prioritized a stable demo to showcase to potential users. About a month ago, he went missing, saying he was working to resolve our issues. Upon his return, he brought a hefty executable for what he called a “compiler” and a 7,000-line file he labeled as “documentation,” which lacked proper formatting, requiring me to rename it to .js for color coding. He introduced a new programming language that he described as using “tags” to structure the code, which resembled sophisticated objects. For example:
public Tag primary;
public function primary.primary(): void {
println("hello world");
}
Every element needed a tag:
tag myInteger: int;
let myInteger.value = 1;
Although items could belong to multiple tags, the complex syntax made it hard to understand how it worked. Here’s his example:
tag aTag: int;
tag bTag: int;
let organizeTags(aTag, bTag).value = 5;
println(from(tags(get(aTag))).value); // 5
Overall, managing tags was chaotic and nearly ineffective, yet they were ubiquitous. Additionally, James imposed a peculiar manual memory management system that was baffling, as the compiled code turned to JavaScript. The memory management involved a symbol, “©,” that I lack on my keyboard:
// Memory management is handled by the © system
// once something is copyrighted, it becomes unusable.
public Tag primary;
Tag integers: int;
Tag loop: label;
public function primary.primary(): void {
loop.for (let integers.i = 0; integers.i < 10; integers.i++) {
println(integers.i);
integers.i == 15 ? executor.run({
println("i is 15");
©(i);
break loop.for;
})
}
}
James proposed that we develop the entire project using his unconventional language. I’m currently trying to convince him against this decision.