you are viewing a single comment's thread
view the rest of the comments
[–] 12 points 1 year ago (2 children)

Yes! This so much.

I am entirely convinced that one of the more underserved niches in software is domain-specific languages for doing traditionally-mousey/clicky/GUI things. I'm so convinced of that that I've written just such a DSL and am actively working on a second one.

About the only really good examples of that that I know of are OpenSCAD and Graphviz. (And I guess the one I wrote.) I've love to know about more. (And, no, libraries that make GUI-sort-of use cases easier in some general purpose language don't count. There's really something about having syntax/builtins/standard library custom made specifically for the use case that I'm quite convinced has major benefits to overall usability.)

About OpenSCAD specifically, I also have some nit-picks about the language. There are cases where I've written code in other languages that outputs OpenSCAD code specifically to get around some limitations. (There's one project I'm working on and haven't Open Sourced yet that just begs so hard for maps/dicts/string-keyed-composite-types. And the ability to use modules as values. (Like, making it more of a "functional" language... or rather a "moduleal" language.)) But like you, none of that detracts enough to make me not love OpenSCAD.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 1 year ago

    I’ll have to check out both OpenSCAD and Code Comic. Some completely non-CAD DSLs that you might be interested in, since you mentioned GraphViz:

    Mermaid.js does something very similar to Graphviz. There are a couple other similar tools like that out there, but Mermaid is supported in a lot of places natively or as an easy to use plugin, like GitHub Markdown (and other git forges like Forgejo), Hedgedoc, Obsidian, SilverBullet, etc..

    I’d also argue that LaTeX counts, and to a lesser extent, Markdown - compare using them to using Word.

    And reveal.js is an equivalent for slide deck creation that would normally be done with PowerPoint.

  • source
  • parent