Article View: comp.lang.java
Article #276Re: Will Java kill C++? (definition of strong typing)
From: sparker
Date: Tue, 16 Apr 1996 15:43
Date: Tue, 16 Apr 1996 15:43
50 lines
2867 bytes
2867 bytes
In <3171810F.2E2@funsys.se>, rrg@funsys.se (Robin Rosenberg) writes: >Perhaps a side issue but my cents on the use and misuse of techical term. > [snips] > >We have been reading different books. My book (Eliis Horowitz: Fundamentals of >Programming Languages, Springer Verlag, 1984) says (quote, p.38.) > >"A language is said to be *strongly typed* if the type of all expressions > is known at compile-time". > >Hence Smalltalk and LISP are *not* strongly typed. > >Perhaps you would like to refer to your source? > Well, we could all get into a battle of the books here. If we step back and look at the language terms used, the word 'strong' is both vague and perjorative - hey, who wants to use some wimpy 'weakly'-typed language? The fact is that the strong/weak distinction (originally introduced to distinguish assembly languages from 'high-level' languages) was useful (see the date of your book) but has been obsoleted by developments in languages, concepts, operating systems and compiling techniques. Instead of using the vague 'strong'/'weak' distinction, we should use some more precise distinctions and then take the discussion up from there. The pertinent distinctions would seem to be: *How* typing takes place - the static/dynamic distinction. *When* typing takes place - the early/late distinction. *Breadth* of typing - how wide/narrow are the types handled by the language? For example C and COBOL have only a handful of types. Languages such as C++, ST, and Java, whose class mechanism allows user-definition of types can permit finer distinction of types. Eg in C a string can represent both an address or a set of modem initialization instructions, and this is the only way to implement them. In an OO language, different classes can represent the two. I would judge the latter set of languages to have a 'narrower' typing mechanism than the former. > >-- >Robin Rosenberg Steve Parker *************************************************************************** "It would make him physically ill to think of programming in C++" - Donald Knuth on Edsgar Dijkstra
Technical Details
Message-ID:
<4l0f6o$sec@nkosi.well.com>Path:
arc1-ca.pugleaf.net!pacbell.com!well!usenetReferences:
<31682FFE.2781E494@bbn.com> <DpJyGG.FKK@hkuxb.hku.hk> <denatale-1004960822260001@grail1506.nando.net> <dbell-1104960125190001@wholder2.cts.com> <goochb.327.000893D1@rwi.com> <dbell-1104961159050001@wholder2.cts.com> <316D8523.74D7@concentric.net> <dbell-1 <3171810F.2E2@funsys.se>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!pacbell.com!well!usenet From: sparker@well.com Newsgroups: comp.lang.java,comp.lang.c++,comp.lang.smalltalk Subject: Re: Will Java kill C++? (definition of strong typing) Date: 16 Apr 1996 15:43:20 GMT Organization: The Whole Earth 'Lectronic Link, Sausalito, CA Message-ID: <4l0f6o$sec@nkosi.well.com> References: <31682FFE.2781E494@bbn.com> <DpJyGG.FKK@hkuxb.hku.hk> <denatale-1004960822260001@grail1506.nando.net> <dbell-1104960125190001@wholder2.cts.com> <goochb.327.000893D1@rwi.com> <dbell-1104961159050001@wholder2.cts.com> <316D8523.74D7@concentric.net> <dbell-1 <3171810F.2E2@funsys.se> Reply-To: sparker@well.com NNTP-Posting-Host: sr-tty27-ppp.well.com X-Newsreader: IBM NewsReader/2 v1.2