Leandro Lucarella wrote:
Andrei Alexandrescu, el 1 de diciembre a las 11:07 me escribiste:
Walter Bright wrote:
Leandro Lucarella wrote:
with file(fname) as f:
x = f.read(10)
f.write(x)
Looks like you're right, and it's a recently added new feature. I
suggest it proves my point - Python had to add complexity to
support another paradigm. Python's "with" doesn't look any simpler
than scope guard.
Actually "with" is an awful abstraction as defined in Java (the new
version), C#, and Python. Scheme also has am unwind-protect
function. I strongly believe all of the above are hopelessly
misguided. Scope guard is the right thing, and I am convinced it
will prevail.
Good arguments!
Yah, point taken :o). I probably haven't clarified enough that I'm
talking about a mere belief. Arguments have been discussed here in the
past (e.g. scalability of the language construct with multiple
transactions). Time will tell, but one indicating factor is that
programs don't deal well with exceptions and scope guards help that
massively, whereas "with" seems to help much less. Besides, anyone may
be a nut about something, and scope guard is something I'm a nut about.
Andrei