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

Reply via email to