Are the critiques in "All the things I hate about Python" valid?

Terry Reedy tjreedy at udel.edu
Wed Feb 21 05:31:15 EST 2018


On 2/21/2018 3:15 AM, Antoon Pardon wrote:
> On 21-02-18 06:18, Terry Reedy wrote:
>> On 2/20/2018 8:38 AM, Antoon Pardon wrote:
>>
>>> People praise the dynamic nature of Python here on this list and then
>>> often enough seem to recoil when they see a piece of code really using
>>> that dynamism.
>>
>> ...
>>
>> When makes people recoil is abusing dynamism by needlessly rebinding a
>> name to objects of different specific type within a single block of code.
>>
> But that was what Steven was complaining about. The fact that in a static language
> He would need two names if he wanted a variable in a single block of code to be
> first a number and then a string. At least that is how I understood him.

I am not a party to any dispute between you and Steven.

I intentionally inserted 'needlessly' in that comment to cover the 
situation where a competent Python programmer has at least a plausible 
reason for rebinding within a block.  But in Python, this is rare 
compared to the constant binding of parameters names to whatever 
argument one passes.

Types indicate how to treat a particular object or, in some computer 
languages, a block of memory.  Declaring a type for a name that is 
permanently attached to an information entity is an indirect way of 
associating a type with the entity.  If entities are tagged with their 
type, then names need not be.

-- 
Terry Jan Reedy




More information about the Python-list mailing list