comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: [Ada] made me hate programming
Date: Thu, 01 Jul 2010 17:36:47 +0200
Date: 2010-07-01T17:36:47+02:00	[thread overview]
Message-ID: <4c2cb60f$0$7651$9b4e6d93@newsspool1.arcor-online.net> (raw)
In-Reply-To: <C8526461.149193%yaldnif.w@blueyonder.co.uk>

On 01.07.10 16:27, (see below) wrote:
> On 01/07/2010 15:14, in article
> 4c2ca2d2$0$7666$9b4e6d93@newsspool1.arcor-online.net, "Georg Bauhaus"
> <rm.dash-bauhaus@futureapps.de> wrote:
>  
>> Ada provides for a solution to the problem caused by the advanced
>> technicalities in error messages, I think, using Ada's language profiles
> 
> In my experience there are no such problems in teaching Ada, with GNAT at
> any rate. GNAT's error messages are generally of high quality at the moment,
> and in my experience quite understandable to beginners.

I shouldn't have stressed error message so much.  It's more about
concepts that are advanced, and how they can get in the way when
beginners know only beginners' concepts. According to findings of others,
error messages become less understandable then.

Indeed, GNAT's messages made me think "Fantastic!". For example, when
I first saw a message that very clearly told me what was wrong.
I had seen messages like
file, l.N, Syntax error
or
Syntax error at end of file

This is very different from
file:L:C: ";" should be "is"

In order to understand the first messages, a beginner might need help.
It does not say what syntax error, or where the error is, in the second case.

GNAT's message OTOH does not even presume knowledge of technical terms.
In fact I call it a *message* rather then a scanner status
indication.  The message is helpful and specifically addresses
what has been written. I find it encouraging.

Much less so when the messages are like the ones Peter Chapin has
quoted (about overload resolution). They make me think of a
language profile that disallows overloading.
Once you have it, the confusing messages are gone, or replaced
with something that has meaning in the context of the language profile.
(Lack of overloading is arguably a desirable quality of
real world programming languages, if one includes SPARK and Eiffel.
If someone feels artificially deprived of programming powers,
you can say that once overloading is explained, we'll see some
algorithms that use it.)


>> Instead, compilers diagnose something more easily explained:
>> file.ada:123: "X is not supported in This-Teach-Pack"
> 
> Why do you think this would be comprehensible to beginners, or even
> desirable? It is a message about a pedagogical meta-level that has nothing
> whatever to do with the problems of learning algorithmic construction
> through the medium of a language.

I won't insist on the wording, on the contrary.
It might seem preachy depriving students of advanced language features;
this is not the goal, however.

The goal is to gradually extend the set of included language features.
The idea leads to a partial order of language concepts (TBD).
Compiler messages would then mention the concepts
of the current extent, and no others.  For example, they will "talk"
about overload resolution like other good compilers "talk", compilers,
though, that translate languages not including overloading.
No one's feeling are hurt in this scenario I should think.
Or when the language profile does not include X, they print a nice,
encouraging message about X being for a later date in the course
or some such.



  reply	other threads:[~2010-07-01 15:36 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-30  5:23 ADA made me hate programming mahdert
2010-06-30  5:33 ` Jeffrey R. Carter
2010-06-30  5:42   ` mahdert
2010-06-30 16:49     ` Warren
2010-06-30 18:12   ` George Orwell
2010-06-30  6:40 ` anon
2010-06-30 19:07   ` Nasser M. Abbasi
2010-07-01  1:38     ` starwars
2010-07-01  4:57     ` anon
2010-07-01 13:22       ` Colin Paul Gloster
2010-07-01 14:00         ` (see below)
2010-07-01 17:11         ` anon
2010-07-01 21:16           ` Wilson
2010-07-02  7:01             ` anon
2010-07-02 15:54             ` Non scrivetemi
2010-07-02 16:10               ` Georg Bauhaus
2010-07-02 16:55                 ` Peter C. Chapin
2010-07-06  5:37             ` David Thompson
2010-07-01 23:29           ` Randy Brukardt
2010-07-02  6:07             ` anon
2010-08-20 22:44             ` Yannick Duchêne (Hibou57)
2010-07-02 10:45           ` sjw
2010-07-02 18:04             ` anon
2010-07-02 18:53               ` Simon Wright
2010-07-03  1:54                 ` anon
2010-07-03 13:16                   ` Marc A. Criley
2010-07-03 21:50                     ` anon
2010-07-04 11:40                       ` Simon Wright
2010-07-04 23:15                         ` anon
2010-07-05  6:00                           ` Simon Wright
2010-07-04 17:52                       ` Marc A. Criley
2010-07-04 23:22                         ` anon
2010-07-05  0:22                           ` Marc A. Criley
2010-07-05 10:49                             ` anon
2010-07-05 21:50                               ` Marc A. Criley
2010-07-06 11:15                                 ` Stephen Leake
2010-07-06 12:25                                   ` Marc A. Criley
2010-07-06 19:22                                   ` Simon Wright
2010-07-06 20:03                                     ` anon
2010-07-06 19:55                                 ` anon
2010-07-06 22:51                                   ` Georg Bauhaus
2010-07-07  0:10                                   ` Marc A. Criley
2010-07-08  0:23                                     ` anon
2010-07-09  0:14                                       ` Marc A. Criley
2010-07-03 21:43                   ` Simon Wright
2010-08-21  0:33                     ` Yannick Duchêne (Hibou57)
2010-08-21 10:05                       ` Simon Wright
2010-08-20 22:30           ` Yannick Duchêne (Hibou57)
2010-08-23 15:38             ` Warren
2010-08-20 21:57       ` Yannick Duchêne (Hibou57)
2010-08-20 22:00       ` Yannick Duchêne (Hibou57)
2010-07-01 13:29     ` Colin Paul Gloster
2010-08-21  0:40       ` Yannick Duchêne (Hibou57)
2010-06-30  7:00 ` Ludovic Brenta
2010-06-30  8:36   ` tonyg
2010-06-30 23:14     ` Phil Clayton
2010-07-01 12:58     ` Lucretia
2010-06-30  9:37 ` Gautier write-only
2010-06-30 17:05   ` [Ada] " Warren
2010-06-30 21:10     ` Kulin Remailer
2010-07-02 20:03       ` Warren
2010-07-06  5:37       ` David Thompson
2010-06-30 23:42     ` Peter C. Chapin
2010-07-01 14:14       ` Georg Bauhaus
2010-07-01 14:27         ` (see below)
2010-07-01 15:36           ` Georg Bauhaus [this message]
2010-07-01 18:54             ` (see below)
2010-07-01 22:00               ` Georg Bauhaus
2010-07-01 22:11                 ` (see below)
2010-07-02  8:28                   ` Georg Bauhaus
2010-07-02 17:52                   ` Non scrivetemi
2010-07-02 19:00                     ` Georg Bauhaus
2010-07-05 12:40                       ` Colin Paul Gloster
2010-07-02 14:07                 ` Colin Paul Gloster
2010-07-01 19:34             ` Simon Wright
2010-07-02 20:30               ` Warren
2010-07-01 23:50             ` Randy Brukardt
2010-07-02  7:39               ` Georg Bauhaus
     [not found]                 ` <11xsi9ilnamk6$.1r1kaahru68b1.dlg@40tude.net>
2010-07-02 10:35                   ` Georg Bauhaus
     [not found]                     ` <u94jhtubncu$.2l0z5ep3q0kw.dlg@40tude.net>
2010-07-02 13:24                       ` Georg Bauhaus
2010-07-02 14:25                         ` Peter Hermann
2010-07-02 18:51                           ` anon
2010-07-02 14:26                     ` Colin Paul Gloster
2010-07-02 18:56                       ` Simon Wright
2010-08-21  0:54     ` Yannick Duchêne (Hibou57)
2010-08-23 15:51       ` Warren
2010-08-23 16:44         ` Yannick Duchêne (Hibou57)
2010-08-23 16:57           ` Warren
2010-08-23 20:25         ` Reporting bugs in GNAT (was: [Ada] made me hate programming) Ludovic Brenta
2010-08-23 21:29           ` Yannick Duchêne (Hibou57)
2010-08-23 22:02             ` Reporting bugs in GNAT Ludovic Brenta
2010-08-24 13:32           ` Reporting bugs in GNAT (was: [Ada] made me hate programming) Warren
2010-08-24 17:41             ` Yannick Duchêne (Hibou57)
2010-08-26 12:53               ` Warren
2010-08-26 19:01                 ` Reporting bugs in GNAT Simon Wright
2010-08-26 19:53                   ` Florian Weimer
2010-08-26 20:22                     ` Simon Wright
     [not found] ` <m7mkuvmw72ec.1fan4hqr668s6.dlg@40tude.net>
2010-06-30 10:00   ` ADA made me hate programming Pascal Obry
2010-06-30 18:54   ` Colin Paul Gloster
2010-06-30 19:40     ` Dmitry A. Kazakov
2010-07-01  5:15       ` Simon Wright
2010-07-01 13:11         ` Colin Paul Gloster
2010-07-01 18:07       ` Gautier write-only
2010-07-01  0:34     ` Kulin Remailer
2010-07-01  4:47 ` Wilson
2010-07-06 21:59 ` Pablo
replies disabled

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