From: John Bokma on
Steven D'Aprano <steven(a)REMOVE.THIS.cybersource.com.au> writes:

> On Tue, 02 Feb 2010 23:11:49 -0600, John Bokma wrote:
>
>> Jonathan Gardner <jgardner(a)jonathangardner.net> writes:
>>
>>> I can explain, in an hour, every single feature of the Python language
>>> to an experienced programmer, all the way up to metaclasses,
>>
>> Either you're a hell of a talker, or I am far, far away from being an
>> experienced programmer. It's advocacy like this, IMO, that keeps people
>> away from a language, because you can't feel nothing but a failure after
>> a statement like this.
>
> Surely you're exaggerating?

No, because if I was I would've put a smiley there somewhere. I am
learning Python, for a time to be honest. I can manage in the language
quite well.

I consider myself quite an experienced Perl programmer, I have no
problems with the constructs Jonathan elsewhere in this thread claims to
have problems with after 10 years of professional Perl programming. They
come natural to me. But I don't see myself being able to understand
every Python feature in a talk of an hour *with* the current
understanding of Python I have (read halfway through Programming In
Python 3, read selected chapters on decorators, etc.).

> Without making any aspersions towards Jonathan either way, the Internet
> is full of both blowhards and geniuses. Anyone who lets the off-the-cup
> claims of either ruin their self-confidence is unlikely to be thinking
> about learning Python, they're probably sitting alone in a dark room
> staring as the walls close in.

I am quite serious about learning Python, I do write professionally in
it [1], but I am convinced that I need at least several months more of
studying to feel comfortable with most (not even all) of Python.

To me a much more relastic view on learning a programming language is:
http://norvig.com/21-days.html

[1] very small programs, and my customer is fully aware of that I am
learning a new language but trust me, which is great.

--
John Bokma j3b

Hacking & Hiking in Mexico - http://johnbokma.com/
http://castleamber.com/ - Perl & Python Development
From: John Bokma on
John Bokma <john(a)castleamber.com> writes:

> Steven D'Aprano <steven(a)REMOVE.THIS.cybersource.com.au> writes:
>
>> On Tue, 02 Feb 2010 23:11:49 -0600, John Bokma wrote:
>>
>>> Jonathan Gardner <jgardner(a)jonathangardner.net> writes:
>>>
>>>> I can explain, in an hour, every single feature of the Python language
>>>> to an experienced programmer, all the way up to metaclasses,
>>>
>>> Either you're a hell of a talker, or I am far, far away from being an
>>> experienced programmer. It's advocacy like this, IMO, that keeps people
>>> away from a language, because you can't feel nothing but a failure after
>>> a statement like this.
>>
>> Surely you're exaggerating?
>
> No, because if I was I would've put a smiley there somewhere. I am
> learning Python, for a time to be honest. I can manage in the language
> quite well.

Clarification: for a beginner that is.

> [1] very small programs, and my customer is fully aware of that I am
> learning a new language but trust me, which is great.

Should've been "but trusts me,".

--
John Bokma j3b

Hacking & Hiking in Mexico - http://johnbokma.com/
http://castleamber.com/ - Perl & Python Development
From: Timothy N. Tsvetkov on
On Jan 28, 2:29 am, Jonathan Gardner <jgard...(a)jonathangardner.net>
wrote:
> On Jan 27, 5:47 am, Simon Brunning <si...(a)brunningonline.net> wrote:
>
>
>
> > I think Python is a little cleaner, but I'm sure you'd find Ruby fans
> > who'd argue the complete opposite.
>
> Are you sure about that?
>
> There's a lot of line noise in Ruby. How are you supposed to pronounce
> "@@"? What about "{|..| ... }"?
>
> There's a lot of "magic" in Ruby as well. For instance, function calls
> are made without parentheses. Blocks can only appear as the first
> argument. There's a lot more, if you put your mind to it.
>
> Indentation is also optional in Ruby. You can quickly fool a newbie by
> not indenting your code properly, which is impossible in Python.
>
> Python is much, much cleaner. I don't know how anyone can honestly say
> Ruby is cleaner than Python.

I will. I developed on both (Python was first) and I think that ruby I
very clean and maybe cleaner than Python. Also I don't know any
situation where you need to pronounce your code symbol by symbol. You
might need to pronounce some semantics.

And you're wrong with blocks.

About indent your right. It helps newbies indent code becouse they
must to. But most of professional developers started with Pascal and
then C and they all indent well :) it is about culture and it is what
about teacher should say.
From: Jonathan Gardner on
On Feb 2, 9:11 pm, John Bokma <j...(a)castleamber.com> wrote:
> Jonathan Gardner <jgard...(a)jonathangardner.net> writes:
> > I can explain, in an hour, every single feature of the Python language
> > to an experienced programmer, all the way up to metaclasses,
>
> Either you're a hell of a talker, or I am far, far away from being an
> experienced programmer. It's advocacy like this, IMO, that keeps people
> away from a language, because you can't feel nothing but a failure after
> a statement like this.
>

I can explain all of Python in an hour; I doubt anyone will understand
all of Python in an hour.

Coming from perl to python, the big "aha!" moment was when I realized
there wasn't anything more than what I saw before me. I kept expecting
something big around the corner, kind of like when I first discovered
refs in perl, or when I realized how hard it truly was to write OO
code in perl that actually does what you think it should do.

Perl has trained me to be fearful of the language, constantly on the
lookout for jabberwockies. If you fall into one of those traps in
perl, it's because you weren't smart enough and aren't worthy of the
language, or so they say. It's never perl's fault. I mean, doesn't
everyone know what the Schwartzian Transform is?

Python is the complete opposite. Go through http://docs.python.org/reference/
.. Once you've familiarized yourself with all the operators,
statements, and the special methods, you're done with syntax and the
core language. There is no more.

The next step is to learn the basic objects and functions in builtins.
That's in the first seven chapters of http://docs.python.org/library/index.html.
You can always fall back to the "help" function to remind yourself if
you forget. I do it all the time.

After that, it's merely figuring out which standard libraries do what
and how. The documentation there is complete and awesome, and there
are more than enough people willing to point you in the right
direction here.

There are no dragons in this forest. Heck, this isn't even a forest---
it's a single-room apartment with everything you need right there
where you can see it. The thermostat is set to room temperature, and
no matter what happens outside, you're safe and protected from it all.

From: Robert Kern on
On 2010-02-03 15:32 PM, Jonathan Gardner wrote:

> I can explain all of Python in an hour; I doubt anyone will understand
> all of Python in an hour.

With all respect, talking about a subject without a reasonable chance of your
audience understanding the subject afterwards is not explaining. It's just
exposition.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco