On Wed, 2005-04-27 at 11:23 +0100, Walter Milner wrote: [ . . . ]
> As you are implying, there are different issues for 'real' languages
> and those suitable to learn ideas of programming for novices.
> Lexically with simply removes the need to type highly qualified
> object/property references - which a professional would appreciate,
> with resulting clarity of expression. For a novice explicit references
> are easier to understand.
Interestingly (or not :-) there is a move amongst many professionals to
be much more explicit about scope. So, for example, there is an
increased use of:
this.f ( )
this -> a
to make it clear where the binding search starts. It is this move to be
more explicit that surprised me, at least initially. As you mentioned I
thought it was universal that professionals would minimize text and
maximize reliance on knowing the rules of the language but it seems that
localization and self-documentation are becoming more popular with some
professionals.
> So is Groovy designed for novices learning programming concepts, or
> for professional use? I suggest it cannot be optimal for both.
Groovy is being defined in JSR 241 and is aimed at professionals -- it
is the scripting language for the JVM and Java Objects.
I have an interest though in using scripting languages for teaching. C
++ and Java have the compilation stage issues whereas Groovy, Python and
Ruby hide all internal compilation activity simplifying usage. One
lesson from using Miranda as a teaching language was that the simplicity
of the execution infrastructure made focussing on programming a lot
easier. I have therefore been looking at Python, Ruby and now Groovy as
teaching languages. Choosing an appropriate subset of Groovy seems to
me to be either a very good way of teaching about the Java 2 Platform or
(because of various features) a potential for disaster!
--
Russel.
====================================================
Dr Russel Winder +44 20 7585 2200
41 Buckmaster Road +44 7770 465 077
London SW11 1EN, UK [EMAIL PROTECTED]
signature.asc
Description: This is a digitally signed message part
