[comp.unix.shell] Welcome to comp.unix.shell

roger@yuba.wrs.com (Roger Rohrbach) (09/05/90)

    Welcome to comp.unix.shell!  I hoped to post this last week, but
forgot.  This morning I found 23 articles- obviously the group will
be of service.

    I am reprinting parts of my original call for discussion below
for those of you who wonder what the charter of this group is.  Again,
welcome!

---
> From: uunet!wrs!kymijoki!roger@ncar.ucar.edu (Roger Rohrbach)
> Newsgroups: news.announce.newgroups,comp.unix.questions,comp.unix.wizards
> Subject: CALL FOR DISCUSSION: comp.unix.shell.programmer
> Date: 4 Jun 90 07:22:42 GMT

Abstract.

    This is a call for discussion of a proposed new newsgroup, tentatively
named "comp.unix.shell.programmer".  The suggested purpose of this group is
to serve as a technical forum for the exchange of information about the
use of the Unix command language (shell) and its "operators" - the software
tools that Unix provides - for writing useful programs.  The programming dis-
cussion would concentrate on the Bourne and Korn shells, which are designed
for this purpose, but C shell programming could be addressed as well, as could
issues of portability, style, and the like.


Rationale.

    There is, amazingly, no newsgroup dedicated to the fine art of shell
programming.  As Kernighan and Pike have noted, the shell is a powerful
programming language whose operators are whole programs.  Most "quick and
dirty" programming tasks can be done with some combination of the shell, awk,
sed, and the other standard Unix tools, and  many software tools designed for
general use are also appropriately implemented this way.  To program the shell
effectively requires knowledge both of its sometimes arcane syntax, and of
filters such as awk, sed, and grep, which are composed with one another via
the shell to perform complex operations.  Many software developers working
with Unix do not trouble themselves with learning how to use the shell and
other tools, often for lack of examples of non-trivial applications.  I learned
to program by reading _Software_Tools_,  which introduced me to notions
such as

	- let the machine do the work for you
	- build on existing tools and make new ones combinable
	- solve a general problem
	- most of the solution today is better than all "tomorrow"

and other tenets of what is now called the "Unix philosophy".  This philosophy
has led me to resort to the shell more often than to C or some other language
when considering the development of a new software tool.  An ongoing exchange
of shell programming knowledge and experience on Usenet should help popularize
this approach and increase the effective use of Unix.
 
I have finally come to regard "shell programming" as the activity of
constructing useful Unix software tools without (typically) using a compiled
language.  Thus, it would be reasonable to expect information about regular
expression syntax, sed scripts, awk programming, the use of the join, comm,
uniq, tr, and sort commands in pipelines, and so on, to appear in this news-
group along with shell programming techniques.
Roger Rohrbach                                  sun!wrs!roger    roger@wrs.com
- Eddie sez: ----------------------------------------------- (c) 1986, 1990 -.
|   {o >o                                                                     |
|    \ -) "I was an infinitely hot and dense dot."                            |