
Am 13.07.2018 um 01:40 schrieb Tony Morris:
On python, we are fixing it (WIP): https://github.com/qfpl/hpython
Some poisonous aspects of Python are unfixable. E.g. having declarations as program-visible update to a global state causes all kinds of unnecessary pain, such as having to deal with half-initialized peer modules during module initialization.
Did you see the recent "default mutable arguments" post? https://lethain.com/digg-v4/
Yeah, the "default parameter is an empty list but that's then going to be updated across invocations" classic. Other languages have made the same mistake. Default data needs to be either immutable or recreated on each call. Such mistakes can be mitigated, but they cannot be fixed while staying backwards-compatible. Python actually did an incompatible switch from 2 to 3, but for some reason Guido didn't fix the above two, or some other things (such as Python's broken idea of multiple inheritance, or the horribly overcomplicated way annotations work). Python is nice for small tasks. If you accept its invitation to extend it you get fragility (due to the inability to define hard constraints so whatever you extend will violate *somebody's* assumptions), and if you scale to large systems you get fragility as well (because Python modularization is too weak). Well, enough of the off-topic thing here.
On 07/12/2018 07:58 PM, Brett Gilio wrote:
Python is poison, indeed. ;)