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
next prev 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