On Lists and Iterables

Xen list at xenhideout.nl
Sat Dec 16 15:13:12 UTC 2017


John Lenton schreef op 15-12-2017 13:02:
> On 15 December 2017 at 10:40, Xen <list at xenhideout.nl> wrote:
>> 
>> Zipping by definition produces a list of tuples
> 
> No it's not

I was talking about the semantical definition, not implementation 
details.

> That's how it was defined in python 2, yes. The definition changed for
> 3.

No, the implementation changed, and they just changed the "definition" 
to follow the implementation.

Just because a "book" requires paper, and you decide that paper is 
wasteful, and hence only produce paperless books, doesn't change the 
definition of a book.

And then you say : oh those are not books, because they use paper.

> This is _more_ friendly, because in 2 you could very easily
> inadvertently use up a lot more memory

"Rule of Economy

Developers should value developer time over machine time, because 
machine cycles today are relatively inexpensive compared to prices in 
the 1970s. This rule aims to reduce development costs of projects."

You still don't understand it do you.

Python is a high-productivity language.

It's not C.

I think I have to stop posting here for a while...

The whole idea of Python was to be friendly to the programmer, not to 
the computer.

Changing definitions of stuff in order to be able to have a more 
efficient implementation is not Python.

That's selling out.

> If
> all you wanted was to loop over things, zip (and dict's keys and
> values and items, and range) now do the right thing. If you actually
> wanted the list you pass it to list(), and make your wants explicit.

Yes, so you make the developer spend more time, and the computer less.

If this was about C I could understand your statement, even though I 
would disagree with it (because I don't like C that much).

But this is about Python okay.

Developer ease and productivity was at the central core of this 
language.

Now you are corrupting it in order to be more efficient.

That's what we generally call a "hack".

You expose an implementation detail that really has no significant 
cultural or language-based meaning.

What does a "zip" object mean?

Nothing, it's just an intermediate stage.

In a makefile, this would be an .INTERMEDIATE step.

So you choose efficiency over elegance,

thinking basically in the C mindset....

and unpythonizing python....

;-). :( :-/.




More information about the Ubuntu-devel-discuss mailing list