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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public From: jsa@alexandria (Jon S Anthony) Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/09/11 Message-ID: #1/1 X-Deja-AN: 179982985 sender: news@organon.com (news) references: <01bb9a1e$24c669e0$32ee6fcf@timhome2> <50p68s$cpi@zeus.orl.mmc.com> organization: Organon Motives, Inc. newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-09-11T00:00:00+00:00 List-Id: In article <515mq2$bri@goanna.cs.rmit.edu.au> ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) writes: > jsa@alexandria (Jon S Anthony) writes: > >Hmmm, I am somewhat surprised that you of all people would not include > >Prolog in that list. What's the scoop? > > Prolog is a hybrid of a weak declarative language (weak because the > traditional Prolog implementation doesn't quite match the semantics of > Horn clause programs, and the difference sometimes matters a lot) Agreed. > with a rather limited imperative language. It is an _extremely_ practical > tool, but almost all Prolog programs make use of the non-declarative parts > of the language. In the same way, Lisp is an _exceptionally_ practical tool > for almost every kind of programming, including writing web servers and > operating systems, but it is not a _pure_ declarative language, so didn't > make it into the list of declarative languages. Hmmm, I have not typically put Lisp in such a category even if it were more "purely applicative" - making a distinction between "declarative" and non-procedural, with Lisp falling into "functional" which is also non-procedural, so I was not "surprised" by its ommission. But, shrug, I can certainly see how you could just say functional things are simply another kind of declarative things. > Mercury _is_ on the list because the _implemented_ semantics of any > Mercury program coincides with its theoretical semantics as a Horn > clause program. I have begun looking into Mercury and I must say that it seems to have a lot going for it. > For what it's worth, I do not accept _any_ of the OOP languages I listed > in my previous message as in any way declarative. This is not to say that > you couldn't have a declarative OOP language; it is arguable that Haskell > is one. Completely agreed on both counts. /Jon -- Jon Anthony Organon Motives, Inc. 1 Williston Road, Suite 4 Belmont, MA 02178 617.484.3383 jsa@organon.com