4 ms·
I kind of disagree. When programming isn't hard, it is because it is not done right, and the coder uses repetition instead of higher level abstraction. Regardl
by greg7mdp 6y ago
I kind of disagree. When programming isn't hard, it is because it is not done right, and the coder uses repetition instead of higher level abstraction.
Regardless of the programming task, it is usually hard to find the best way to do it, and not trivial to implement it correctly. This is demonstrated by the fact that most code sucks.
- dmitriid 6y ago> When programming isn't hard, it is because it is not done right, and the coder uses repetition instead of higher level abstraction. Aren't higher level abstractions supposed to make programming easier? And yes, for the vast majority of programmers programming is easy thanks to existing high level abstractions, and it's usually the business domain that is hard.
- ozim 6y agoThey are supposed to ... but finding correct abstractions is hard. After a year or two abstractions usually are not correct anymore. That is why "favor composition instead of inheritance" is important because hierarchy of inheritance is fragile abstraction and if you compose things it is easier to swap one thing with other if they have the same interface.
- wwright 6y agoIMO, abstractions aren’t easy, but programming with the wrong abstraction is significantly worse than with the right abstraction. I think that because everyone starts with few visible abstractions, they get the sense that adding abstractions adds ease. Removing or changing them is often just as valuable.
- ozim 6y agoWhen I read what you wrote it seems like the opposite is true. When programming isn't hard it is done right. Using higher level abstractions is not "golden bullet". If it is easier to have repetition and it easier to do find and replace and maintain and change code, why even make an abstraction? Just like true developers write all their code in notepad and real developers etch bits on disk with magnetic needles.
- cheez 6y agoHad the same reaction.
- NicoJuicy 6y agoThe hard thing about programming is making it easy ( readable)
- humbleMouse 6y agoThe first part of your comment reads like a talking point a meeting hopping noncoding archetect would use. Simple repeatable solutions are better and more maintainable than constantly abstracting things to a higher level. I write systems and code with operations and developer ease in mind, not some academic idea of abstraction.
- gnusty_gnurc 6y ago> I write systems and code with operations and developer ease in mind, not some academic idea of abstraction. I'll be quite honest, if this is the same sentiment behind my experience at work (convoluted tangles of conditionals everywhere, 100+ line functions doing simple things - just to name a few), abstraction isn't just some academic idea. I work with people who follow the path of least resistance and leave everyone else with the path of most resistance when we have to figure out what the hell is wrong with their code and fix the glaring oversights and errors they left behind.