3 ms·
> Programmers do not need to write much code anymore; all they need to do in most cases is wire together already available components. As if this stops you fro
by bor0 8y ago
> Programmers do not need to write much code anymore; all they need to do in most cases is wire together already available components.
As if this stops you from re-inventing the wheel in attempt to understand more. Understanding things is what distinguishes programmers.
I had exactly the same discussion with one of my friends that wants to become a programmer. His argument was that programming is not fun at all because all we do is use libraries and frameworks. My counter-argument was the paragraph above.
- wilsonnb3 8y agoI agree with your friend, for the most part. Most days I feel more like a combination of a preschool teacher and a switchboard operator than a computer scientist. I'm not really sure how your first paragraph is a counter-argument to your friend. Reinventing the wheel to learn is just busywork. Reinventing the wheel because you need the wheel and don't have one available is fun. Unfortunately the wheel is always available now.
- bor0 8y agoLet's agree that re-inventing the wheel makes one more experienced, and also that it helps understanding things better. I believe that this distinction is what makes one a good/true programmer, compared to just lego play. Edit: Also, I disagree that re-inventing the wheel is just busywork. Compare a programmer that just uses .sort() and another one that uses .sort() and implemented his own sort (disregarding the fact that he is not using his own sort) and really understands the math behind it. Which one would you rely on?
- bor0 8y agoHacking for sure is different nowadays, but that does not stop anyone from learning and understanding more.
- l_t 8y agoI would tell your friend that programming best occurs at the appropriate level of abstraction to succinctly express the problem at hand. For example, if you are trying to write "business logic", you don't want to have to worry about allocating memory or ensuring data consistency. You just want to worry about business concerns. I suspect your friend has simply not tried any sufficiently difficult programming project. If your problem is non-trivial, you feel appropriately grateful for libraries that provide higher layers of abstraction.