Comment by kensai
12 hours ago
My understanding after reading many of such posts is the following:
1) You are NOT serious (in effort to be invested, resources, knowledge), then don't do it. 2) You are MEH serious, then probably design some DLC in Lua or similar, will serve your case 99%. 3) You ARE serious, then go for it. Chances are that you might even post it here one day, but also almost no one will ever use it apart from some crazy fans.
> 1) You are NOT serious (in effort to be invested, resources, knowledge), then don't do it.
I did it while being non-serious. I got like a half of a language working. And I don't regret it. It was fun. I've got a little bored and distracted by other things, and so I've stopped working on it.
Such posts are great, because they let you pick some new ideas that will be fun to code.
> You ARE serious, then go for it.
I don't think it works this way. To become serious you need some really good idea. But to get a really good idea you need to do at least a couple of full loops through the four phases the article begins with. Before you invested a lot of time into writing languages, you are highly unlikely can get a really good idea for a new language.
There is no harm in building a compiler and designing a language as a hobby. It is gratifying to build something and see it work, and it is often interesting to hear about other people’s projects.
The problem comes when designers have delusions of grandeur about their language/compiler. There are lots of people like this on programming language forums who drive themselves nuts because they don’t realize that languages become popular due to platform exclusivity/marketing or due to word of mouth around a readily available implementation that offers something unique. Most hobby languages/compilers are not that different from existing ones so this rarely happens. And the people who create languages are rarely good at building communities because they usually lack social skills (and they tend to be a little manic/defensive about their creations).