Python is DOOMED! Again!

Mario Figueiredo marfig at gmail.com
Fri Jan 30 13:36:33 EST 2015


In article <54ca5bbf$0$12992$c3e8da3$5496439d at news.astraweb.com>, 
steve+comp.lang.python at pearwood.info says...
> 
> Why should I feel guilty? You wrote:
> 
> 
> "Static analysis cannot and should not clutter executable code."
> 
> 
> But what are type declarations in statically typed languages like C, Pascal,
> Haskell, etc.? They are used by the compiler for static analysis. The same
> applies to type declarations in dynamically typed languages like Cobra and
> Julia. And yet, there they are, in the executable code.
> 
> So there are a whole lot of languages, going all the way back to 1950s
> languages like Fortran, to some of the newest languages which are only a
> few years old like Go, both dynamically typed and statically typed, which
> do exactly what you say languages "cannot and should not" do: they put type
> information used for static analysis there in the code.

You are confusing static analysis with compile time checking which 
produces side-effects like implicit conversion for instance and that 
affects the resulting binary code. Something that Python won't do with 
type annotations. And something that Julia, Scala or C does.

This is also the first time I hear compilation time mentioned as static 
analysis.

To be clear, type declarations in Julia, Scala, C have the potential to 
produce side-effects, can result in optimized code and can result in 
compile time errors or warnings. Type annotations in Python are instead 
completely ignored by the interpreter. They do nothing of the above. 
They do not participate in code execution.

> As I said, these languages disagree with you. You are not just arguing
> against Guido, but against the majority of programming language designers
> for 60+ years.

You are right. I'm not arguing against Guido. I have yet to hear his 
opinion on your or mine arguments. I'm not arguing against the majority 
of programming languages either, because they agree with me.

I'm arguing with you.



More information about the Python-list mailing list