Python is DOOMED! Again!
wxjmfauth at gmail.com
wxjmfauth at gmail.com
Fri Jan 23 04:07:20 EST 2015
Le jeudi 22 janvier 2015 05:31:12 UTC+1, Steven D'Aprano a écrit :
> Occasionally you find people spreading Fear, Uncertainty, Doubt about
> Python. Python is now over 20 years old and one of the most popular
> languages in the world no matter how you measure popularity:
>
> http://import-that.dreamwidth.org/1388.html
>
> so you don't often get FUD these days. When you do, it's usually about
> whitespace, or "Python is too slow", or occasionally "Python 3 is killing
> Python", but the latest FUD is about PEP 484 and type-hinting:
>
> https://www.python.org/dev/peps/pep-0484/
>
> Here's a typical example:
>
> Python is already headed towards obscurity. ... it seems that
> GvR intends to drive the final nail in python's coffin with
> this "type hinting" crap that will convert Python syntax from
> a readable pseudo code into a cryptic nightmare.
>
> Type hinting violates the very ESSENCE of what Python was
> meant to be, that is: a "clean and intuitive syntax".
>
>
> (Google for it if you care for the source.)
>
> So what is this unspeakable, nightmarish, cryptic abomination going to look
> like? Here's an example from PEP 484:
>
> def greeting(name: str) -> str:
> return 'Hello ' + name
>
>
> I don't know about you, but I think anyone who cannot read that and intuit
> that argument `name` is a string and the return result is also a string is
> probably going to have bigger troubles with Python than just type-hinting.
>
> Remember too that type-hinting will *absolutely* remain *completely*
> optional for Python. Developers can choose to use it or not, they can mix
> hinted code with regular unhinted code, they can use type declarations
> purely as documentation or they can run an optional type-checker, as they
> choose.
>
> Here's a potential real-world example, from the statistics module in Python
> 3.4, before and after adding annotations:
>
> def median_grouped(data, interval=1): ...
>
> def median_grouped(data:Iterable[Real], interval:Real=1)->Real: ...
>
>
> I say "potential" because the standard library doesn't use annotations yet,
> but it may in the future.
>
> So how does Python's proposed type-hints compared to that used by other
> languages?
>
> Java:
>
> public double median_grouped(List<Double> data, double interval) {}
>
> Pascal:
>
> function median_grouped(data: IterableOfReal; interval: Real): Real;
>
> C:
>
> double
> median_grouped (IterableOfReal data, double interval)
>
> Haskell:
>
> median_grouped :: [Double] Double -> Double
> median_grouped data interval = ...
>
>
> (I may have taken some very slight liberties with the syntax, corrections or
> more idiomatic forms are very welcome.)
>
>
> I think it is clear that Python's annotation syntax remains quite close to
> executable pseudo-code. Fears that type-hints will doom Python are not
> credible.
>
>
> --
> Steve
Hey, two days ago, I found a new way to make Python crash
with non ascii characters.
Good news for potential users. No?
jmf
More information about the Python-list
mailing list