Hi Rob,
Thank you for your input.
My goal was to create an environment that enables web application development with the lowest possible level of complexity.
At the same time, I wanted to leverage the strengths of M-based databases without having to write applications in M itself.
While M offers unique advantages through its tight integration with the database, I don't think the language itself is comparable to modern statically typed languages. Languages such as Nim provide powerful features like compile-time meta-programming, which allowed me to implement a YottaDB DSL. As a result, the database can be accessed almost as if it were a native part of the language, much like in M.
In my view, this largely eliminates M's primary backend advantage—the close integration between the language and the database.
It is true that M achieves outstanding performance through this integration. However, the performance of the Nim DSL demonstrates that similarly excellent results can be achieved while benefiting from the capabilities of a modern programming language.
For me, equally important are qualities such as efficiency, expressiveness, and elegance. These characteristics make it possible to write software that is both concise and highly maintainable.
On the frontend, DataStar patches the DOM with only the minimum changes required. This keeps network traffic very low while still allowing applications to be built using standard HTML and CSS, without the complexity of large client-side frameworks.
I hope this helps explain the motivation behind my approach a little more clearly.