gnustandards-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnustandards standards.texi


From: Richard M. Stallman
Subject: gnustandards standards.texi
Date: Mon, 12 May 2014 07:24:25 +0000

CVSROOT:        /sources/gnustandards
Module name:    gnustandards
Changes by:     Richard M. Stallman <rms>       14/05/12 07:24:25

Modified files:
        .              : standards.texi 

Log message:
        (Which Languages to Use): Add Lisp.
        (User Interfaces): Explain better about avoiding device-dependence.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnustandards/standards.texi?cvsroot=gnustandards&r1=1.236&r2=1.237

Patches:
Index: standards.texi
===================================================================
RCS file: /sources/gnustandards/gnustandards/standards.texi,v
retrieving revision 1.236
retrieving revision 1.237
diff -u -b -r1.236 -r1.237
--- standards.texi      31 Mar 2014 23:33:36 -0000      1.236
+++ standards.texi      12 May 2014 07:24:25 -0000      1.237
@@ -3,7 +3,7 @@
 @setfilename standards.info
 @settitle GNU Coding Standards
 @c This date is automagically updated when you save this file:
address@hidden lastupdate March 31, 2014
address@hidden lastupdate May 12, 2014
 @c %**end of header
 
 @dircategory GNU organization
@@ -295,7 +295,7 @@
 make heavy use of templates.  So is Java, if you compile it.
 
 When highest efficiency is not required, other languages commonly used
-in the free software community, such as Scheme, Python, Ruby, and
+in the free software community, such as Lisp, Scheme, Python, Ruby, and
 Java, are OK too.  Scheme, as implemented by address@hidden, plays a
 particular role in the GNU System: it is the preferred language to
 extend programs written in C/C++, and also a fine language for a wide
@@ -828,22 +828,25 @@
 to invoke it.  It is useful sometimes to make a link to a utility
 with a different name, and that should not change what it does.
 
-Instead, use a run time option or a compilation switch or both
-to select among the alternate behaviors.
+Instead, use a run time option or a compilation switch or both to
+select among the alternate behaviors.  You can also build two versions
+of the program, with different names and different default behaviors.
 
 @cindex output device and program's behavior
-Likewise, please don't make the behavior of the program depend on the
-type of output device it is used with.  Device independence is an
-important principle of the system's design; do not compromise it merely
-to save someone from typing an option now and then.  (Variation in error
-message syntax when using a terminal is ok, because that is a side issue
-that people do not depend on.)
+Likewise, please don't make the behavior of a command-line program
+depend on the type of output device it gets as standard output or
+standard input.  Device independence is an important principle of the
+system's design; do not compromise it merely to save someone from
+typing an option now and then.  (Variation in error message syntax
+when using a terminal is ok, because that is a side issue that people
+do not depend on.)
 
 If you think one behavior is most useful when the output is to a
 terminal, and another is most useful when the output is a file or a
-pipe, then it is usually best to make the default behavior the one that
-is useful with output to a terminal, and have an option for the other
-behavior.
+pipe, then it is usually best to make the default behavior the one
+that is useful with output to a terminal, and have an option for the
+other behavior.  You can also build two different versions of the
+program with different names.
 
 There is an exception for programs whose output in certain cases is
 binary data.  Sending such output to a terminal is useless and can



reply via email to

[Prev in Thread] Current Thread [Next in Thread]