Sean, I hope your comment doesn't discourage Roelof!  I might agree that
"mastery" of a given programming language could take a decade of working
with it, but it doesn't take anywhere near that long to "learn" a
programming language.

There are other factors, such as whether or not you already know at least
one language: you'll associate what you already know with the new ways of
doing the same sorts of things.  And you'll know to look for things that you
can reasonably expect a new language to provide.  But the first language you
learn will probably take the longest time, as expected.

I think learning Smalltalk/Pharo will take longer than you might expect if
the other languages you know are procedural or functional, rather than
object-oriented: You need to learn a new way of thinking when learning OOP
for the first time.  And that can be hard!  As humans, we're probably
"hard-wired" to think procedurally, which can be a bit of a handicap you
when starting OOP.

You don't need to, and shouldn't expect to be able to learn everything about
a programming language immediately, as you begin learning it.  Once you
learn the basics (enough to start writing programs that "do something"), you
need to begin writing programs --frequently-- and then begin the process of
incrementally adding to your understanding and knowledge of "the finer
details".  You learn as you go.  Reading up on the subject, including
reading others' code, helps a lot as well.  Today we have GitHub to help
there!

Don't give up, Roelof.  The struggles you go through now tell you that
you've progressed to the stage of "being aware of what you don't know",
which is good: It leads you to ask the right questions that will expand your
knowledge.  Finding the answers will sometimes be a challenge, but "mastery"
of a language pretty much always requires that you work through the kinds of
problems you've been having.  It's what gives you "insight", summed up as
"been there, done that".  Otherwise your knowledge of the language would
only be superficial (e.g., you would be able to read code examples, but you
wouldn't be able to code the examples on your own).

We've all been through these kinds of struggles you're having now.  It's
part of the process, not an indication of "you can't do it".  As Sean says,
after a year of working with Pharo, you'll be offering the same kinds of
advice to others that will follow you in getting started.  Just keep at it!



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply via email to