From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,449b3383afc55069 X-Google-Attributes: gid103376,public From: "John G. Volan" Subject: Re: Case sensitivity [was Re: type names (was Re: Child package: private type and IO)] Date: 1998/03/05 Message-ID: <34FF0A42.A4AD8E28@ac3i.dseg.ti.com>#1/1 X-Deja-AN: 331183329 Content-Transfer-Encoding: 7bit References: <34FE0BA7.CD056FB3@ac3i.dseg.ti.com> <199803051519.QAA15344@basement.replay.com> Content-Type: text/plain; charset=us-ascii Organization: Raytheon TI Systems Mime-Version: 1.0 Reply-To: johnv@ac3i.dseg.ti.com Newsgroups: comp.lang.ada Date: 1998-03-05T00:00:00+00:00 List-Id: > On Wed, 04 Mar 1998 18:19:20 -0800, "John G. Volan" > wrote: > > > ... > > package and a type, so there are fewer things to name. (2) Other > > languages tend to be case-sensitive, so capitalization is available as a > > mechanism for "marking". For instance, instead of having to say: > > ... Note that in the context of this paragraph it was pretty clear that I was talking about other *object-oriented* languages. Perhaps I should have fully-qualified this sentence as: "The most popular modern class-based object-oriented languages tend to be ..." :-) Jeff Carter responded: > > Let's see, I've used > > FORTRAN > COBOL > APL > Pascal > BASIC > Databus > MOBOL-2 > Several assemblers > C > LISP > SNOBOL > Ada > > How many of these are case sensitive? One. So my experience is that > "other languages" (than Ada) tend not to be case sensitive. That's true, but out of the above set (to my knowledge) only Ada(95) is a fully object-oriented language, per se. Okay, I'll give you Pascal if you mean Object Pascal, and Lisp too if you mean CLOS, and COBOL as well if you mean the recent object-oriented incarnation. (Not sure about BASIC -- does e.g. Visual Basic do objects and classes? Never heard of MOBOL-2, what is that?) So, of the major object-oriented contenders out there we have: Case-Sensitive Case-Insensitive -------------- ---------------- Smalltalk Ada Eiffel Common Lisp Object System C++ Object Cobol (is that the name?) Objective C Object Pascal Java Modula-2/3 A 60%-40% split in favor of case-sensitivity. Hmm, not a landslide victory ... but how useful and/or scientific is it to just list names of languages? All that speaks to is the level of popularity of case-sensitivity among the *designers* of object-oriented programming languages. I'd wager if you did a scientific survey of object-oriented *programmers* and weighted the scores by volume of actual *usage* of these languages, the case :-) for case-sensitivity's popularity would be pretty strong. At any rate, my main point is not whether case-sensitivity is more popular among object-oriented programmers than case-insensitivity (even although I believe that to be true). And I'm not trying to make any particular religious judgment about whether case-sensitivity is "better" based solely on its popularity. My point is simply that when case-sensitivity *is* available in an object-oriented language, it somewhat reduces the mental workload for the authors and readers of code: They don't need to resort to elaborate schemes of agglutinating special suffixes or prefixes just to distinguish object names from class/type names. Capitalization standards alone can provide an adequate marking mechanism (at least to cover the object-vs-class distinction). -- Signature volanSignature = new Signature ( /*name: */ "John G. Volan", /*employer: */ "Raytheon Advanced C3I Systems, San Jose", /*workEmail: */ "johnv@ac3i.dseg.ti.com", /*homeEmail: */ "johnvolan@sprintmail.com", /*selfPlug: */ "Sun Certified Java Programmer", /*twoCents: */ "Java would be even cooler with Ada95's " + "generics, enumerated types, function types, " + "named parameter passing, etc...", /*disclaimer:*/ "These views not packaged in COM.ti.dseg.ac3i, " + "so loading them throws DontQuoteMeError. :-)" );