Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Derek K. Wodenhouse" Newsgroups: comp.lang.java.programmer Subject: Re: Standard Design and Development Methodologies Date: Sun, 20 Nov 2011 03:49:39 -0500 Organization: Occupy rec.arts.tv Lines: 27 Message-ID: References: <4908121.2133.1321762391730.JavaMail.geo-discussion-forums@prou19> <16886275.1483.1321775127967.JavaMail.geo-discussion-forums@prfx4> NNTP-Posting-Host: boE97fIOqjAfikXEhaRruQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (CYGWIN_NT-6.0/1.5.22(0.156/4/2) (i686)) Hamster/2.0.2.2 X-Notice: Filtered by postfilter v. 0.8.2 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:10090 On 20/11/2011 2:45 AM, Lew wrote: > Derek K. Wodenhouse wrote: >> Lew wrote: >>> As for ontologies, the most useful ones I know are event-driven >>> programming, object-oriented programming, MVC (model-view-controller), >>> layers (Law of Demeter), and "noun-and-verb" modeling. That last is my >>> own term for using the language of the problem domain (its nouns and >>> verbs) to define your program structures. >> >> That last is also known as "programming in Lisp". ;) > > Trivially, since the technique applies irrespective of platform. > > It's also known as "programming in /X/", where /X/ is any programming language. Not nearly as strongly. Lisps let you reify nearly any program abstraction, and build a bridge from the solution domain to the problem domain, expressing most of the business logic in problem domain terms. A common program design in another language consists of a problem domain focused library, plus an application layer atop that that contains the business logic but is still largely written in solution domain terms, with a sprinkling of problem domain nouns and verbs. A common program design in Lisp consists of a domain-specific language for the problem domain, in Lisp, and an application in that language with a sprinkling of generic-Lisp nouns and verbs (mostly lists and data structure traversals, and/or numbers and arithmetic -- much of which might be regarded as present also in the problem domain).