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 Path: backlog1.nntp.dca1.giganews.com!buffer1.nntp.dca1.giganews.com!border1.nntp.dca3.giganews.com!backlog3.nntp.dca3.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: a new language, designed for safety ! Date: Tue, 10 Jun 2014 18:52:42 +0200 Organization: cbb software GmbH Message-ID: References: <3bf7907b-2265-4314-a693-74792df531d1@googlegroups.com> <51e9fd4f-e676-4d2f-9e21-1c782d71092e@googlegroups.com> <5391ffa4$0$6611$9b4e6d93@newsspool4.arcor-online.net> <53942fa4$0$6670$9b4e6d93@newsspool3.arcor-online.net> <234602fb-4571-4b4d-b16c-7a4984511fe4@googlegroups.com> <529e9460-0a3f-476b-9aa4-178dca653a20@googlegroups.com> <175rkz49juygw.xi2489vgfaoa$.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: AuYlnUSfTZrfhAkRjyySpQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 X-Original-Bytes: 4171 Xref: number.nntp.dca.giganews.com comp.lang.ada:186809 Date: 2014-06-10T18:52:42+02:00 List-Id: On Tue, 10 Jun 2014 09:31:59 -0700 (PDT), Dan'l Miller wrote: > On Tuesday, June 10, 2014 2:44:56 AM UTC-5, Dmitry A. Kazakov wrote: >> On Mon, 9 Jun 2014 09:07:07 -0700 (PDT), Dan'l Miller wrote: >>> On Monday, June 9, 2014 2:06:27 AM UTC-5, Dmitry A. Kazakov wrote: >>>> The language-invented methods here are unsafe because it is not what the >>>> programmer would normally expect calling them [*]. Thus in both cases the >>>> languages are unsafe. >>>> [...snip...] >>>> * Robert's definition of unsafety formulated differently: unexpected >>>> behavior from familiar syntax ["misuse"]. >> >>> [Unexpected /= undefined] >>> No, Dmitry, that is my definition formulated differently, not Robert's. >>> Robert's definition that I was critiquing (and that, in effect, you too >>> are critiquing) hinges on *undefined* behaviors in the language >>> specification (and constantly remembering to not evoke them is a >>> battle-hardened badge of honor in C & C++ culture). *Unexpected* >>> behaviors that are well-defined as required in the Ada language >>> specification are, by definition, not *undefined* in Ada---hence the key >>> point of departure from Robert's excessively-narrow definition of >>> "unsafe". >> >> You draw a line between objectively and subjectively unexpected behavior. > > No, it is Robert who insists on injecting [objectively] "undefined" into > this conversation as the sole form of unsafety in a programming language. OK, then I misunderstood you both. > Btw, the goal of proactively facilitating safeware that Ada partially > achieves generally tends toward declarative programming (especially at > compile-time) that replaces or cross-checks the imperative programming. > Imperative programming by its very nature (except in multistage > programming via interpreters within the compiler) is at run-time. This > debate of declarative at compile-time versus imperative at run-time is the > key difference between Ada (and to a lesser degree C++ due its numerous > undefined behaviors) versus Objective-C and Swift. Well, there is a problem with declarative paradigm that the effect (the program behavior induced by declarations) is not obvious to the programmer, less obvious, the more powerful declarative framework becomes. Which is per our definition makes such language unsafe. [Compilers shall have no free will] I think Ada has a good balance of imperative execution control and declarative types system. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de