And that may be what he meant by failure. If "everyone" isn't using them, then he considers them a "failure".
What I observe however is that these utilities are not going to disappear, they are not going to be replaced; they will remain part of numerous operating systems "everyone" continues to use (maybe they'll be buried beneath the surface but they will still be there).
And therefore they will be "with us" for a long time, because the people that _do_ use them are the ones that build and administer the systems for "everyone" else to use.
If these utilities served no useful purpose, then I think we would get rid of them.
Interesting about git. I was not aware it was built using the shell. CVS also began as a set of shell scripts.
For me, nothing beats the shell for one-liners.
I don't think of this as "prototyping", but I certainly wouldn't mind having some of my better scripts re-written in C.
And given the choice I'd rather hack together a "prototype" using a shell than using some other scripting language, Java or whatever is the "most popular" prototyping environment.
I think the implication is that many would give you back 10 pages. And that's why I generally don't trust the products of most of today's "professional software developers" for doing anything important.
When I read comments like this I'm left with two questions:
1. What are "serious applications"?
2. How does this person define "failed"?
This task of counting word frequencies looks like an ideal job for awk. But there are many ways to do it, and with different UNIX's utilities. UNIX is remarkably flexible.
When awk was introduced it was not imagined that people would try to write 10 page programs with it. But of course, they did. Are these the so-called "serious applications" that some people want to write?
If UNIX utilities and pipes (including the pipe function in C) are a "failure", why are they still with us after so many years? If that's failure, then what is "success"?
I think it comes down to what you're trying to do. For processing text, such as the task discussed in the article, I find UNIX utilities to be enough.
I still have no idea what "serious applications" are. Is text processing "serious"?
Much of UNIX's userland was intended for text processing. And for that it works very well.
Not too long ago, in one well-regarded UNIX-like OS, it was discovered that head could not handle large files over a certain size. Mind you, it would not be an issue if head is used in a pipeline.
But sed, by design, would not choke no matter how large the file, for a simple command like 1q, whether in a pipeline or not.
And that may be what he meant by failure. If "everyone" isn't using them, then he considers them a "failure".
What I observe however is that these utilities are not going to disappear, they are not going to be replaced; they will remain part of numerous operating systems "everyone" continues to use (maybe they'll be buried beneath the surface but they will still be there).
And therefore they will be "with us" for a long time, because the people that _do_ use them are the ones that build and administer the systems for "everyone" else to use.
If these utilities served no useful purpose, then I think we would get rid of them.
Interesting about git. I was not aware it was built using the shell. CVS also began as a set of shell scripts.
For me, nothing beats the shell for one-liners.
I don't think of this as "prototyping", but I certainly wouldn't mind having some of my better scripts re-written in C.
And given the choice I'd rather hack together a "prototype" using a shell than using some other scripting language, Java or whatever is the "most popular" prototyping environment.