Lingusitic relativity in programming languages or "give someone a hammer and everything becomes a screw"
https://arxiv.org/ftp/arxiv/papers/1808/1808.03916.pdf
A dynamic structure is needed for modelling things that can change, and you would need a time dimension to model relationships that may change in time. And the beauty of Python is that you have various collections built into the language (lists, dictionaries, sets, tuples) and may more available in packages.Prior to 1989, West Berlin was in East Germany.
How would an OOP developer model this relation?
This is a solution to some problem but it is the solution to the problem?A dynamic structure is needed for modelling things that can change, and you would need a time dimension to model relationships that may change in time. And the beauty of Python is that you have various collections built into the language (lists, dictionaries, sets, tuples) and may more available in packages.Prior to 1989, West Berlin was in East Germany.
How would an OOP developer model this relation?
OOP in a strong typed language like C++ is not meant for this (unless this is a collection itself you are implementing), as it freezes the hierarchy of classes when the program is compiled (still, the hierarchy of actual objects is dynamic in the run time, but not classes which are static). Python allows modifying everything in run-time.