top | item 21306551

(no title)

zallarak | 6 years ago

This article is among the best argument for using a typed language I’ve yet seen.

discuss

order

kbd|6 years ago

This has nothing to do with types. It's more about static guarantees the language gives about module import behavior.

nothrabannosir|6 years ago

In OP's defence:

> So that's a third pain point for us. Mutable global state is not merely available in Python, it's underfoot everywhere you look: every module, every class, every list or dictionary or set attached to a module or class, every singleton object created at module level. It requires discipline and some Python expertise to avoid accidentally polluting global state at runtime of your program.

> One reasonable take might be that we’re stretching Python beyond what it was intended for. It works great for smaller teams on smaller codebases that can maintain good discipline around how to use it, and we should switch to a less dynamic language.

> But we’re past the point of codebase size where a rewrite is even feasible. And more importantly, despite these pain points, there’s a lot more that we like about Python, and overall our developers enjoy working in Python. So it’s up to us to figure out how we can make Python work at this scale, and continue to work as we grow.

Those are literal quotes from the article. That is quite damning. How did they get to this point? By starting when Python was appropriate, and taking it day by day.

iso-8859-1|6 years ago

Depends what you mean by "type". A type in e.g. Haskell specifies whether there are side effects.

ken|6 years ago

Surely this is a typo and you mean “functional language”, as mutability and state is the main issue here, not dynamic typing.