[Grace-core] Minutes of Teleconference 2013-07-24
James Noble
kjx at ecs.vuw.ac.nz
Tue Jul 30 11:13:33 PDT 2013
On 30/07/2013, at 18:53 PM, Andrew P Black <black at cs.pdx.edu> wrote:
> Most valuable to the learner is systematic naming within our own APIs. Which means that we can't just carry stuff over from some other language: we have to de-design.
absolutely!
> Why not:
>
> theCollection.do { each -> stuff }
> theArray.doWithIndex { each, ix -> stuff }
> 4.timesRepeat { stuff }
sure.
> What's the value of adding dialect-level methods so that
to look more procedural, for "procedures first"
which may go quite well e.g. with the logo-like turtle graphics dialect...
also I think there may be discoverability benefits: an IDE could present
those kind of pseudo-statements from the dialect directly to programmers
see The Implications of Method Placement on API Learnability
(natprog-FSE2008-p105-stylos.pdf in the papers archive)
> It's just one more level of syntax to explain—students will need to learn to read the collection APIs themselves.
sure. but also it's three request names to learn rather than just one - they could all be "do"!
> The "iter" objects that Michael put in the libraries are useful when one needs multiple streams, coming from multiple collections (as, for example, when implementing a merge). They are overkill for implementing do, which can be done with a single method. In contrast, thinking about error checking, putting some "fail fast" logic into iterators, as does Java, to detect modification of the underlying collection, might be really valuable for novices.
again, yes.
there are whole big projects to do on just this.
for anyone thinking of going to SPLOOSHLA, I note the PLATEAU is due in a couple of weeks...
James
More information about the Grace-core
mailing list