My colleague developed a unique programming language and is transitioning the project

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.

Hey there, that’s quite intriguing! It sounds like James has some creative vision, but it also looks super complex! :thinking: When you say it converts to JavaScript, have you tried checking how efficient it actually is? Do you think there’s potential for his lang’ to offer anything unique in performance or features?

James’ language seems… well, a bit wild! have you checked if debugging is feasible? the tag-based structure and manual memory seem tricky for collab projects. try maybe suggesting hybrid approach, integrating James’ concepts without fully shifting to his system? might keep things manageable and still buy into his vision.

James’ programming language seems to bring innovation, but transitioning an entire project to a language that’s both new and complex can be risky, especially when dealing with something as important as memory management. Having the code compile to JavaScript suggests a layered architecture that could be intricate and potentially harder to debug. Before fully committing, it might be prudent to create a small, isolated module using his language. This way, you could evaluate its effectiveness and address any underlying concerns without jeopardizing the whole project.

wow, the use of tags and such manual memory mgmt seems totally unconventional! :open_mouth: curious if this lang might not be better suited for other types of projects? how are users reacting to your demo? Could the lang’s unique aspects highlight cultural narratives of endangered lgs more effectively?