Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!weretis.net!feeder1.news.weretis.net!feeder.erje.net!news-1.dfn.de!news.dfn.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Robert Klemme Newsgroups: comp.lang.java.programmer Subject: Re: Standard Design and Development Methodologies Date: Sun, 20 Nov 2011 13:58:34 +0100 Lines: 41 Message-ID: <9isbrtFua7U1@mid.individual.net> References: <4908121.2133.1321762391730.JavaMail.geo-discussion-forums@prou19> <16886275.1483.1321775127967.JavaMail.geo-discussion-forums@prfx4> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net zx6RmIoxkyv4faTkXsLATA1wfhj/EwVLc15a+ZQCAjpibKQII= Cancel-Lock: sha1:t3yYzme4GVPwyuhw4ptZsstaRIo= User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 In-Reply-To: Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:10094 On 11/20/2011 09:49 AM, Derek K. Wodenhouse wrote: > 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). It's also pretty easy to create DSL's in - say Ruby - so Lisp is not unique with respect to that. One can go even further and call any Java library (in fact, _any_ library) a domain specific language. The difference with Lisp is that it's basic syntax is trivial (sexpr) and it has Macros which can make special forms look like regular function calls by which means you can do things in this language which you cannot (or not as easily) in others. Kind regards robert