Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site watmath.UUCP Path: utzoo!watmath!idallen From: idallen@watmath.UUCP Newsgroups: net.unix,net.cog-eng Subject: Re: hang vol_ser=123456 file=mytape mode=read_write density=1600 Message-ID: <7265@watmath.UUCP> Date: Mon, 19-Mar-84 01:38:41 EST Article-I.D.: watmath.7265 Posted: Mon Mar 19 01:38:41 1984 Date-Received: Mon, 19-Mar-84 07:31:09 EST References: <3533@utcsrgv.UUCP>, <135@looking.UUCP>, <363@dual.UUCP>, <1817@rlgvax.UUCP> Organization: U of Waterloo, Ontario Lines: 22 The B Programming Language and environment distributed by Honeywell and written by the U of Waterloo Software Development Group started out using "-" to indicate options without values, and kwd=value for options with values. Several years ago, it changed to use both "+" and "-" for options. "+" turns the option on, e.g. +warnings or +w; "-" turns it off. I was concerned about the extra shift for the "+", but after using it for a while, I find it's good. Options are full words. This means it's easy to see what an option does when you spell it out, but it means you can't bunch options together (-alxww) like some (sigh) UNIX commands allow. Whatever the syntax, the two best features of the B Environment are the use of full words for options and the fact that everything is the *same*. The same option word means the same thing in every command. The position of options with respect to arguments is almost always unimportant. "lc idallen -catalogs +files" and "lc -catalogs +files idallen" are identical. Waterloo has both B and C library routines that let a programmer just fill in a table of option words and corresponding variables -- the routine does all the command line parsing and sets the variables for you. -- -IAN! (Ian! D. Allen) University of Waterloo