3 ms·
I may be mid-remembering details, but The first Mac development environment from Apple that you could run on a Mac was the text-based Macintosh Programmer's Wo
by watersb 3y ago
I may be mid-remembering details, but
The first Mac development environment from Apple that you could run on a Mac was the text-based Macintosh Programmer's Workbench.
Superficially, it was a command-driven shell. But it was not hosted in a terminal emulator window.
The command shell was just a text document; you would type a command sequence, then tell the environment to execute it. I believe you could run it by typing Command-Return, but then I seem to recall you would execute the text by selecting it with the mouse and invoking "execute selected text" via a menu option.
There was no enforced distinction between input text or output text; commands usually printed something by way of feedback.
Overall, your command shell text document would soon get built up into something worth keeping, at which point you could save it to a file, or it was a complete mess you could discard. But visually, it looked more like Prof. Doug Englebart's legendary demo, or like Plan 9 Acme, than Bash in a terminal session.
In much the same way that Emacs is a Lisp Machine environment. Is it a document? A command? M-x e.
Later on, NeXTStep used SmallTalk ideas; Objective-C is close to being SmallTalk in C.
The columnar browser for object/command hierarchy is still used in the AppleScript Script Editor app (which predates NeXT).
The NeXT file browser had an area (the "Shelf") above the hierarchy columns that you could use for keeping references to objects you wanted to use later. macOS retained the Shelf in the Finder until ?? Tiger 10.4? But over time the shelf degenerated into a semi-customizable toolbar. You can't drag files up there anymore.
- cmrdporcupine 3y agoThis style of command interaction via buffer was kind of how a lot of early systems worked and it's kind of sad how this method disappeared and was replaced with the Unix shell (and I assume VMS) command/response flow. Consider the C64 BASIC environment. In that case not a "buffer", like emacs, but just really the text screen memory, but same effect. To repeat a command, move the screen arrows up and hit return. Execute any content off the screen. It's nifty.