Hacker News new | ask | show | jobs
by tabtab 2003 days ago
The real problem is maintenance. Maintenance of software is about 2/3 of programming costs. It's counter-intuitive, but has proven true over time. Tools that make it easy to create the original application often make maintenance worse. They only help 1/3 of the total cost pie, pumping up the other 2/3.

Learning how to write maintainable code is actually harder than learning to code. You pretty much have to be burned by maintenance trial and error on your code AND others' code to learn this skill. There are plenty of books that teach "principles" of maintainable designs, but the principles often conflict with each other such that it's a balancing act between competing factors such that a simple list of rules fails.

I can give lots of anecdotes of people getting carried away with specific "principles". The necessary principles are a piano keyboard, but they play only a few favorite notes, making even cats cry. Knowing when and how to use which note is still an art.