

I write python, I could care less about pythonic - jrussbowman
http://joerussbowman.tumblr.com/post/711850290/i-write-python-i-could-care-less-about-pythonic

======
RiderOfGiraffes
OK, playing devil's advocate, and without believing everything I write ...

Although the article might be saying something interesting, I, for one, kept
tripping over the grammar.

To start with, although it's gaining ground, this doesn't make sense:

    
    
        I write python, I could care less about pythonic
                        ^^^^^^^^^^^^^^^^^
    

The original, meaningful idiom is "I couldn't care less." He wants to say that
he cares so little that it is not possible to care less. He wants to say that
he could not possibly care less. He couldn't care less.

Instead he says that he _can_ care less, and therefore he does care, even if
it's only a little. which is not what he wanted to say.

And yes, I know about linguistics. I know the arguments about language use,
idioms, etc. I'm just saying that what he said, when interpreted carefully and
in some cultures (including in British English) what he said isn't what he
meant.

Secondly:

    
    
       Recently I saw a post in the Tornado group,
       saying it's use of libcurl is not pythonic.
    

He means "its" use. "It's", when correctly used can be substituted with "it
is". In this case it can't, so it shouldn't be used. He means the possessive.

My point here isn't to diss the writing, but to tell you, the reader of my
comment, that some of your audience will, on occasion, fail to listen to you
properly if you get grammar wrong. It's not fair, and you may think it's
unreasonable, but life isn't fair. Anyone who says otherwise is selling
something.

However, to deal with the technical content:

    
    
        If being pythonic means reinventing the wheel,
        in python, I’m pretty confident I’m going to
        stick with the opinion I’m not going to worry
        about being pythonic.
    

This is a false dichotomy. It's perfectly possible to be Pythonic without re-
inventing the wheel. All (and I agree that this is a big "all") it takes is to
learn the language properly, in its own context, rather than writing Perl, C,
Bash or Javascript "in Python." The dedicated "Real Programmer" can write
ForTran programs in any language. Not learning the language "properly" means
not taking the opportunity to expand your mind, but instead, to stick with
Blub, and write Blub in whatever syntax you happen to be using.

    
    
        I’ll worry about commenting and documenting what I do
        in order for other developers to follow behind me.
    

This is the important bit, but style comes into it as well. If someone is
writing in Javascript style, but Python syntax, it's harder to understand.
Sometimes sufficiently harder to make a real difference.

    
    
        I think I now have one of those first questions
        for when I interview developers for my business,
        when I get to that point. "How much focus do you
        put on making your python, pythonic?"
    

It's the wrong question. The question is - can you write Python as Python.
That will actually tell you something about the programmer's range of skill.

By why ask them anything as all? Why not just see if they can program?

~~~
jrussbowman
Not that long ago my initial response to this comment would be to be annoyed
about being judged on grammar. However, maybe because I'm a bit more mature,
or I've just been working so much on writing documentation the past couple
years, I see your point 100%. It also helps that you've stated so eloquently.
I'll be sure to make edits later this weekend, I wrote that article quickly on
my lunch break.

The point I may didn't expound on enough was when I spoke of reinventing the
wheel. What I mean is the reluctance within the Python community to use
existing tools, and instead turning to rewrite them in Python. The libcurl
reference is a perfect example. Curl provides a wealth of functionality, but
some would prefer calling it's use not pythonic.

As for interviewing, there's more to a developer than just the programs they
write.

~~~
RiderOfGiraffes
Re grammar, thank you for an excellent response. People often say that
language isn't nailed to the floor with one right way of saying things, but
that misses the point. Communication is important, and if a writer doesn't get
things right, some of the audience will be lost.

I'm intrigued by the emergence of the "I could care less" expression. Here in
the UK people look at it, stunned, and are confused as to what the author
meant. It's like "The proof is in the pudding," an expression that clearly
derives from something that makes sense in a stand-alone context, but which
now can only be understood as an idiomatic, atomic phrase, and which doesn't
mean what it actually says.

But that's language, which is weird.

With regards using existing tools, I largely, but not entirely, agree with
you. It would be useful if languages had clean containment methods/techniques
for wrapping existing tools rather than (re-)implementing facilities, but
that's a general discussion.

And I agree that there's more to a developer than just the programs they
write. That, however, partly makes my point and not yours. Whether they expend
effort writing "Pythonically" is, to my mind, a much smaller point than
whether they document well, communicate clearly, design effectively, and have
a sense of balance.

But that's a minor issue. I suspect we are, in truth, more in agreement than
not.

------
switch007
David Mitchell does an excellent job of explaining "I couldn't care less"
-<http://www.youtube.com/watch?v=om7O0MFkmpw#t=0m56s>

~~~
RiderOfGiraffes
Thank you - I really, _really_ enjoyed that. Given my bizarre linguistic
background, that hit several sweet spots.

Cute how the CGI background is deliberately out-of-focus too. Very effective
use of the technology.

