Popular conceit about learning programming languages

Michele Simionato mis6 at pitt.edu
Fri Nov 22 12:46:09 EST 2002


Pascal Costanza <costanza at web.de> wrote in message news:<arj3lf$ar1$1 at newsreader2.netcologne.de>...

> Could you try to describe what it means to you to think in Python? What 
> makes it different from thinking in other languages? (This is not a 
> rhetorical question!)

Sorry for my late reply, but I see than others have addressed your question
better than I could have done myself. In short, you see that you start 
*thinking* in a given language when:

i) you see the difference between your actual code an the code you wrote 
when you started to learn the language; 

ii) you realize that constructs that at beginning seemed awkward and/or 
bizarre to you are now natural;

iii) you kept solving the problems with the specific tools the language gives
you, not with the tools you already knew from other language;

iv) you know the mistakes you can do in that language and you "naturally"
avoid them.

v) the code in the standard library starts making sense to you, when 
immediately after having read the tutorial seemed a strict cousin of 
Arabic (no offence to Arabic speakers intended ;-).

Of course you can substitute the word "language" in the previous list with
others; the process is the same when you learn a particular field of
mathematics, physicis or engineering, and probably the same for humanistic
subjects too (the comparison with natural languages having already been done).

Finally, I would like to comment on a point raised by Norm, that you can
read 8 books without learning a concept, and then suddenly it becomes cristal 
clear in the 9th, simply because the author "make sense" to you. I don't
disagree on that, but I want to add an experience I had many times in
learning Python. I read a book and I tought I understand a lot, except some
minor points; then I put the book apart and start coding. Months later, 
I am involved in a difficult problem and I am near the solution, but not
yet. Then, by chance, my eye goes in the book: and immediatly I recognize
that in the skipped parts ("the minor points") there is the solution to my 
problem. Yet, when I first read the books, that pages made no sense to me, 
I was incapable to see their relevance until my mind started working on that 
particular problem. At this point I recognize that the designer of the 
language has already solved the problem for me, or mostly solved, and 
then I *truly* start to appreciate the value of that language. Also, it is
very different to read a book on a language tricks and tips (i.e. the
Python Cookbook) starting from no background (in this case very few of the
book will stick in you), or reading it after having spent many hours in
thinking to some of the same problems: then the  solution will stick in 
your mind!

Conclusion: the SAME book can be very valuable of very useless, depending
on the state of your knowledge. I could give many examples of references
I catalogued "useless" few months ago, than now have the label "very 
interesting" in their first page (typically I write in the first page
my comment on the book; but I write it with pencil... ;-)

--
Michele Simionato - Dept. of Physics and Astronomy
210 Allen Hall Pittsburgh PA 15260 U.S.A.
Phone: 001-412-624-9041 Fax: 001-412-624-9163
Home-page: http://www.phyast.pitt.edu/~micheles/



More information about the Python-list mailing list