I’ve been touting the benefits of my TCL inspired DSL for a couple of years now. In fact I have never liked DSLs in princible because programmers are so strongly opinionated that they see the world as green or blue; and so the real benefits are lost. AND NOW we see msft starting to embrace NOCODE or LOWCODE and they are even using EXCEL syntax as the basis for a new programming language. The lesson to be learned is pretty simple:
And so I have accomplished just that. I have built a DSL inspired by TCL that will run on a server or run as a WASM executable; sure it’s interpreted instead of compiled but it’s functional and fast enough. I’ve also built-in sqlite and while some database and programming snobs thinks it’s a toy they really do not know why… Just ask the DBA. But the reality is my toolchain is small and managable for small and large projects. (not all applications are at google scale)
While TCL was the inspiration for the DSL syntax it actually fossil’s implementation of
th1 (a variant of TCL) and
picol that were the
inspiration. In recent years I have become complexity averse. The idea of having to protect an application for every false path
and manage all the crazy exceptions was driving me mad. Worse yet when programmers aspire to use some new fangled tech that
turns out to increase the cost rather than some real benefit.
The reason I’m using fossil as my scm is because the code and the changes etc are stored in a SQLite DB file. That means backups etc are as reliable as the file system. Have you ever tried to backup/restore a gitlab or git repo? This is especially important if you do not trust the various cloud providers.
In conclusion the PHP compromise has me in a tailspin. Granted they say the code never made it into the wild but there are some obvious concerns… and they are extended into all the current languages and packages. So yet another benefit to the DSL is that it can be implemented in multiple languages and platforms.