[Novalug] Learning new languages (was Scala-ing JVM)
jerrywone at gmail.com
Fri Oct 23 07:53:48 EDT 2009
First off, I've enjoyed your (Clif's)
yearly holiday Tk/Tcl based kids games,
and iirc, that is how I first tried Tk/Tcl.
Human languages are different,
as spoken and verbal,
where computer languages
are mostly visual.
The mental models (constructs/ concepts?)
behind (listed elsewere mapping, etc)
are computer language concepts that
a designing computer languages or
comparative languages course will
probably spell out thoroughly...
The declarative Prolog has a better analogy,
at least for me with rule based languages
(inferencing, forward/backward chaining).
I've found the hurdles in going from procedural
to object oriented worse than procedural
Java for example, (or Smalltalk before it),
require objects even in the hello world
main type examples (not so sure about
Smalltalk, but the development 'IDE'
is gui too, so...)
I used to want to list computer languages
on the SF171 form, since my French
was so poor, needed something to fill
the void ;-/
On Thu, Oct 22, 2009 at 10:40 PM, Clif Flynt <clif at cflynt.com> wrote:
> On Thu, Oct 22, 2009 at 02:46:07PM -0500, Beartooth wrote:
>> On Thu, 22 Oct 2009, James Ewing Cottrell 3rd wrote:
>> > I'm gonna have to disagree here. Once you know a bunch of
>> > languages, each new one is No Big Deal....I'm just saying that
>> > learning new languages isn't all that hard, especially when you
>> > have existing code in front of you.
>> The same is true of natural languages, btw -- especially
>> if you learn not only their present forms, but also their
>> history. Each new one gets easier.
> I mostly agree, with the caveat that learning spoken or programming
> languages within a family is easier, but expectations from one language
> family may trip you up in languages from other families. (I run into
> this most often when teaching Tcl to Perl programmers - the $ looks
> the same, but doesn't mean the same thing.)
> It's easy to go from C to Pascal to Algol - they're all the same
> language with slightly different syntax.
> Fairly easy to learn French after learning Spanish or Italian -
> all Latin based languages.
> Moving from C to lisp or Prolog is a bit trickier. C is mostly
> a procedural language, while lisp is functional and Prolog declarative.
> Many C programmers do not grok recursion on the level that a lisp/scheme
> programmer groks it. I've not found anything in functional, procedural
> or OO languages that is like declarative languages. (SQL is probably
> the closest thing to a declarative language in common use.)
> Similarly, trying to learn Mandarin or Japanese after learning a
> couple latin based languages isn't that easy. It's not always obvious
> that these languages are used by the same species.
> I will agree that the mental discipline that will let you learn one
> language, be it programming or spoken, is useful when learning another.
> At the least, knowing the concept of verb, noun and what word order
> means is as useful as understanding the difference between variables,
> commands and how code modules are created.
> ... Clif Flynt ... http://www.cwflynt.com ... clif at cflynt.com ...
> .. Tcl/Tk: A Developer's Guide (2nd edition) - Morgan Kauffman ..
> . 17'th Annual Tcl/Tk Conference: 2010, ChicagoLand, IL USA ..
> ............. http://www.tcl.tk/community/tcl2010/ ............
> Novalug mailing list
> Novalug at calypso.tux.org
More information about the Novalug