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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c406e0c4a6eb74ed X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!wn14feed!worldnet.att.net!204.71.34.3!newsfeed.cwix.com!nntp.abs.net!rcn!feed3.news.rcn.net!not-for-mail Sender: jsa@rigel.goldenthreadtech.com Newsgroups: comp.lang.ada Subject: Re: ADA Popularity Discussion Request References: <49dc98cf.0408110556.18ae7df@posting.google.com> <6F2Yc.848$8d1.621@newsread2.news.pas.earthlink.net> <413e2fbd$0$30586$626a14ce@news.free.fr> <9snhizowcwg9.16smaxkxhyu67$.dlg@40tude.net> From: jayessay Organization: Tangible Date: 08 Sep 2004 12:26:54 -0400 Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: DXC=`^eA1e00R]m=BkYWI7:6bU3OT9S9:mU87W:XOKC=^aM2i8keRm=3nZV5\TK1c9 X-Complaints-To: abuse@rcn.com Xref: g2news1.google.com comp.lang.ada:3491 Date: 2004-09-08T12:26:54-04:00 List-Id: "Dmitry A. Kazakov" writes: > On 08 Sep 2004 10:52:05 +0200, Ole-Hjalmar Kristensen wrote: > > >>>>>> "LD" == Lionel Draghi writes: > > > > LD> jayessay wrote: > > LD> ... > > >> Exactly. Actually this sort of development will save you much more > > >> time and money than you could ever hope for from typical static typing. > > > > LD> How could this be? > > LD> With powerful typing you write code. > > LD> Without, you write as much code and much more tests. > > > > You are missing the point. He is not arguing against strong typing, > > but against *static* typing. You, Ole, are on target. Dmitry, you need some misconceptions cleared up. > Apparently, but when consistently pursued that kind of argumentation > inevitable leads to arguing against any typing, especially against > ADT. No, it does not. This is simply and clearly incorrect. > The philosophy behind is that types are random artifacts of the > program, No, this is also incorrect. The real difference is that with dynamic typing _values_ have types _not_ variables. Since _variables_ don't even exist at runtime, your type information is largely gone at runtime in static systems. In dynamically typed system you can never have something like Unchecked_Conversion, because the type information is actually with the value at all times. You can convert, but this always creates a _new_ value. > rather than the basis of software design. When the program > is not thought in terms of types, there is nothing to check, either > statically or dynamically. This is wrong on two counts: First, types are indeed part of program design in dynamic languages. In some respects they are even more important than in static languages as they exist at _all_ times: compile load (link) and run. They are _always_ checked _all_ the time. If you want to say "Ooo! this has a performance hit", fine, but with current systems any such checks are basically in the noise. OTOH, you can annotate a dynamic program with static type information and/or use type inference to remove this issue from most cases. Second, types are _not_ the only thing to check in a program. There are many aspects that are not and even cannot be described by types. This should be obvious or else you would never have the need to ever write any functions/procedures. Checking the correctness of algorithms is every bit as important as type consistency. I'm pretty sure that you (anyone) will agree with this once brought to your attention. I read this newsgroup mostly as a lurker these days. I used to be a static typist, advocated it and thought Ada was a pretty good informal type system. I'm not arguing that anyone here should stop using Ada (or C++ or Haskell or whatever static language floats your boat). I'm simply trying to correct a lot of misinformation here about (Common) Lisp, "extreme/agile/incremental" development, and dynamically typed languages in general. /Jon -- 'j' - a n t h o n y at romeo/charley/november com