Blog Search Search Rwik's Blog http://rkdspeaks.blogspot.in/favicon.ico UTF-8 http://rkdspeaks.blogspot.in/ Google

Pages

Thursday, 19 June 2014

To learn or not to learn-knowledge vs productivity: An Amateur Programmer's Saga...

 
AN AMATEUR PROGRAMMER'S SAGA....
In the modern world especially with the advent of the internet, we all seem to learn up everything pretty fast, don't we? For example, i was 14 when i started to learn some serious coding. It all started with LOGO. I still remember the very first day that i started to use LOGO, i returned home and asked my mom to buy me the LOGO software so that i can practice programming on it on my home computer. After that, my school taught me qbasic(which is now quite obsolete) and then moved on to c++(procedural programming, not oop). After that I learnt JAVA and this was when i was introduced to the beautiful world of OOP. After that I took serious interest in learning C#(Microsoft's approach to OOP Programming, similar to JAVA) and also learned some web development(HTML and CSS). That was until I got hold of Yashavant Kanetkar's Let Us C.


The scope of his book was much more than what i learned in my school way back in class 8. One topic that I found particularly interesting was pointers. After researching about it on the net and using it in my applications, i began to like it. It opened to me a whole new world and exposed me to the internal workings and management of the computer system which i had overlooked and missed while learning JAVA and C#. However, i also had in mind that Microsoft had it's own implementation of C++ under the banner Visual C++(VC++). Naturally, familiarity with .NET and curiosity got the better of me and soon i started to learn VC++ (it was pretty much the preferred choice for Windows development that i am mainly interested in) which was pretty much similar to the normal one except that it had much more libraries, a bit more syntactic sugar and was also much more abstract than core C++ in many aspects like memory handling( including handling of pointers) and other stuff. Therefore, there were a lot of things that I had to explicitly do in normal C++ that the language itself took care of in VC++. Seemingly productivity increased and i began to like VC++ more. In a nutshell, i was more interested in productivity and high level abstraction rather than spending more time learning the low level internal working. It seemed like an anomaly to me to learn something which could also be left to other 3rd party API's to take care of. So, i started to use VC++ for C++ programming.


But to my utter surprise, occasionally I have come across certain situations where it was a tough job for me to debug the program . I made sure that i checked every nitty gritty detail in my program, still i failed to locate the bug. After tedious hours of mind-wracking effort, what amazed me was that it was some simple knowledge about the internal workings of the compiler that could have helped me to avert the bug.  It was then that i began to realize the importance of finer lower abstraction details.

Today, the whole world is becoming more and more abstract. We now have access to tons of  tutorials and educative material but most of these prefer to teach the more abstract details rather than going for the complete picture. And that is what makes the title of the post relevant....
"To learn or not to learn-knowledge vs productivity"
There's no one specific universal answer to this question though. Some people take it to be a blessing as it increases programmer productivity and saves time while some like me take it to be a curse atleast when you start using it right from the beginning and thus miss out on some important key knowledge about some lower level details. Not only does it help in certain cases for solving particular problems in coding much faster and quicker solutions, but in certain areas such knowledge are totally indispensable. And that is why, i believe, that such things which can otherwise be taken care of by various 3rd party vendors are still very important for programmers in this age of more and more higher level abstractions and APIs. Some really popular programming tutorial websites have courses which term VC++ as the modern way of USING C++, but it doesn't remain the modern way of LEARNING C++ though. An early transition from normal traditional C++ can be very dangerous. We live in an age where people expect the smartest of solutions from us. And in such a world. these internal details that are generally abandoned by amateur programmers most of the times becomes the X-factor that differentiates him/her from the rest.

Monday, 16 June 2014

Hey Ho!!! "Back to School" Week fast approachin!!!!


Just one week to go before the "BACK TO SCHOOL" Monday finally arrives. Some may wonder, "Finally?" But to be honest 1.25 months of summer holidays was not easy to spend. Boredom was the defining characteristic of this summer holiday for me. As much as the summer heat is turning out unbearable for me, so is this boredom. Oh dear, i am as excited as a a kid waiting on the railway platform for his first train journey or something alike. Sorry, if the simile was not upto the mark.But the bottom-line is that, as far as i can remember, i have never been as excited for "Back To School" week as I am this time. But why?

I spared a moment to think why. Seriously? 1.25 months of summer vacs seeming so long that i am bored to death? Then somewhat obnoxiously, something struck my head. O dear, this is my last summer vacs of school life( hopefully :P .) And instantaneously, an infinite long chain of thoughts started to occupy my mind which nowadays disturbs me time and again. "By this time next year, i will be searching for a college....Competition is too stiff...oh dear, projects left and am already into the last week of summer vacs...." Suddenly, this summer vac seems too short and i feel like instantaneously involving myself in a horde of activities so that by the end of this week, i can literally force these thoughts into the backseat for quite some time.

It is quite obvious that the sleeping hours for an individual is the most peaceful time that a person can get in his/her busy schedule of 24 hours. But for me, it is something different. I dread it. No, not the time that i actually take a nap, but the gap between the time i get into my bed until i finally fall asleep. That is the time which brings tons of unwanted thoughts into my mind. It seems as if all the uncertainties, troubles and problems of life find this the sweetest time to penetrate my mind and hover round there. In fact, now i have developed a queer way of asserting whether it was a "day well spent?" If some day, i am lucky enough to prevent these unwanted thoughts from penetrating my head , then i can heave a sigh of relief believing that indeed, it was a day well spent. And it does work out well. :D

 But unfortunately, with passing time, i am getting less "day well spent" signals. Everything is just piling up around me. Be it expectations from others, my studies, the things that i have planned to do in the fields that i am passionate about, everything is just piling up. And at the end of the day, all that i blabber time and again is:
"Shouldn't i have some time for myself too? Some time when i can enjoy myself, mix with my peers, share my problems with them?"

I sometimes wonder about the lives of those people who carries the tag of "brought up in the laps of nature" tag with them. Perhaps, such a lifestyle would have been much better than this closed fast paced chaotic lifestyle. And this is what makes schooling such an integral part of my life. It gives me the energy to keep fighting, the caring teachers helps me stay motivated and my loving friends are those with whom i can share  and talk about my interests and passions and also share some of my deeper thoughts and feelings :P . Thus, schooling to me is not just about carrying a fully loaded(and sometimes overloaded -_- ) bag pack to a considerable distance via a motor vehicle, dropping it down, occasional scribbling of notes and a break officially designated for munching our food :P . To me, schooling is an integral part of life that can't be replaced by anything else. And because am nearing the end of that wonderful eventful journey, i am looking forward to it with unparalleled zeal. Hope it brings to me a hoard of wonderful memories that i can always cherish! :)
Cheers,
Rwik!