Sunday, September 15, 2013

Engineering Perks

     A beginner in practical coding (with only Lab Practice beforehand, I might add :P ) pretty much suffers the following,
  • Confusion at the debugging stage
  • Temporary delight that your code actually runs but then,
  • Frustration at the run-time errors
  • Discovering exceptions to handle and, 
  •  Implementing those handlers
  • After fixing all these and discovering that your output is wrong
  • You might think that’s the worst straw but then there’s the Mother-of-all-Code-Problems, The Segmentation Fault.
   You might be wondering why I’m going all code-crazy right about now, so I’ll stop and explain.
My college is participating in the Google Student Ambassador 2013 program and I signed up for the qualifying test last week. The GSA thing is not exactly about coding nor is it looking for hard-core coders. But we had a question on code-development and as it was only my second attempt at any standard question in coding, I had my struggles. And I discovered my too-much-concern for the sample input and output we’d been asked to follow. There I go digressing again… :/
    Sorry, where was I? Oh right, this question got me thinking about my only-a-few-months old determination to code that stemmed from my passion to work behind the scenes on software development. I say determination here because, I’ve always had the passion but I’ve just started following it and deciding keep up the good work.
*Digressing*
   Sorry. And hence the list of problems new coders face.
Elaborating,


·         You think you’ve typed your code in perfect syntax but then you discover typos and spellings that give you bugs when you compile it. It’s not exactly stressing-you-out stupid but all that typing and one F9 key giving you a list of places in your code to go over again is kinda annoying.
·         You get rid of that and then F9 and get that console screen and you’re like  रब दी मर्ज़ी है! (Meaning, It's God's grace!) and bada bing!
·         You get a list of run-time errors that turn up on specific inputs and kill your buzz.
·         And then you research all your exceptions by going over every possible extreme input.
·         Placing all the exceptions in code form. Let me tell you, this totally sucks. (forgive my language)
·         And then you type in your check inputs and trace out your code separately to discover the opposite results in both. This makes you go over the whole code inch by inch placing extra outputs in stages and discovering which stage upsets the trace and re-checking that.
·         Fixing all that must give you the right thing but then there comes along this Segmentation Fault which I like to call Over-Kill-Mate. This may turn up any time you compile your code. And the sad thing is each machine gives it at different situations. I don’t know when to expect this thing or whether it will occur or whether the same code gives nothing on a different machine or anything in particular when it comes to this.

   Over-Kill-Mate killed my Semester Practicals in Java and my Internal Practicals in Operating Systems. :| 
   Anyway, problems or no problems, disappointment or no disappointment, result or no result, all those new coders out there who’re enthralled with your ability to make anything work on a computer with just some sit-down-and-get-it-over-with typing and checking some faults and fixing ‘em and working out your user-friendliness, all I gotta say is,”Keep at it, keep up the feverish typing, optimizing memory, refining protocol, managing memory, and produce cool code for everything out there in the digital world!” 
   And even though in everyday speech I refer to coding as Brain-Frying, I’m not giving up the thrill of working behind all those apps and software I and the people I know use every day.
Dreams are meant to last. :)