[Semi OT] The programming language wars

John Colvin via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 21 08:10:37 PDT 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

In general I'm in agreement with you, but I think there *is* a 
place for more visual structure than a terminal editing a 
text-file can give you (essentially 1-D or maybe 1.5D, whatever 
that means). Some models/data/tasks are inherently more intuitive 
and quicker to work with in 2D.

More information about the Digitalmars-d mailing list