4 ms·
Why do we assume that there has to be this separation? Yes, we're used to it on Unix because Unix perpetuated the mistakes from OS/360 and had a special job con
by madhadron 7y ago
Why do we assume that there has to be this separation? Yes, we're used to it on Unix because Unix perpetuated the mistakes from OS/360 and had a special job control language as the user interface shell and made no attempt to really integrate a graphical environment when it came along.
But imagine someone whose programming career was spent on Smalltalk, who would feel quite confused by this. Or even someone who is truly proficient with NeXT or MacOS and able to use the object APIs that applications expose to script their environments efficiently. This would seem rather nonsensical to such a person.
- TeMPOraL 7y ago> Why do we assume that there has to be this separation? Because the GUIs of Smalltalk/Lisp era have mostly gone the way of the dodo. Unless you're writing software in Smalltalk or Common Lisp, you're unlikely to see truly powerful GUI principles any time soon.
- pvg 7y agoWhat would those principles be, that don't exist in current UIs?
- romwell 7y agoOne principle is that text/command interface and graphical user interface aren't separated. As in: what if.. you could use a GUI and type commands? Some software, like CAD programs (AutoCAD, 3DS MAX) and games (HalfLife, Quake, etc) have been doing it forever, but all these solutions are ad-hoc. We could have had this as a default.
- j88439h84 7y agoThe text editors all have that, afaik.
- pvg 7y agoThat's more of an implementation detail than a principle to me. Some graphics programs have CLIs. Lots of GUIs have CLIs with various levels of integration. And as you say, we've had that forever so it's not something that's, say, in a Smalltalk system that doesn't exist now.
- TeMPOraL 7y agoClose, but this is still but a shadow. The kind of UIs I think about have text commands and GUI commands being essentially the same; your clicking issues commands, but you can also start typing and then use mouse to select GUI elements as arguments - because things drawn on screen are first-class objects, not just their rendering. Think e.g. of typing "ls" (or pressing a button) to be shown directory listing, on which now you can click, drag&drop, etc. You start typing "rm", and now all entries can be clicked to add as arguments. Or, you start typing "find -mtime" and now you can click on any of the visible timestamps, etc.
- deleted 7y ago[deleted]
- 0xdeadbeefbabe 7y agoAlso, why presume a terminal must have columns and rows? Maybe that started it.
- bitwize 7y agoBecause talking to the computer via text, perhaps over an RS232 or similar link, will be there when all of the more sophisticated systems go tits up.
- IshKebab 7y agoThat's why I never drive anywhere. In case my car breaks down.
- bitwize 7y agoThis is more akin to having a backup bike in case your car does break down than it is like resolving never to drive again, but wotever m8
- madhadron 7y agoThat's a very parochial view. Why do you assume that text and RS232 are natural things? Remember when you booted a computer by entering initial instructions on a switch panel to get to reading a first instruction on some medium?
- impostir 7y agoI don't really know much about Smalltalk, but guix is a linux distro that allows for impressive customize through Guile Scheme. guix: https://www.gnu.org/software/guix/ https://www.gnu.org/software/guix/ guile scheme: https://www.gnu.org/software/guile/ https://www.gnu.org/software/guile/
- Metus 7y ago> Or even someone who is truly proficient with NeXT or MacOS and able to use the object APIs that applications expose to script their environments efficiently. Where can I read up on this? I want to get more proficient with macOS and this sounds interesting.
- madhadron 7y agoLook at AppleScript or the new scripting bridge. Each app in macOS exposes an object model that you can call as if it were a Smalltalk object.