3 ms·
Am I right in assuming these are only able to handle specific tasks? What I've noticed applies in general, and is usually the result of programmers trying to
by DonaldFisk 9y ago
Am I right in assuming these are only able to handle specific tasks? What I've noticed applies in general, and is usually the result of programmers trying to be too clever, using frameworks, inappropriate use of object orientation, or not refactoring.
- petra 9y agoI actually feel that being domain constrained is a requirement if you want to offer the maximum amount of expressivity and simplicity[1]. And this is a must for a tool that aims at domain experts. So maybe the question we should ask: how do we constrain our users to the bone, while still letting them do everything ? [1]Intuitively, i feel like even textual languages haven't focused on simplicity. even python. they all require good memory, and focus. But is it possible to design a textual language(with the right IDE) that you can do real tasks in, for someone with bad memory and focus ? visual languages will surely get you farther there.
- DonaldFisk 9y agoYou don't have to remember the correct syntax, or input and output types, because the editor won't let you enter an invalid program. The type system constrains many of the choices the programmer can make. It's only possible to connect an output to an input of a compatible type, and doing this can instantiate a type parameter, e.g. [X] -> [car] -> [add1] is only possible if X outputs a List of Int. If you want to connect to an input which is absent, you're only given vertices with inputs of the correct type to choose from. I should probably put more information about both the type system and the IDE on my tutorial pages.