What is dataflow programming?
Dataflow programming is a programming paradigm that models a program as a directed graph of data flowing between operations. - Wikipedia
Scriptflow also focuses on unidirectional data flow - this means that your data always flows in one direction - from input to output. This makes it much easier to reason about the state of your flow and makes it so that even non-programmers can create flows. Scriptflow also makes it easy to handle events and asynchronous operations that normally would add complexity to a program.
When to use scriptflow
What is scriptflow really good at?
Scriptflow is extremely good at creating customizable prototypes rapidly. Scriptflow also works well for common data manipulation and visualization tasks - far better than writing custom ad-hoc code or using a domain specific language that can't be exported to the web. It is better than a spreadsheet editor because it natively supports web integrations like connecting to databases or requesting data from HTTP requests without having to write custom script.
With specialized nodes for text, audio, and image data, scriptflow also works extremely well for testing out features using data in those formats or quickly prototyping and embedding a feature into your own website to get feedback from users faster.
What should you use a more specialized tool for?
Always use the best tool for the job.
Scriptflow - and dataflow overall - is not going to remove the need for programmers or work well for creating large monolithic applications. Scriptflow is best suited for small "applets", internal tools, prototyping, and independent features.
It works especially well for non-programmers who want to get started with automation and even works well for experienced developers who want to make quick prototypes. Programmers and non-programmers will discover that they can easily embed and deploy their flows to production or an internal site for rapid usage and user feedback. Programmers don't have to go through code review or do unit testing at the node level because nodes are tested when written.
It can also help in visualizing the logic and data flow through your feature or application.