3 ms·
Simply put, because it's much quicker to write it from scratch each time. A good developer will spend time to learn all the little things like how to make a tab
by erikb 9y ago
Simply put, because it's much quicker to write it from scratch each time. A good developer will spend time to learn all the little things like how to make a table, how to store data savely, etc. And he will add these features as needed, and in a form that matches well with what the other pieces will be. It is really normal once you've hit that level of skill in one area in your life. It can be something totally else entirely.
One could also ask why a painter doesn't use puzzle pieces instead of drawing each picture from scratch. Sure, it would make him finish much quicker, but it doesn't give him the level of detail he needs. And if you make these puzzle pieces small and flexible enough you might call them pixels and then what's the difference between using them and just drawing by hand?
What you will see often though is that people use a framework to get some level of detail out of the way. But often the good developers will also be able to take out whole chunks of this framework and replace it with own code.
- davidjnelson 9y agoRight, abstractions are useful. I'm just curious why we keep recreating the same abstractions over and over again.
- erikb 9y agoYou need to interact with the question, why a painter won't use puzzle pieces and instead draws fresh strokes each time he draws a picture. That's the core point of the idea and I think with the example painter it's much easier to see than with programming. And I also answered your question already in a literal sense. We don't really recreate the same abstractions. They feel similar to the user, but are quite different through having a detail different here and a detail different there. E.g. in one CRUD app you load the data from the web API, then filter, parse and format it for presentation. In another CRUD app you already filter and transform via SQL in the database. This is not done randomly but for a reason. Through the whole process something different is created each time. At a certain skill level you simply want to have that flexibility.