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: 103376,35d52809fb2aac8f X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news2.google.com!news1.google.com!volia.net!news2.volia.net!feed-A.news.volia.net!news2.dg.net.ua!npeer.de.kpn-eurorings.net!npeer-ng1.kpn.DE!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Sat, 11 Oct 2008 19:49:29 +0200 From: Georg Bauhaus Reply-To: rm.tsoh+bauhaus@maps.futureapps.de User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Naming convention to identify functions with side effects References: <5654ee5f-aa9f-4fff-87e0-45854b850f26@y38g2000hsy.googlegroups.com> <29ac62e1-78da-4048-ad95-8f88a29f7d31@z6g2000pre.googlegroups.com> <48e13f14$0$6610$9b4e6d93@newsspool3.arcor-online.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <48f0e72d$0$6599$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 11 Oct 2008 19:49:33 CEST NNTP-Posting-Host: 51a02385.newsspool3.arcor-online.net X-Trace: DXC=_\?`9_>[hiFk:C4l9A;OcOMcF=Q^Z^V3H4Fo<]lROoRA8kFgDBhmZ (see below) wrote: > On 11/10/2008 12:32, in article > d032eee0-fbaf-43f4-a18d-9cdf9aeee7d3@b38g2000prf.googlegroups.com, "Marco" > wrote: > >> On Oct 4, 6:05 am, "(see below)" wrote: >>> On 04/10/2008 13:30, in article >>> d49286ef-faa1-4b1b-8e23-0ed80c015...@p10g2000prf.googlegroups.com, "Marco" >>> >>> wrote: >>>> On Oct 3, 5:28 am, "Dmitry A. Kazakov" >>>> wrote: >>>>> Side-effects are bad in any subprograms, be them functions or procedures. >>>> Technically "side-effects" are being used whenever you change an >>>> internal state in a module, which is not always undesired. >>> These are not "side-effects", they are just effects. >>> The whole point of using computers is to cause changes of state. >> http://en.wikipedia.org/wiki/Side_effect_(computer_science) >> >> the functional programming folks would disagree with your "whole point" (I'm probably dense, how is this an inevitable conclusion to be drawn from the article?) > I had a very distinguished group of them as colleagues for nearly 15 years, > so I am only too aware of their profound misunderstanding of what computers > are actually for. Maybe Simon Peyton Jones has finally found a way to make real computers visible to scientists with a preference for world-excluding static functions. In "Tackling the Awkward Squad" (2005) he introduces Haskell as "the world's finest imperative programming language" using monads), drawing attention to I/O ("I/O is the raison d'�tre of every program. ---a program that had no observable effect whatsoever (no input, no output) would not be very useful."), error detection and recovery, concurrency, and interfacing to components of the OS or written in other languages. Maybe computer operations need declarative paint and a mathematical superstructure more abstract than that of IF and GOTO in order to be on a CS teacher's radar?