DEV Community

loading...

Tips for making an esolang

JavaCode7
A scripter.
Updated on ・1 min read

An esoteric programming language (esolang for short) can be made for many reasons:

  • Fun
  • Proof of concept
  • Learning And many others.

Here are some tips on 1 thing you should and one thing you should not do when making an esolang.

What you SHOULD use

If you are making a language that has commands, you should use string split functions.

String split functions are very useful when creating an esolang. Normally, they are used with some kind of delimiter. That delimiter can be what separates the commands of your esolang.

String split functions exist in many languages and can be used in many different ways. Here are some examples:

  • Python
a: str = "string with spaces"
arr: list = a.split(" ")
Enter fullscreen mode Exit fullscreen mode
  • JavaScript
const a = "string with spaces";
const arr = a.split(" ");
Enter fullscreen mode Exit fullscreen mode
  • Ruby
a = "string with spaces"
arr = a.split(" ")
Enter fullscreen mode Exit fullscreen mode

String split functions exist in many languages and are useful when making an esolang with commands.

What you SHOULDN'T do

I know that this sounds kind of rude but try not to come up with the syntax for the language yourself. There are many websites out there that you can use to get syntax ideas for your esolang. There is esolangs.org, libhunt and even github can be used for esoteric syntax ideas.

Discussion (5)

Collapse
olus2000 profile image
Alex Esoposting

On another, much smaller note: please tag this post as #esolang or #esoteric. I'm new to this community and I'll be fighting for more esoteric posting, and correct tagging is the first step in my crusade. People must know! This needs to be found!

Collapse
olus2000 profile image
Alex Esoposting

Short and sweet and right to the point.
I would argue with the second point. You already listed the reasons to create esolangs so I will go over them and explain what I mean.

Fun

If I'm making the language for my own fun then why wouldn't I use my own syntax? That's like half of the fun from making an esolang - coming up with solutions that cannot be found elsewhere. Even if I make an abomination of a language and it's absolutely unusable it's still my language and I had fun making it.

Proof of concept

If I'm making a language as a proof of concept then I usually already know what syntax it will have.

Learning

Making a language with made-up syntax can be a very teaching experience. Finding out where this syntax fails and being forced to look for solutions can teach you much better than just copying an existing syntax.

Collapse
javacode7 profile image
JavaCode7 Author

All good points. I will think about changing it!

Collapse
freakcdev297 profile image
Phu Minh

Great article!

Collapse
javacode7 profile image
JavaCode7 Author

Thanks!