I love coding. To the extent that I love coding from scratch, from the bottom.
What I mean, is not using ready-to-use and god-knows-how-it-works functions and features of a language. I really witnessed this to a huge extent when I started developing mobile apps. For a basic app, you just need to click some buttons and do some drag and drop, and its done. I was like ” Where’s the coding ? “.
More precisely this will be called,
Reinventing The Wheel
I personally love thinking out the way to solve a problem, instead of just using a function. At least I wished to do that. But I wonder if I really did so. I’ll talk in the context of C, the language I adore and code in.
- C does have “library functions” like printf, whose implementation I hardly knew when I started.
- Finding a perfect library function is a joy in itself and I use them quite enthusiastically.
So it seems I’ve already been using a lots of wheels. I guess unless I’m coding in Assembly, it’s difficult to avoid wheels. The best part though is that the code behind the wheels is mostly available and it gives a satisfaction that I’m not using the function blindly.
The usual C has but small and few wheels to boast of. Modern languages and C too, now have big, multipurpose and heavily armed wheels called libraries or APIs.
These wheels are like gears of all sizes and types that fit together to save you lots of typing at least if not thinking and brain-storming.
- They help you use ready made functions that do most of your work.
- Coding shifts from thinking to reading API and Library documentation.
- Large projects benefit largely as coding time and effort reduces .
But I also feel that coders, specially beginners loose the chance to think there way out of a problem and that feeling of accompolishment that comes from coding a C program, but never comes from drag and drop for a mobile app.
On the other hand, I believe its foolishness to write the same code again and again or to use new code instead of a function for a trivial objective. Moreover, I’ll never mind using a function if it was coded by me earlier. Using someone else’s code seems unethical even, to me.
I wonder where you draw the line.
I’m glad there are libraries like GLib and at the same time miss having to fight (think) my way out of a problem.
Do you love using wheels ?