comp.lang.ada
 help / color / mirror / Atom feed
From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: Ada: A beginners experience
Date: Sun, 15 Jul 2018 19:46:29 -0700 (PDT)
Date: 2018-07-15T19:46:29-07:00	[thread overview]
Message-ID: <74a7b743-f904-4053-ac0f-7de8ade41369@googlegroups.com> (raw)
In-Reply-To: <0001HW.20FC05B4019F60EC700007BBE2CF@news.individual.net>

On Sunday, July 15, 2018 at 5:44:06 PM UTC-5, Bill Findlay wrote:
> On 14 Jul 2018, Jere wrote
> (in article<6febe5d6-0339-4da5-afe5-9af4e2255597@googlegroups.com>):
> 
> > On Friday, July 13, 2018 at 11:36:51 PM UTC-4, Paul Rubin wrote:
> > > This won't be a popular viewpoint here but IMHO Ada isn't a great choice
> > > as a first language. [...]
> >
> > [...] The type system (the big draw for me to Ada) is actually very streamlined. [...]
> >
> > None of this is beginner friendly though obviously.
> 
> I disagree very strongly with the idea that Ada is not a good beginners 
> language, and I
> do so as a result of the experience of introducing an Ada-based CS1 course in 
> 1996.
> 
> Most of its advanced features will never arise in such a course, and the good 
> design
> of Ada means that beginners are very unlikely to stumble upon them by 
> mistake.
> 
> The Ada course replaced one based on Pascal, and the improvement in outcomes
> was clear at an early stage. Ada is easier for beginners than Pascal, because 
> its
> syntax and semantics are more consistent. In fact, it's just amuch better 
> language.
> 
> It was interesting to stand in the lab and watch Ada-based and Pascal-based 
> beginners
> working side by side. One day, about week 6 of term, the Ada studentshad 
> nearly all
> successfully written a program that 2-D animated balls bouncing around in a 
> box.
> The Pascalstudents were grappling, mostly unsuccessfully, with a trivial 
> text-based
> read-process-output loop.
> 
> -- 
> Bill Findlay

It seems that this result could have and should have been the subject of scientific studies on first-programming-language acquisition (or at least as much as incoming freshmen approximate that, eliding any exposure in high school).  Pascal versus Ada versus C should have been quite the empirically-observable comparison during the late 1980s and throughout the 1990s.  And then Java versus Ada versus  Python should have been quite the empirically-observable comparison from the latter Nineties through the latter Naughties/Aughties.

Mechanisms of, facilitators for, and impediments to first and second language acquisition has always been a primary scientific research area in natural-language linguistics, certainly since Jean Piaget or Noam Chomsky.  Our field should do the same, if for no other reason than to separate the men* from the boys** among programming languages that shape the way a programmer thinks for good or ill, perhaps actually fulfilling the Sapir-Whorf hypothesis in programming & software design:  one's conceptions & mental model are shaped by the programming language in which one thinks design thoughts mentally.

* Ada, perhaps Rust, perhaps OCaml or Haskell

** C, C++, all the ‘This time for sure’ Bullwinkle-hat-trick C-done-right/C++-done-right languages (e.g., Java, J++, C#, Objective-C, Swift, Go), all the Algol-but-slightly-different languages (e.g., Pascal, Ruby, Lua), PL/I

  parent reply	other threads:[~2018-07-16  2:46 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-14  2:36 Ada: A beginners experience blakemichael073
2018-07-14  2:53 ` Dan'l Miller
2018-07-14  3:53   ` blakemichael073
2018-07-14 11:26     ` Brian Drummond
2018-07-14 12:11       ` blakemichael073
2018-07-14 13:27     ` Dan'l Miller
2018-07-14 14:57     ` Jere
2018-07-16 21:38       ` Maciej Sobczak
2018-07-20 12:00         ` Jere
2018-07-20 21:05           ` Maciej Sobczak
2018-07-21  8:25             ` Simon Wright
2018-07-14  3:36 ` Paul Rubin
2018-07-14  4:08   ` blakemichael073
2018-07-14  6:21     ` Paul Rubin
2018-07-14  8:30       ` Rene
2018-07-14 15:10         ` Paul Rubin
2018-07-14 15:13   ` Jere
2018-07-14 15:42     ` Paul Rubin
2018-07-14 16:01       ` Dmitry A. Kazakov
2018-07-14 19:05         ` Dennis Lee Bieber
2018-07-15  0:31         ` Paul Rubin
2018-07-14 15:55     ` Simon Wright
2018-07-15 22:44     ` Bill Findlay
2018-07-16  1:17       ` Jere
2018-07-16  1:41         ` Paul Rubin
2018-07-16  2:01         ` Bill Findlay
2018-07-16  2:46       ` Dan'l Miller [this message]
2018-07-16 15:54         ` Bill Findlay
2018-07-14  8:01 ` Dmitry A. Kazakov
2018-07-14 12:20   ` blakemichael073
2018-07-14 13:15     ` Dmitry A. Kazakov
2018-07-14 14:15       ` blakemichael073
2018-07-14  8:19 ` Jeffrey R. Carter
2018-07-16  9:25 ` fabien.chouteau
2018-07-17  1:18   ` blakemichael073
2018-07-17  1:44     ` Dennis Lee Bieber
2018-07-17 12:59     ` fabien.chouteau
2018-07-20  1:08     ` Philip Munts
2018-07-23  4:04       ` blakemichael073
2018-07-23 13:15         ` Dennis Lee Bieber
2018-07-26 10:20   ` fabien.chouteau
2018-07-16 17:36 ` G. B.
2018-07-16 18:43   ` Simon Wright
2018-07-16 19:08     ` Paul Rubin
replies disabled

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