And I cut my teeth as a developer on DOS, Sun OS (pre-Solaris), and HP-UX, and early Linux back in the day.
And I cut my teeth as a developer on DOS, Sun OS (pre-Solaris), and HP-UX, and early Linux back in the day.
Just to clarify on what we think as problem could differ:
C:\Users\hzhou>ls *.txt
new 2.txt
C:\Users\hzhou>ls new 2.txt
ls: new: No such file or directory
ls: 2.txt: No such file or directory:)
I actually didn't know that dir supported multiple globs for filenames! I've never had a need for that.
Super cool.
Directory of C:\Users\fred
12/14/2017 04:44 PM 1,556 new 2.txt 1 File(s) 1,556 bytes 0 Dir(s) 75,989,876,736 bytes free
C:\Users\fred>dir new 2.txt Volume in drive C has no label. Volume Serial Number is BA05-C445
Directory of C:\Users\fred
Directory of C:\Users\fred
File Not Found
C:\Users\fred>
Ah I see, you have a file "new 2.txt", I was a bit confused.
Not sure what you mean by only 1 level of quoting being a problem, sorry.
This is highly ironical, given this thread.
Some people seems to advocate for programs to be better than humans at globbing filenames.
Outside of Make which has long and boring historical reasons for not supporting spaces well, just about every program is fine with spaces.
$ take this list of transactions and for each group of duplicate names show me the name and total dollar amount spent, sorted from highest to lowest
$ I think I have a SQL command for that. Are you feeling lucky? [y/n] y
Foo $25 Bar $20 Blah $15
$ Was this what you were looking for? [y/n]
A similar trend is happening in electronic communication: from letter to email, to text, to emoji's. The text is just one historical communication way and there's no reason it should be of any real interest to modern communicator as long as we have emojis ... wait, we've been there before.
The GUI, which can include arbitrary number of text boxes for command line style entry, is a superset of what the command line can do.
https://www.powergrep.com/screens/replace.png
There is such a thing as a cluttered graphical interface, and some complexity cannot just be abstracted away.
> The GUI, which can include arbitrary number of text boxes for command line style entry, is a superset of what the command line can do.
That would be like saying that because I am able to write "First open this app by clicking on the upper-left icon, then click File, new File", would mean that text is a superset of the GUI because it can describe visual cues. An abstraction can always replace another, it does not mean it is a superset of it.
Take the source code for your GUI application, this is pure text. In the early days, there was shell code that would describe terminal GUI of sort to configure the linux kernel. This shell code is still commands read token per token with matching behavior. Because an abstraction can be traded for another (which could be argued to be a founding principle of computer science), does not mean that one is a superset of the other.