← Back to context

Comment by rzzzt

2 years ago

AutoCAD and Rhino 3D are two examples that I remember having a command prompt sitting proudly somewhere at the bottom of the UI. Your mouse clicks and keyboard shortcuts were all converted into commands in text form. If you look at your command history, it's a script - a bit boring since it is completely linear, but add loops, conditionals and function/macro support and you get a very capable scripting environment.

AutoCAD definitely was CLI-based, with menus and dialogs basically filling in parameters to the commands. But in the late 90s or so Autodesk got religion and decided that AutoCAD should be a Windows product and follow Microsoft UI guidelines, so I don't know how well they stuck with the "command line underneath" over the years.

Early in AutoCAD's history, Autodesk did add loops and conditionals to its CLI -- with Lisp! Type an open paren and the command line became a REPL. You could define new commands, directly manipulate entity data structures, and have all the control structures Lisp affords -- not Common Lisp, it was way simpler, but it was powerful.

To this day, wayward mech engineers still sometimes ask Autolisp-related questions on unrelated Lisp fora, such as r/lisp.

  • I was just trying to address the parent and others' doubt that a graphical user interface can be thought of as a command-based paradigm, seen in these threads:

    - https://news.ycombinator.com/item?id=36395727

    The designers behind the examples mentioned wanted to expose and capitalize on the connection between traditional "type command" CLI and "press button, drag rectangle" GUI workflows.