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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: "functional" programming in Ada Date: Tue, 6 Mar 2018 17:37:55 +0100 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: MyFhHs417jM9AgzRpXn7yg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 X-Notice: Filtered by postfilter v. 0.8.3 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:50852 Date: 2018-03-06T17:37:55+01:00 List-Id: On 06/03/2018 17:00, Manuel Collado wrote: > El 06/03/2018 a las 16:08, Dmitry A. Kazakov escribió: >> On 06/03/2018 15:35, Alejandro R. Mosteo wrote: >>> >>> Do you find something inherently wrong, >> >> Yes, both functional programming paradigm and ways to break out of it. >> The latter is doubly wrong. If functional programming is so cool why >> would anybody wrap procedural building blocks into functional ones? >> > > Well, it may sound a bit heterodox, but IMHO functional programming is > just a subset of imperative (= procedural) programming. > > - Functional programming = expressions > - Imperative programming = expressions + variables + procedural actions Imperative is in opposition to declarative. Another axis is stateless vs. stateful. Procedural is usually attributed to the method of decomposition: procedural vs. object vs. functional vs. data/event driven etc. Ada used to strictly separate imperative from declarative and took care about the states, especially about the correspondence between the program state and problem domain. Then Ada supported both procedural and object decomposition, even Ada 83 with its abstract data types. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de