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