Python is DOOMED! Again!

Steven D'Aprano steve+comp.lang.python at pearwood.info
Sat Jan 24 08:48:54 CET 2015


Rick Johnson wrote:

> On Thursday, January 22, 2015 at 10:23:48 PM UTC-6, Steven D'Aprano wrote:
>> Rick Johnson wrote:
>> 
>> > The solution is move the type hinting syntax completely
>> > out of the source file and into another file -- think of
>> > it as a "Python Type Hinting Header File".
>> 
>> The 1970s called, they want their bad ideas back. [...]
>> Things that go together should appear together. Imagine a
>> language where you declared the function name in one file,
>> the function parameters in a second file, any default
>> values in a third file, and the function body in a fourth
>> file. Ridiculous. Ideally, all these things should be
>> found together, preferably close enough for the reader to
>> take it all in at a glance (although some function bodies
>> may be too large).
> 
> Anyone else care for a pipping hot cup of Reductio ad absurdum?


Rick, you seem to be under the misapprehension that a reductio ad absurdum
argument is a fallacy. It is not. From Webster's dictionary:

   Indirect demonstration, or Negative demonstration (called
     also reductio ad absurdum), in which the correct
     conclusion is an inference from the demonstration that any
     other hypothesis must be incorrect.


And from Wordnet:

  reductio ad absurdum
    n 1: (reduction to the absurd) a disproof by showing that the
         consequences of the proposition are absurd; or a proof of a
         proposition by showing that its negation leads to a
         contradiction [syn: reductio ad absurdum, reductio]


Example:

    Argument: 

    Human population growth can continue forever, without any limits
    at all. There shall never come a time where lack of resources 
    will constrain growth.

    Refutation by reductio ad absurdum:

    If human population doubles every fifty years, in 718 years every
    square metre of the world's land surface will have a person in it.
    In 840 years we will be jammed shoulder-to-shoulder. In 2335 years
    there will be a million people per square inch of the planet's 
    surface (including oceans). Before that, after just 2155 years, the
    entire mass of the planet will be converted to human flesh. In 6760
    years, the entire solar system will be a solid sphere of humans,
    expanding outward at 15840400 km per hour.

    Since this is clearly absurd, something (war, famine, disease, 
    reduced fertility) must reduce or halt population growth.

(Aside: those numbers are more or less correct, as best as I can calculate
them.)

Reductio arguments can, of course, be fallacious. "The world cannot be a
sphere. If the world was a sphere, people on the bottom would fall off!"
This argument is fallacious because it fails to understand that gravity
acts towards the centre of the Earth, not "down" relative to outer space.


>> There may be times where splitting related things are
>> unavoidable, but they should be a last resort, only to be
>> used when any other solution is unacceptable.
> 
> Duh! Do you think i just pulled stub files out my arse
> without giving all the other alternatives due consideration?

Actually, yes.

I think that had Guido proclaimed that C-style header files were the only
way to give type hints, you would be arguing right now that they were awful
and that the one and only correct way to do type-hinting is to use
annotations.


> But you had your fun so that's all that matters. ;-)
> 
> PS: Man, you need to invest in some formatting tools. I format
> all my posts with a max width of 60, but then when you quote
> them back i see strange line breaks. Does your editor think
> that 60 chars is too wide? What's going on?

I don't know what you are talking about. My editor doesn't re-wrap quoted
text unless it exceeds 76 columns wide, which yours does not, and I don't
see any strange line breaks. Can you point me to an example in the
archives?



-- 
Steven




More information about the Python-list mailing list