Hacker News new | ask | show | jobs
by boundring 3947 days ago
Come on, nobody's used CAD programs with integrated GUI and command line both equally accessible?

It's super intuitive, entirely customizable, and every button press results in a listable text record of each command with combined access to either windowed variables (spline radii, inputting coordinates for start and finish points, entering macros on the fly, routines, accessing algorithms)

This has all been old news for decades.

Now, adapting Autodesk's approach for other fields?

Can't be impossible. Still, engineers in many fields have enjoyed such flexibility as a matter of course. Take a page from their experiences.

2 comments

Thank you - this is a very good point.

If you are optimizing for some variable (speed, ease, movement, etc.) there are cases where each of CLI and Mouse are the best choice.

For instance, selecting text: I know very well how to do this in screen, pine, vi, etc., but there's really no point and it is never the right choice. Even in a fully CLI terminal environment with not even a browser open, I do still want a pointing device for selecting text.

You make a good point. I haven't used autocad before but after trying other cad programs and being frustrated with the lack of cli control it makes sense. What you explain sounds awesome!

Unfortunately, the current paradigm of tools for gui's (and even cli's) remain incredibly static and inflexible in their approach and design. It's not a problem that we don't know how to do it, as the autoccad example shows, but rather developers and companies lack the gumption to figure out how to make portable libraries and platforms based on it.

By this I mean, that the autocad program would have to have some kind of dynamic data and code system with rules and an internal grammar for composing them. It reminds me of the old joke "every program evolves until it reimplement common lisp -- poorly". This can be done in C++ and java, etc, but you end up basically building your own dynamic lisp like system. This often gets encapsulated in design patterns built into complex class hierarchies.

Basically, my take is that while it's possible to build on autodesk's and others examples, most efforts are either too academic and esoteric or just poorly executed. I think the culture in development is getting to a point this approach could be widely adopted.

Funny you mention Lisp, because that's exactly what AutoCAD has:

https://en.wikipedia.org/wiki/AutoLISP

Bam! And that strengthens my argument. I didn't realize they actually had a lisp embedded.
Not 'had', 'have'.