First of all, who am I? I'm just a random coder who like programming languages and love to create some (mostly *esolangs). In the past, I've built some small *esoteric languages which I will mention while we progress through the article.
(*) Languages that are created for fun, or with mind-challenging rules, or to just be a joke.
Why I like creating them?
I've always wondered how a programming language just magically works and brings my dreamt projects to reality. Now that I actually try to create one, I have gained a lot of knowledge about how they actually functions. Furthermore, it has come in handy in some of my work (in creating tools and extensions for coders specifically), where I can just copy my old parser or lexer and paste it into the new codebase (lol).
Or it's just somewhat amazing to proudly say "I created my own programming language".
Esolangs
When talking about esolangs, it's a whole different story. It's just fun coming up with weird and quirky ideas and just throw them into a language. It's also fun making extremely hard ones, sometimes challenges can be interesting :D
Use it for your own projects
For this section only, I'll target both "you" and "I" as it's kind of an opened thread.
If you like your own language syntactically or for how it works, or just because it just serves you better in some special cases comparing to ones that are popular, then you can totally use it with little doubts.
In my case, me and my teammates have created "Cassidy", which is basically just C# on the web. It brings safety and precision to our projects.
Besides, if you just create a superset of another language, then it can stick into the whole codebase without damaging your project anyway, so it's probably usable. Speaking from experiences
Languages I have created
- FreakC (18+)
- Jellyscript
- A brainf*ck implementation
- VNC
- Cassidy (not public)
That's all, hope you would share your thoughts in the comment section :D
Top comments (3)
Nice!
Do you have a good tutorial for writing lexers and parsers in javascript?
I don't really, my friend actually taught me.