March 20, 2015
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:

clip
>
> Ultimately, I think rodent-based UIs will go the way of the dinosaur.

While I may not share you optimism for the future, I do agree the CLI is almost always better:o)

One big advantage to CLI stuff is that when you come up against some tricky configuration, or rarely used command, you can write a little script (with comments) describing how to do it (and WHY you did it that way).  Very handy for those tasks that you end up doing once every X months, and always forget the details of in between.  How do you do that with a GUI? Make a video or open up OpenOffice/MS Word and start taking screen shots. Painful stuff.

Same goes for configuration files which beat GUI-based configuration hands down.

Having said all that having IDE-like, language aware, code-completion and background compilation, and a good debugger are a big plus for productivity in many cases.

March 20, 2015
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

March 20, 2015
On Fri, 20 Mar 2015 10:23:27 -0700, H. S. Teoh via Digitalmars-d wrote:

> 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.

Oberon TUI was really nice, as it combines point-and-click with CLI expressivenes. not only you can type command almost anywhere and immediately execute it, but you can combine commands in "tools", parameterize commands with "marked window", "selected text" (those were completely independend things), simple text and so on. even window actions like "close", "save" and such was ordinary commands, simply printed at window header.

Oberon Gadgets was an extension of that system, where buttons and so on were simply "nicely drawn area that still executes command on click".

March 20, 2015
On Fri, 20 Mar 2015 18:31:06 +0000, Paulo Pinto wrote:

> 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.

this is another overhyped trendy blah-blah, like "cloud computing". such interfaces are for casual users. sure, when i want to simply listen music or watch a movie, it's easier to tell that or point it with my finger. but if i want to use my computer for something more complex, typing on keyboard is simply faster and less error-prone than speaking. especially if you cut off that stupid mouse. ;-)

March 20, 2015
On Friday, 20 March 2015 at 17:04:20 UTC, ketmar 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.

I wish there was a blend of modern IDEs with the editing/customizability power of emacs/vim. mono-d and DDT's utilities are far ahead of anything available for D in emacs/vim, but the actual IDEs themselves are difficult to work with.
March 20, 2015
On Friday, 20 March 2015 at 11:48:20 UTC, w0rp wrote:
> On Friday, 20 March 2015 at 07:37:04 UTC, Paulo  Pinto wrote:
>> An example that stuck with me was that languages that follow Algol/Pascal syntax lead themselves to less bugs, than those that follow C like syntax.
>
> That's probably skewed by C being the most popular language, which is optimised for bug creation.

The guy explain that for beginner it is worse, but after 3+ years of experience, C syntax wins. Most likely because C style has become a de facto standard, and that the benefit of standardization outweigh the initial confusion.

He explains that the same goes for strong typing.
March 20, 2015
On Friday, 20 March 2015 at 07:37:04 UTC, Paulo  Pinto wrote:
> Language features should be tested with real users using scientific validation processes, instead of being blindly added to a language.

There is nothing intrinsically more scientific about basing a decision on a study rather than experience and judgement (including aesthetic judgement), which is not to say that more data cannot be useful, if thoughtfully considered.  The problem is that people tend to emphasize tangible hard data over sometimes more important but less easy to measure factors - the drunk looking for his keys under the lamppost 'because that is where the light is'.

So one must be careful to avoid being dazzled by shiny 'scientific' approaches when their value remains yet to be proven.


Laeeth.
March 20, 2015
On 3/20/2015 3:55 PM, Laeeth Isharc wrote:
> So one must be careful to avoid being dazzled by shiny 'scientific' approaches
> when their value remains yet to be proven.

True. Scientific studies of human behavior are notoriously difficult to remove hidden biases from.

March 21, 2015
On 21/03/2015 8:40 a.m., weaselcat wrote:
> On Friday, 20 March 2015 at 17:04:20 UTC, ketmar 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.
>
> I wish there was a blend of modern IDEs with the editing/customizability
> power of emacs/vim. mono-d and DDT's utilities are far ahead of anything
> available for D in emacs/vim, but the actual IDEs themselves are
> difficult to work with.

You guys are giving me ideas...
March 21, 2015
On Friday, 20 March 2015 at 18:31:07 UTC, Paulo Pinto wrote:
> On Friday, 20 March 2015 at 17:25:54 UTC, H. S. Teoh wrote:
>> 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.
>
> 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.

What I was going to say too, neither CLI or GUI will win, speech recognition will replace them both, by providing the best of both.  Rather than writing a script to scrape several shopping websites for the price of a Galaxy S6, I'll simply tell the intelligent agent on my computer "Find me the best deal on a S6" and it will go find it.

As for touch, seems like a dead-end to me, far less expressive than anything else and really only geared for rudimentary interaction.  It may always be there but you likely won't use it much.  I do think some sort of hand gesture-based interface will stick around for when voice isn't expressive enough, ie you'll still want to use your hands when painting:

http://www.engadget.com/2015/03/19/jaw-dropping-magic-leap-demo/

That video is not the way it will be done, as waving your arms around Minority Report-style is way too much effort, but something akin to the small finger movements I make on my touch-based trackpad, but in 3D, will likely be it.