comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: [Ada] made me hate programming
Date: Fri, 02 Jul 2010 15:24:25 +0200
Date: 2010-07-02T15:24:25+02:00	[thread overview]
Message-ID: <4c2de889$0$6877$9b4e6d93@newsspool2.arcor-online.net> (raw)
In-Reply-To: <u94jhtubncu$.2l0z5ep3q0kw.dlg@40tude.net>

On 03.07.10 14:51, Dmitry A. Kazakov wrote:
> On Fri, 02 Jul 2010 12:35:06 +0200, Georg Bauhaus wrote:
> 
>> On 03.07.10 10:35, Dmitry A. Kazakov wrote:
>>
>>> Profiles are bad, they create many new languages and require a deep
>>> language understanding as for what must be in and out of the profile.
>>
>> When students study only the sequential parts of Ada
>> they are not learning a new language by not starting
>> with tasks.
> 
> So, what would the reason to forbid tasks then?

As I said earlier, one reason for restricting the language
to some subset for teaching is error messages that should
not refer to advanced concepts (yet to be studied).
Error messages of this kind have been reported to create frustration.


>  You can
> mark the manual pages about concurrency as "adult content." But I doubt
> students read anything anyway.

If student don't read, there is more reason to have the compiler indicate
a clear sectioning of the language.  That's what compilers do anyway,
be it by not supporting some annex or be it by following the rules of
an existing standardized profile.



> Besides that the example is unrealistic,

Absence of tasking in first programs is unrealistic?

> how the message "tasks are
> forbidden by the profile X" were better than "limited object cannot be
> initialized".

A more pedagogic, yet accurate(!), message is better than undecipherable
advanced tech talk for professionals. Did you notice how GNAT's message
";" should be "is"
does not mention the word "syntax"? Teaching profiles are to
help those who do not yet know anything about task or limited.

foo.ada:14: "`task' is a concurrency construct; \
 concurrency is turned off in this teach pack"

To me, this seems better to me than any message that requires an understanding
of words having to do with tasking.

It isn't easy for me to make GNAT emit a rather technical message
about tasking.  Here is an attempt:

     6.       Job : Task;
                   |
        >>> subtype indication expected
        >>> missing ";"

That's all logical seen from the compiler's perspective, I guess.
But it does require some explanation by the teacher (remember:
the student might think, quite legitimately, that there exists
a type named "Task").
Explanations by teachers is the stuff from which to make
"teaching profile messages".  The example above might seem
a lame attempt at an example, since, perhaps, a teacher
has no trouble wiping away all questions by noting that
"task" is a reserved word, and more about it later.
Just get rid of it. But that's the point!  That is what
error messages can strive to be like in a "teaching compiler".
Notice how the message at foo.ada:14 says just this.




  parent reply	other threads:[~2010-07-02 13:24 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
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 [this message]
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