Pathing in the D ecosystem is generally broken (at least on windows)

Laeeth Isharc via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 29 21:35:32 PDT 2015


On Wednesday, 30 September 2015 at 01:59:38 UTC, Jonathan M Davis 
wrote:
> On Wednesday, 30 September 2015 at 00:20:46 UTC, H. S. Teoh 
> wrote:
>> On Tue, Sep 29, 2015 at 04:50:37PM -0700, Walter Bright via 
>> Digitalmars-d wrote:
>>> Really, what's the case for not supporting this? Am I really 
>>> a unique snowflake?
>>
>> Nope, you're just too smart to use a GUI. ;-)
>>
>> Issues like these were part of what convinced me that the 
>> so-called desktop metaphor was bunk and that the current 
>> infatuation with GUIs is a case of emperor's clothes, and 
>> drove me to embrace the *nix shell.
>
> GUIs work quite well for certain types of applications - 
> especially those that are very visual (e.g. Photoshop). And in 
> general, if they're done correctly, they allow you to do a 
> certain set of operations efficiently and easily, but by their 
> very nature, they don't tend to be very flexible, and when you 
> do try and make them flexible, they tend to get very 
> complicated, very fast.
>
> Contrast that with Unix utilities, which are usually designed 
> to do one job and do it well and then interoperate with other 
> such utilities cleanly. Because each one is simple, they work 
> well, and because they're composable, you have a _lot_ more 
> flexibility than you get with a GUI. So, in general, the unix 
> philosophy just ends up working better. But it _does_ require a 
> certain kind of thinking from the user that tends to go well 
> with programmers but not so well with the average joe, and even 
> with that in mind, there _are_ applications that work better as 
> GUIs.


Excellent unfolding of this point, and one I have been pondering 
for my own use case.  I would like to be able to explore data 
interactively using various building blocks written in D that I 
can strap together quickly.  User interfaces matter so much for 
things you do everyday, yet often people are more concerned with 
making it shiny for the marketing guys than productive for 
serious users - especially so for relative monopolies.

It's interesting to see how different applications tackle this 
problem.  It doesn't necessarily need to be either GUI or command 
line.  For example, the Bloomberg terminal is kind of a 
combination (more old-school GUI than not, and the GUI bit is the 
one I like least).  The ipython/Jupyter notebook is another kind 
- that's great for writing intermediate size chunks of code but 
not so much for use as a shell.  So another possibility is the 
qtconsole style.  (Maybe R and Julia, but I am less familiar with 
those).  I think in both Jupyter and qtconsole you can have 
graphical widgets (certainly in Jupyter).

Adam Ruppe's terminal is quite an interesting approach.  as you 
can display images inline within the terminal window, and not 
hard to make them interactive.  Possibly a shell with graphics 
and some kind of light scripting language like Lua can be the 
best of both worlds, in particular in relation to the 
composability aspect.

In Bloomberg if I want to see which bonds are deliverable for the 
front month gilt future, I can type "G A[F9]DLV[ENTER]" and see 
an editable analysis window pop up - not quite a commandline, but 
shortcuts on steroids.  It's easy to replicate this kind of 
shortcut in a terminal (including prompts/helptext etc) whilst 
still having the ability to do more powerful things using the 
commandline without context switching.

for example findticker --macro --confidence/consumer GBP | less
(not something that will go quickly in Bloomberg because GUI).

or findticker -- macro --confidence/consumer OECD | chart -s 2009 
-f monthly
(find all OECD consumer confidence numbers and plot them since 
2009)



Laeeth.


More information about the Digitalmars-d mailing list