Python is DOOMED! Again!
marfig at gmail.com
Tue Jan 27 18:59:10 CET 2015
In article <mailman.18178.1422380228.18130.python-list at python.org>,
random832 at fastmail.us says...
> On Mon, Jan 26, 2015, at 19:11, Steven D'Aprano wrote:
> > random832 at fastmail.us wrote:
> > - lexical analysis has to look for twice as many files (it has to
> > hit the hard drive for a stub file before looking at the source),
> > and we know from importing that file system access is a
> > significant and expensive part of the process.
> The idea is that the type hinting files would not participate in
> execution at all, only static analysis, so the interpreter doesn't need
> to look for these things at all, it only needs to ignore them.
Like Steven, I do not agree with the idea of adding files for the
purposes of static analysis. But you make an important point.
Static analysis cannot and should not clutter executable code. Static
analysis doesn't require code execution. The Python interpreter doesn't
need to be called in. It is for this reason that it makes absolutely no
sense to for type hints to be mixed with our code. Let them reside in
comments, docstrings, external files, whatever. But never in our code.
I'm actually baffled that PEP 484 came into existence, let alone it
having any kind of supporter. Here we have a syntax that even requires
changes to the interpreter so it can safely ignore all the type hinting
clutter that is going to be added by anyone wanting to perform static
And we should also be careful around the argument that type hints are
An optional feature says nothing of its requirements. The requirements
for PEP 484 are heavy. Not only will they force an update to the
interpreter, but will also force many users to reformate their function
headers in order for them to become bareable to the eye. In fact, no
longer will you look at function definitions like you did before.
And an optional feature says nothing of its usage patterns. Type hints
may be optional, but they may become a requirement for many projects. In
fact, the more complex your project, the more likely you are of wanting
to perform static analysis. It's not because type hints are optional
that I have some kind of choice about the matter. I may force myself, or
be forced, to use them. And if that is the case, I would rather prefer
having a syntax that doesn't clutter my ezxecutable code.
More information about the Python-list