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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,d5b211b0c1ffcf3e X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.204.152.217 with SMTP id h25mr409548bkw.3.1339694329710; Thu, 14 Jun 2012 10:18:49 -0700 (PDT) Path: e27ni48025bkw.0!nntp.google.com!news1.google.com!news3.google.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!193.141.40.65.MISMATCH!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Practicalities of Ada for app development Date: Mon, 11 Jun 2012 10:37:09 +0200 Organization: cbb software GmbH Message-ID: <1us0xnzeg49gc$.oc96avhse95q$.dlg@40tude.net> References: <79c5c9f7-4b72-4990-8961-b3e2db4db79b@qz1g2000pbc.googlegroups.com> <98ef69fe-f5af-485b-89b2-9358059f4582@googlegroups.com> <1q346u53zhu10.p16uyzeau73b.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: FbOMkhMtVLVmu7IwBnt1tw.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2012-06-11T10:37:09+02:00 List-Id: On Sun, 10 Jun 2012 19:37:41 -0500, Nasser M. Abbasi wrote: > On 6/10/2012 2:47 PM, Dmitry A. Kazakov wrote: > >>It is not worth the efforts to bother about that, >> because, as I said, patterns is a bad idea in general. > > Have not followed the whole discussion here. But I just > wanted to mention on the above, is that Mathematica is based > on just this concept. Patterns. It is really a pattern > replacement language at its core. > > For example, in Mathematica, when I define a function > > f[x_] := x^2 > > x_ above means the pattern x. On the right side, the > pattern named x is replaced by x raised to 2. That is > all what Mathematica does. > > When no more pattern matching replacement can be done, the final > resulting expression is evaluated and the result returned. It was called macro expansion in earlier days. An idea by margin more horrific than patterns in their original meaning (1. A language used to define a formal language; 2. Texture). Yes, I am aware that the new generation of awful languages uses "pattern" instead of "macro." I cannot, sorry, too old for that. Anyway a preprocessor integrated into the language syntax is the worst nightmare one can imagine. If you proposed curly brackets and equality as assignment operator for Ada, that would be a lesser shock to me. (:-)) BTW, Ada has macros, they are called "generics." > My point is pattern based languages can be very powerful, > Mathematica is an example, may be the issue is implementation > and such. One aspect of languages evolution is dropping powerful constructs invented at the dawn of computing, while remaining at the same level of expressiveness. The most notorious example is goto. Powerful constructs are dangerous. You don't use nukes to drill a whole in the wall... -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de