>Two different things: a quick command or short script to get something done, and writing an application.
Are they? I mean isn’t programming very broadly defined as the implementation of a solution to a problem/task? If that is the case, then shell-scripting is, obviously, just another case of programming. (IE Batch programming and application programming are still both programming.)
>I’d rather use a command with awk, sed, grep, etc., for some on-the-fly task (or even a scheduled one) than design and write an object-oriented application.
...but you yourself said that that was no different from using APIs and being SOL when they change. I’m of the belief that a good scripting system is something good/desirable; take Scheme or LISP for example, as they are scripting/interpreted languages... also note that LISP _was_ the equivalent of the batch-file/script for the “Lisp Machines” { Search that term here: http://www.gigamonkeys.com/book/introduction-why-lisp.html }
>For example, if you were throwing those text files on my server constantly, wanting them to be parsed out for some task, a one-line command on a chron job could probably do the job very well. I don’t even need to recompile when you change the parsing criteria.
This is true. However it seems to be the poor-man’s not-quite “hot code deployment”. ( Search that term here: http://www.defmacro.org/ramblings/fp.html ) In all, it sounds very much like you are advocating a needlessly componotized/isolated version of the Lisp Machine’s capabilities wherein the scripting-language LISP was the glue that held the system together (Obviously you could run other programs, compilers, interpreters, apps, etc under such a system.).
And different things are suited to different tasks. I'm not going to design and build a whole OO program when a simple shell script will suffice. Conversely, scripts are too often used when a full application would be better, which is one reason I don't like Perl. It's often used as a sledgehammer for any problem, writing huge applications. I also think it's ugly as a full programming language, but that's a personal thing.
but you yourself said that that was no different from using APIs and being SOL when they change.
That is a problem with any programming, so assigning it only to scripts was unfair.
In all, it sounds very much like you are advocating a needlessly componotized/isolated version of the Lisp Machines capabilities
I hate LISP. It was the worst language I had to deal with in grad school, and that included FORTRAN and COBOL. For this kind of work I like small components that do their job and only their job well, and then chaining them together for the complete task -- shell scripts.
For example, a few weeks ago I could have written or purchased an app, or done LISP, to get what I needed out of a couple gigabytes of http logs. But a one-liner (admittedly one rather long line) using cat, grep and sed with some pipes and redirects gave me what I wanted in about a minute.
On the other hand, I had some freaky stuff that needed to be done with a database regularly to fix a deficiency in a purchased app, and the help desk rep needed to be able to hand-hold the process and make decisions along the way, plus get the info necessary for him to make such decisions. Yes, you guessed it, an OO application for that one.