this post was submitted on 01 Apr 2025
66 points (94.6% liked)
Technology
68244 readers
4240 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related news or articles.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Reminds me a bit of graphical programming. Every couple of years someone comes up with the idea of replacing textual programming with some kind of graphical interface with arrows between nested boxed of various shapes and it inevitably fails.
Except there's Simulink, which has been around since the 80's, and is anything but a failure. For a few specific usecases, like modeling complex physical systems and developing control algorithms for them, it's far better than any traditional text based language. Especially when it comes to maintainability of that code.
Though I have to admit that if you try to use it as a general programming language, you'll learn that while that's possible, it's also very painfull. And even while implementing said control algorithms you'll occasionally run on to some bits of logic that prove to be annoyingly difficult to implement with it compared to any text based language.
I think the problem is that you can't create new abstractions very well in graphical languages. It works for something like fixed domains (e.g. Blender node editor or your example) but for a general purpose language you need the ability to define abstractions that never existed before.
The other problem is that you can't really apply any of the tooling to it that works with other languages, e.g. version control, formatters, linters,...
I have to agree. I guess the only reasonable application for graphical languages is domain specific languages, and even then they need to provide a significant benefit over any text based alternative to outweight the tooling incompatibilities you mentioned.