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!newsfeed00.sul.t-online.de!t-online.de!news-lei1.dfn.de!news-ham1.dfn.de!news.uni-hamburg.de!cs.tu-berlin.de!uni-duisburg.de!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: ADA Popularity Discussion Request Date: Mon, 6 Sep 2004 17:32:07 +0000 (UTC) Organization: GMUGHDU Message-ID: References: <49dc98cf.0408110556.18ae7df@posting.google.com> <6F2Yc.848$8d1.621@newsread2.news.pas.earthlink.net> NNTP-Posting-Host: l1-hrz.uni-duisburg.de X-Trace: a1-hrz.uni-duisburg.de 1094491927 24967 134.91.1.34 (6 Sep 2004 17:32:07 GMT) X-Complaints-To: usenet@news.uni-duisburg.de NNTP-Posting-Date: Mon, 6 Sep 2004 17:32:07 +0000 (UTC) User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (HP-UX/B.11.00 (9000/800)) Xref: g2news1.google.com comp.lang.ada:3392 Date: 2004-09-06T17:32:07+00:00 List-Id: jayessay wrote: : Ole-Hjalmar Kristensen : writes: : :> >>>>> "j" == jayessay writes: :> :> j> In any application/system of any significance these two go hand in :> j> hand. The second is achieved by crafting a constrained narrowly :> j> focused domain specific language _within_ Lisp, which allows the :> j> programmer to then work at the level of the domain, _both_ :> j> syntactically as well as semantically. This is why Lisp macros :> j> (please don't confuse with any other kind of macro you've come across :> j> before) are such a big deal. :> :> j> Now, admittedly, creating these is not something your typical code :> j> monkey is going to grok. This is one of the big reasons why Lisp will :> j> never be as "popular" as something like Java. But then your typical :> j> code monkey isn't going to be building your core internal application :> j> api either. Once you've built this though, even a code monkey will be :> j> a lot more productive and produce much more clean and robust code. :> :> I do not consider myself a Lisp programmer, but I have programmed :> enough Lisp to conclude that you probably are correct that the ability :> to create a constrained narrowly focused domain specific language :> within Lisp could very well outweigh the advantages of static typing. : : If you've been there, you know this. Actually, the incremental bottom : up development with _continual_ testing of almost every code snippet : is a significant advance above static typing. I do these little steps all the time, _with_ static type checks, documenting my expectations in lots of small test-programs. But why do you assume that static typing replaces the need to test every corner of the software? : In this sort of : development you are typically _extensively testing even partial : expressions or single clauses_ (well below the level of a function) : and at each increment of accretion testing that until you have a : function at which point it is tested. Yes, tested... : The upshot is you have a : stunning level of code path coverage - not just for type checks, but : logic checks as well. But the "incremental testing fans" do not assume that testing many cases will give them type coverage? Likewise, I guess they know that the set of paths tested and the set of paths taken at runtime may have little overlap in unwelcome cases (given some types are large)? -- Georg