DEV Community

Discussion on: Learning Python- Intermediate course: Day 37, File handling in Python

Collapse
xtofl profile image
xtofl

You're welcome. I appreciate the effort you put into this, but I'm not sure if I agree with your telling aspiring programmers to adopt a way that has proven to cause expensive problems: improper cleanup of opened resources (files, sockets, database connections, ...). This open/close paradigm relies entirely on developer discipline. It was common in the 1990s, but since the advent of functional programming, this can be handled by our languages and libraries.

In this specific case, consider what is easier to learn

  • 'you always have to close your file (and I won't tell you how to make sure it happens)`, or
  • 'you open a file by using a with x.open() as f: block (and safety is built-in for you)?

This may sound harsh, but I'm appealing to your responsibility as a teacher. And given the fact that I have to spend time unteaching my young colleagues' bad habits, after fixing their bugs, I feel entitled to bring this message.

You may also find this message, amongst others, repeated in this terrific talk by one of the most experienced C++ teachers: Stop Teaching C.

But again: it's really great that you take the time to write all of this down! Keep up the good work!

Thread Thread
aatmaj profile image
Aatmaj Author

Thanks for the advice๐Ÿ‘