Assume that you
have become an expert in programming. And you already have innovative mind with
you, which continuously encourage you to do something better, creative or
innovative!
So, you decided
to develop an extra-ordinary application for desktop PC’s which will provide
people the sophisticated power of computing to solve their day-to-day scenario
problems.
The language
all you know or you are master with is some procedural language. (Say, VB 6). So, Now, you have created a cool and big application,
which can do the things that no other application in the world can do! OK Fine!!
But, it has
lots of problems yet. Especially related to run time. Now, you have after a lot
efforts created some solution for each of them. They just worked fine at that
stage of time, with some exceptions.
Now, Operating
System versions are changed. Say now we
have Vista & Windows 7 &Windows 8 & so on. We already have ample of
Linux versions and MAC OS. And your application not even works beyond Windows
XP. After some time, you have felt that
your application needs to be polished or improved. So as you want to upgrade it
to some other programming language or Technology (Say VB.NET as simplest one).
Again lots of problems are occurring there. Especially Related to Database
connectivity, automation, and so on.
Even you have
simplest and more powerful visual components and almost all previous facilities
available with you in newer platforms; still you have all above problems.
Now, you are
feeling very bad. You were only taught vb6 and procedural oriented languages
and all other (so called) useless subjects; even when at that time you had .NET
& Java Technologies available in market & industries; but light years
away from your Syllabus or Curriculum. You were also untrained (untaught) with
the Techniques and Tools of the Object Oriented Software Development, Software
Development models, Reuse Technology (Code Reuse, Document reuse & reuse of
other things), Reviewing of Code, Coding standards and guidelines, and so on…!
Now, you have
come up with an innovative idea/project event whose winning criteria are all
matching perfectly with your designed product. And you want to put your own
project there. Remember, that this project is the Result of You years of
Day-Night Research, Programming, Testing, and Deployment & maintenance
activities.
Now, all
technology and people have Ridden far away before you in terms of technology or
programming language. And you were not. Just because you were attached to that
a particular language. And you even didn’t saw over other technologies.
But now, you
need to upgrade your project at any cost. You have made consecutive changes in
your code; and prepared it for an upgrade. Still, few hazardous Run-time Errors
and/Or Exceptions are arising in your upgraded code. Now, you have tried
developer forums, ready made code snippets (samples), various tutorials, and so
on. But, everything has some limitation
or problem with it when you want to apply or attach then to your code. Even the
database technologies have been changed!
No you have
made a sample project by adding one of your project’s forms in it; and
connected it with the same Database you used in your project. It worked well.
Then you upgraded it to VB.NET. And again it worked well. “But not my project”,
you are thinking about! You have spent recent one month to examine your code
fully for any of the possible flaws; by all methods!
You have also
tries Googling (Searching) with your error messages. But, no solution or
working solution is found at any place. Now you are frustrated. “What mistake I
have done?” you are now thinking about. Just the thing you are getting is the
programming methodology. You have also not taken the advantage of Various
Software Technologies.
You are now
remembering that you have spent many years of your life. Everyday from Morning
to Mid-Night; forgetting everything else! You have become an expert programmer
by continuous development of this project. You have learnt ample of programming
styles and programming strategies with it. And you can now learn any of the
programming language or technology, very fast! But; Still you are unable to
complete well-furnished (upgraded) version of your project. Small, before the
desired Deadline!
So, please Keep
Remember; that small mistakes any waste your big Efforts. And Not Using the
Dynamic, Flexible, Agile, Documented, Function Based, Object Oriented
approaches is not the Small mistake!
So, Never forget this BIG
Lesson!!
Because, all above Story is Very
True!!!
J Thanks for Reading
Hamid Faisal
Follow & Share this!