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.
But it's that simplicity and composability that gives us a lot of
the power that we have with ranges, and I think that you can see
some comparisons between a range-based approach and what you'd
typically get in many other languages (particularly when OO is
involved), where you often end up with objects that have
everything and the kitchen sink in them, which can be quite
useful and in some cases, easier to use, but ultimately it's a
lot less flexible and harder to maintain.
- Jonathan M Davis