Thanks, I’m glad you replied @aaarrrggh; and I agree with your assessment, naturally.
I seems to have been a long time since Premature Optimization (PO) has been mentioned when it used to be a frequent criticism flung about between the power users that used to inhabit the now defunct PHP Application Design (PAD) forum.
By nature I am an extremely cautious developer, and fully recognise and appreciate everything you have said in your reply.
I think perhaps the most important thing about PO is that exists as a moniker, a label if you like, because like many I stop and think about how a system might evolve in the future and try to make sure the door is left open for extension etc without having to re-write the whole thing.
Now, my as brain knows the phenomenon of PO exists – that you can over-engineer a solution – I can say to myself, “hang on are we sure this is not going down the road of premature optimization here?”.
Then I can mentally double back, go back to the spec, ask more questions of the decision makers etc and see if I can justify the extra planning I seem to be doing.
The counter to PO often seemed to end up summarized in language such as “just do the simplest thing which works, and if that causes your code to run slowly with bottlenecks and so on, then refactor.”. That may seem glib, but can be true some times.
The problem is as a new developer you don’t have the confidence to know whether you will be able to refactor your code later and you may fall into the “analysis paralysis” loop of constantly thinking about your code, but being unable to decide what to write for fear of failing. Again, I have been guilty as charged in the past.
In trying to find a link for the OP I stumbled across the dual monikers of Vertical Partitioning and Horizontal Partitioning of tables. I knew about Vertical Partitioning but did not know it had a name, and had never really thought of using Horizontal Partitioning, ever (that I can remember). Now I have an extra tool in my arsenal, and it has a shorthand, a name.
So, I learned something new.
Good thread, and a good opening question @justlukeyou;. Sorry if the talk of PO has dragged it a bit off-topic.