comp.lang.ada
 help / color / mirror / Atom feed
From: jan.de.kruyf@gmail.com
Subject: Re: Build language with weak typing, then add scaffolding later to strengthen it?
Date: Sat, 30 May 2015 06:21:01 -0700 (PDT)
Date: 2015-05-30T06:21:01-07:00	[thread overview]
Message-ID: <fc43afa3-7e8a-41b3-ba54-f9b0a5d234ac@googlegroups.com> (raw)
In-Reply-To: <1dmgofrqo3xn5$.1p4241xr4z92p.dlg@40tude.net>

On Saturday, May 30, 2015 at 1:12:20 PM UTC+2, Dmitry A. Kazakov wrote:

> BNF describes the language syntax or a formal language. Formal language <<<
> programming language. Since 60's there is nothing interesting you could
> describe in BNF or in any other syntactic formalism. We do know how "good"
> syntax looks like.

yes we do know that. But you did not address what I said yet. 

I am trying to stress this here:
"The mathematical aspect dictates that the language be elegant, but simple to describe mathematically. Lisp-like languages are an example of languages for which this aspect is especially noticeable.
Other ways to describe this aspect are to say that the language should have an inherent simplicity and be easy to learn, expressive and orthogonal. Expressiveness is the power of a language to solve problems. Orthogonality requires combinations of legal constructs to be themselves legal constructs." 
(fom http://web.cs.wpi.edu/~kal/courses/cs4533/module2/grammars.html)
And please save me your comment about lisp, I do not know it, and it is immaterial in this discussion.


> You mean IF-THEN-ELSE, did he? (:-))

It is funny that I dont recall ever having a problem with it. I do recall being caught for a sucker because I did not forsee the consequences of my own doings.
Unless you talk of an issue before my time? . .
> 
> BTW, in all Wirth books I ever read he used directed graphs for syntax
> definitions instead of BNF.

Did not see any lately but I vaguely remember the Apple Pascal book had them.

> 
> > So if you want to do any cleaning up I would say lets start with drawing
> > up a EBNF of Ada.
> 
> ARM Annex P.

Thank you! I missed that.
The question to be resolved next is whether I can use it in day to day coding practice.

>
 
> That is less than 0.1% of what constitutes a programming language.

No it is not, unless you call the library the other 99.9 %.
In other words I suspect we are arguing about semantics here.

> 
> > It will explain the critique from Dijkstra and Wirth,
> 
> It wasn't for Ada syntax AFAIK.

No I did not hear or see that either. It was much rougher than that, in good swiss (and dutch) fashion. :)

> 
> > And the biggest bonus will be that we will be able to work faster, once we
> > have a good understanding of the mathematical underpinnings of the
> > language.
> 
> Which ones? There is no problem parsing Ada. It is trivial, in fact. 

Yes it _is_ trivial . . . for a computer or a highly trained person like you.
But we are talking here about the class of programmers you refer to in your next paragraph. 

> 
> And this is not a problem people have with Ada. Even those, who dearly want
> curly brackets and = for assignment, should understand that grammatically
> there would be absolutely NO difference. Whether the end token is "end" or
> "}" matters only aesthetically.

So now we could argue that it will be good to have both ways in the language. I mean it will be trivial to put into the ebnf and trivial to parse. And that specific group of programmers will like it, etc, etc.
Or we can argue that they need to be educated in the syntax of Ada, as you say.
Because clearly from other fields of human experience we know that it will only cause confusion.

So similarly I argue ---Not that this language or that language is Better--- but that there is room for improvement in Ada, And where this improvement can be made will follow from the reading and trying to understand appendix P as the core document of the language.

But the crowd likes to turn this into a language war around every corner, perhaps because from other fields of human experience it is also known that it is very difficult to do self refection.

> Few syntax problems Ada has come straight from Wirth himself. E.g.
> different syntax for declarations of subprogram types and values (bodies)
> from other types and values. Wirth seems never cared much about types.
> 

Believe it or not he did, but he has never been known to be paranoid. 

Dmitry, when I first got to know Ada I jumped on it specially for the nice multitude of types (since that is what I learned from the old man, to be typesafe) But after a few years of experience I find that I have often confused myself plainly with having too many types. 
So you could perhaps say that that was for lack of solid design. Could be. But then I find the same multitude of unchecked conversions back in gnat. So apparently it is not only me. 

By the way the other day I looked at your website and I stood in awe of the artworks you display there. Thank you.

j.

  reply	other threads:[~2015-05-30 13:21 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-21 19:11 Build language with weak typing, then add scaffolding later to strengthen it? Nasser M. Abbasi
2015-05-21 19:29 ` AdaMagica
2015-05-22  7:27   ` Dmitry A. Kazakov
2015-05-22  7:42 ` Georg Bauhaus
2015-05-22  8:54   ` Nasser M. Abbasi
2015-05-22 11:29 ` kalvin.news
2015-05-22 12:57   ` J-P. Rosen
2015-05-22 14:01     ` kalvin.news
2015-05-22 14:34       ` kalvin.news
2015-05-23 11:09         ` Peter Chapin
2015-05-22 15:37       ` J-P. Rosen
2015-05-22 16:29         ` kalvin.news
2015-05-22 17:39           ` Simon Clubley
2015-05-22 17:51             ` kalvin.news
2015-05-22 19:41               ` J-P. Rosen
2015-05-22 20:04                 ` kalvin.news
2015-05-22 20:32                   ` Jeffrey R. Carter
2015-05-22 21:22                     ` kalvin.news
2015-05-23 11:14                     ` Peter Chapin
2015-05-23 12:42                       ` Jeffrey R. Carter
2015-05-23 17:48                         ` Simon Wright
2015-05-25  8:34                           ` Pascal Obry
2015-05-25 10:22                             ` Simon Wright
2015-05-25 18:12                               ` Georg Bauhaus
2015-05-22 20:39                   ` jan.de.kruyf
2015-05-28 22:33                     ` Randy Brukardt
2015-05-29  6:56                       ` jan.de.kruyf
2015-05-23 12:40                   ` Georg Bauhaus
2015-05-25  7:14                     ` jan.de.kruyf
2015-05-25 12:26                       ` Georg Bauhaus
2015-05-25 18:44                       ` Shark8
2015-05-25 19:54                         ` jan.de.kruyf
2015-05-25 21:25                           ` Shark8
2015-05-26  7:46                           ` Georg Bauhaus
2015-05-26  8:12                           ` Georg Bauhaus
2015-05-25 20:01                         ` Nasser M. Abbasi
2015-05-25 20:04                           ` Nasser M. Abbasi
2015-05-25 20:37                             ` jan.de.kruyf
2015-05-26  7:52                               ` Jacob Sparre Andersen
2015-05-26 11:43                                 ` jan.de.kruyf
2015-05-26 15:38                                   ` jan.de.kruyf
2015-05-28 23:39                                   ` Randy Brukardt
2015-05-29  8:51                                     ` Stefan.Lucks
2015-05-29 18:04                                       ` Jeffrey R. Carter
2015-05-29 21:51                                       ` Randy Brukardt
2015-05-30 10:28                                         ` jan.de.kruyf
2015-05-30 11:12                                           ` Dmitry A. Kazakov
2015-05-30 13:21                                             ` jan.de.kruyf [this message]
2015-05-30 15:00                                               ` Simon Clubley
2015-05-30 18:40                                                 ` jan.de.kruyf
2015-05-30 16:40                                               ` Dmitry A. Kazakov
2015-05-30 20:52                                                 ` jan.de.kruyf
2015-05-31  8:31                                                   ` Nasser M. Abbasi
2015-05-31  8:52                                                   ` Dmitry A. Kazakov
2015-06-04 15:31                                                     ` jan.de.kruyf
2015-06-04 17:23                                                       ` Dmitry A. Kazakov
2015-06-04 20:14                                                         ` Shark8
2015-06-04 23:12                                                           ` Nasser M. Abbasi
2015-06-01 21:36                                                 ` Randy Brukardt
2015-06-04 15:22                                                   ` jan.de.kruyf
2015-05-27 13:41                                 ` jan.de.kruyf
2015-05-25 23:05                             ` Peter Chapin
2015-05-26  8:01                               ` Sylvain Laperche
2015-05-26  8:20                                 ` Georg Bauhaus
2015-05-26  8:49                                 ` J-P. Rosen
2015-05-26 12:36                                   ` Simon Clubley
2015-05-26 13:39                                     ` J-P. Rosen
2015-05-26 14:21                                       ` Dmitry A. Kazakov
2015-05-26 16:19                                       ` Shark8
2015-05-26 20:51                                         ` J-P. Rosen
2015-05-26 17:11                                   ` Jeffrey R. Carter
2015-05-28 23:49                                     ` Randy Brukardt
2015-05-29 21:54                                       ` Randy Brukardt
2015-05-29 22:32                                         ` Jeffrey R. Carter
2015-05-26  8:17                               ` Georg Bauhaus
2015-05-28 22:46                       ` Randy Brukardt
2015-05-28 23:18                         ` Nasser M. Abbasi
2015-05-29 21:27                           ` Randy Brukardt
2015-05-29  7:55                         ` jan.de.kruyf
2015-05-29  9:27                           ` Simon Wright
2015-05-29 10:23                             ` jan.de.kruyf
2015-05-29 12:01                               ` G.B.
2015-05-29 13:43                                 ` jan.de.kruyf
2015-05-29 15:32                             ` Simon Wright
2015-05-29 15:57                               ` jan.de.kruyf
2015-05-29  9:31                         ` Jacob Sparre Andersen
2015-05-29 10:37                           ` jan.de.kruyf
2015-05-29 10:56                           ` Björn Lundin
2015-05-29 12:03                             ` Peter Chapin
2015-05-29 21:00                               ` Shark8
2015-05-29 20:57                           ` Shark8
2015-05-29 21:36                             ` Randy Brukardt
2015-06-01 22:20                               ` Shark8
2015-05-29 21:45                           ` Randy Brukardt
2015-05-29 23:12                             ` Peter Chapin
2015-05-30  9:10                               ` Georg Bauhaus
2015-05-23 13:01                 ` Luke A. Guest
2015-05-22 17:57             ` Simon Wright
2015-05-22 18:31               ` jan.de.kruyf
2015-05-22 14:03     ` jan.de.kruyf
2015-05-22 15:21       ` David Botton
2015-05-22 15:23         ` jan.de.kruyf
2015-05-22 15:31       ` Bob Duff
2015-05-22 15:48         ` jan.de.kruyf
2015-05-22 14:25     ` G.B.
2015-05-22 15:04     ` Bill White
2015-05-22 15:28     ` Bob Duff
2015-05-22 17:46       ` Simon Clubley
2015-05-22 18:16         ` jan.de.kruyf
2015-05-22 19:01           ` Simon Wright
2015-05-22 19:41             ` jan.de.kruyf
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox