3 ms·
One of the consequences of the transition from command-line interfaces such as DOS and Unix to contemporary GUIs such as macOS and Windows is we have moved from
by linguae 9y ago
One of the consequences of the transition from command-line interfaces such as DOS and Unix to contemporary GUIs such as macOS and Windows is we have moved from environments that do not make a sharp distinction between programmer and user to environments that make a sharp distinction. One of the nice things about command-line interfaces is being able to make powerful tools that are composed of smaller tools. Unix has a powerful collection of tools, and if those tools aren't powerful enough even with combined by pipes, there's awk and sed, and then there are scripting languages. Contemporary GUI applications, however, work very differently. Instead of being composed from smaller programs, many contemporary GUI applications such as Microsoft Word, Adobe Photoshop, and iTunes are large monoliths that are expensive to write (just consider how large the teams engineering these products are, and consider how much effort it would take to write a clone of these programs from scratch), difficult to combine, and are difficult to script unless they are specially designed to support scripting (e.g., AppleScript, Microsoft Visual Basic for Applications, etc.). Web applications are even harder to write than native GUI applications, and they are even more difficult to deal with in regards to interoperability and scriptability.
It didn't have to be this way, and there's room for a future where it doesn't have to be this way. The Smalltalk-76 environment demonstrated that it is possible to construct composable and interoperable GUI applications. The Genera operating system for LISP machines worked similarly. Apple's OpenDoc initiative would have introduced the wider world to the concept of composable GUIs, although it was canned as a consequence of Apple adopting the tried-and-true OpenStep platform as the basis of future Mac development. An operating system environment inspired by the Smalltalk environment and LISP machines that provides both a REPL for tasks that are equivalent the Unix command line and an OpenDoc-like API for designing composable GUI or even web applications would create an environment that is both easy to use and programmable. I've been growing more and more excited about the possibility of such an operating system for workstation users that could one day serve as an alternative to contemporary desktop operating systems and environments such as Windows, macOS, and the Linux desktop.
- scroot 9y agoI want a machine like that.