On 2020-11-27 at 14:32:11 +0100, Antoine Pitrou <solip...@pitrou.net> wrote:
> On Fri, 27 Nov 2020 07:32:17 -0500 > 2qdxy4rzwzuui...@potatochowder.com > wrote: > > > > I come from old(er) school (1980s, 1990s) embedded systems, and who > > "owns" a particular mutable data structure and how/where it gets mutated > > always came up long before we wrote any code. No, I'm not claiming that > > pre-ansi C and assembler are more productive or less runtime error prone > > than newer languages, but is this feature only necessary because > > "modern" software development no longer includes a design phase or > > adequate documentation? > > "Modern" software development is just like older software development > in that regard: sometimes it includes a design phase and/or adequate > (i.e. sufficiently precise) documentation, sometimes it doesn't. Fair enough. :-) (In my case, memory was a scarce resource and we emphasized documentation about it.) > > Memory management implementation details is a long way from > > executable pseudo code. (30 years is a long time, too.) > > This isn't really about memory management, though. It reminds me of "use after free" errors. Whenever Rust comes up, I think of memory management. Call me biased. :-) Also, in Serhiy's example,¹ if Client.send "moved" headers, then it could also free the memory associated with that dictionary at the end (although I realize that that may not always be the case). Many times, freeing memory sooner is better. ¹ https://mail.python.org/archives/list/python-ideas@python.org/message/VBB3XGUNTF75J6O5PSTYYRSNTRMQP74H _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/PJDJZECOUA4QUSYBWVOYNUDEA7KUSU26/ Code of Conduct: http://python.org/psf/codeofconduct/