On Friday, 20 March 2015 at 17:25:54 UTC, H. S. Teoh wrote:
On Fri, Mar 20, 2015 at 05:04:20PM +0000, ketmar via Digitalmars-d wrote:
On Fri, 20 Mar 2015 13:28:45 +0000, Paulo  Pinto wrote:

> Given that I have been an IDE fan since the Amiga days, I > fully
> agree.
> > Every time I am on UNIX I feel like a time travel to the > days of
> yore.

being on non-nix system is a torture. there aren't even gcc, let alone
emacs/vim.

Yeah, I've become so accustomed to the speed of keyboard-based controls that every time I use my wife's Windows laptop, I feel so frustrated at the rodent dependence and its slowness that I want to throw the thing
out the window.

But at another level, it's not even about keyboard vs. rodent... it's about *scriptability*. It's about abstraction. Typing commands at the CLI, while on the surface looks so tedious, actually has a powerful advantage: you can abstract it. You can encapsulate it into a script. Most well-designed CLI programs are scriptable, which means complex operations can be encapsulated and then used as new primitives with
greater expressiveness.

Sure you can have keyboard shortcuts in GUI programs, but you can't abstract a series of mouse clicks and drags or a series of keyboard shortcuts into a single action. They will forever remain in the realm of micromanagement -- click this menu, move mouse to item 6, open submenu,
click that, etc.. I have yet to see a successful attempt at
encapsulation a series of actions as a single meta-action (I've seen attempts at it, but none that were compelling enough to be useful.) You can't build meta-meta-actions from meta-actions. Everything is bound to what-you-see-is-all-you-get. You can't parametrize a series of mouse interactions the same way you can take a bash script and parametrize it to do something far beyond what the original sequence of typed commands
did.

Ultimately, I think rodent-based UIs will go the way of the dinosaur. It's a regression from the expressiveness of an actual language with grammar and semantics back to caveman-style point-and-grunt. It may take decades, maybe even centuries, before the current GUI trendiness fades away, but eventually it will become obvious that there is no future in a non-abstractible UI. Either CLIs will be proven by the test of time, or something else altogether will come along to replace the rodent dead-end
with something more powerful. Something abstractible with the
expressiveness of language and semantics, not regressive
point-and-grunt.


T

When I use GUIs, my knowledge of keyboard shortcuts coupled with the mouse actions is no different than top gamer playing a FPS/RTS game.

Sure, GUIs might not beat CLIs in terms of scriptability, but GUIs coupled with REPLs sure do the job pretty well.

When I am on Mac OS X and Windows, reaching out for the CLI means using developer tools only available via the console or automating administration tasks.

On the other hand when at any other UNIX flavours besides Mac OS X, it seems the CLI is unavoidable.


As for CLIs regaining their central place in the world of computing, in a world going towards speech recognition and touch interfaces, I very much doubt CLI use will increase.

--
Paulo

Reply via email to