Pages

Wednesday, February 6, 2013

Why to choose Object Oriented Programming Languages, Methodologies or Techniques ? What Must be considered Before Coding? What is the importance of Reuse Technology, various other Software Technologies, Using Software models & Agile Software Development? What Troubles you can come across while upgrading your Software Code?



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!