tag:blogger.com,1999:blog-34202034333924772012024-03-13T18:55:35.375+05:30Fascinating OOPS!A Place to Share My OOPS Thoughts....
Where I Redefine My Views...Unknownnoreply@blogger.comBlogger9125tag:blogger.com,1999:blog-3420203433392477201.post-66809733039602414992009-03-27T12:12:00.010+05:302009-03-27T13:08:36.477+05:30Concurrent/parellal Development<div><p class="MsoNormal">In this post, I just examine how OO can be argued to result in better resource utilization. Resource here is the software programmer/developer. we may be able to use them parellaly without much complications and overheads if we adopt OO. Resource's specific skills are effectively used too.</p><p class="MsoNormal"><span style="color:black">If the software system to be developed is very extensive, containing a lot of modules, we will have to adopt certain strategies to make the process convenient and faster enough.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">say for example if the total system contains 1 million lines of code, line 1 to the last line sequentially typing is impossible, obviously. In order to get out of this mayhem we may go for structured or object oriented programming. we may partition them to Modules/components and will assign to different people to get the work done in a parallel fashion. Later we will integrate these parts together to form the total system. One effective technique here to conceptualize components with interfaces specified, and then to assemble them together once materialized.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><b><span style="color:black">The car maker's example:<o:p></o:p></span></b></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">This carmaker only manufactures the metal body. He get components like dashboard, windscreen etc from other suppliers as<span class="apple-converted-space"> </span><span class="apple-style-span"><i>specified</i></span><span class="apple-converted-space"><i> </i></span>by him [<span class="apple-style-span"><i>read.. interface specification!</i></span>]<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">He then assembles them to form the<span class="apple-converted-space"> </span><span class="apple-style-span"><i>final</i></span><span class="apple-converted-space"><i> </i></span>Car.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><b><span style="color:black">vendor A</span></b><span style="color:black">: supplies windscreen-as per the specifications my car maker<o:p></o:p></span></p> <p class="MsoNormal"><b><span style="color:black">vendor B</span></b><span style="color:black">: supplies dashboard as specified by carmaker<o:p></o:p></span></p> <p class="MsoNormal"><b><span style="color:black">vendor C</span></b><span style="color:black">: he is big guy, he makes engine/power train as per the published specification, so our car maker got a copy of the specification and made the car-body etc accordingly.<o:p></o:p></span></p> <p class="MsoNormal"><b><span style="color:black">vendor D</span></b><span style="color:black">: He supplies lights, shades etc.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">This way other vendors as well supply a lot many things necessary for the 'final car'.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">What makes this possible.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">I would say "Specifications".... ie, INTERFACES<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">interface dashboard<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">{<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">length=100 units,<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">width=10 units,<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">color=transparent,<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">}<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">OR <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">interface engine<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">{<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">accelerate(),<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">decelerate(),<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">kill(),<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">}<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">Some form of specifications makes it possible to stick them together as a whole unit, to perform with data passed in between them.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <ul type="disc"> <li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: auto;mso-list:l0 level1 lfo1;tab-stops:list .5in"><span class="apple-style-span"><b>Advantage I notice here is the effective utilization of resources and their expertise in one realm.</b></span><o:p></o:p></li> <li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: auto;mso-list:l0 level1 lfo1;tab-stops:list .5in"><span class="apple-style-span"><b>Also the process is parallel, cutting down the time for delivery</b></span><o:p></o:p></li> </ul> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">These two things are quite different aspects of OO-other than reducing complexity (earlier described).<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">So <o:p></o:p></span></p> <ol start="1" type="1"> <li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: auto;mso-list:l1 level1 lfo2;tab-stops:list .5in">Mans inability to manage greater levels of complexity,<o:p></o:p></li> <li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: auto;mso-list:l1 level1 lfo2;tab-stops:list .5in">Time loss due to sequential processing,<o:p></o:p></li> <li class="MsoNormal" style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: auto;mso-list:l1 level1 lfo2;tab-stops:list .5in">Inadequate use of resource (developer) expertise<o:p></o:p></li> </ol> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">are addressed effectively through object orientation or with the use of interfaces.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black">--let me coin the word--->Component based/interface based programming.<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p> <p class="MsoNormal">Again, please don’t misunderstand that Object Orientation is the only methodology that addresses these. There are other paradigms which addresses these and more or less successful but OO has the significant advantage over others as it matches how we see & manages things in a real life scenarios, like an assembly line. </p><p class="MsoNormal">to summarize<br /></p><ul><li>confirm to specifications while creating components<br /></li><li>parellely create them<br /></li><li>assemble them together</li></ul><div>total110 lines of code, each line takes 1 minutes(so 110 minues to delivery)</div><div>conceptualise 11 components of 1o lines each, assign to 11 teams</div><div>(total time to deliver=10 mins+ integration time(assume 5 mins)=15 mins)</div><div>110-15 is the time we saved.</div><div><br /></div><div>LOL, :) conepts are good but practice makes sense!</div><div><br /></div><div><br /></div><div> </div><p></p> <p class="MsoNormal"><o:p></o:p></p> </div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3420203433392477201.post-64657289551561407812007-06-18T18:31:00.000+05:302007-07-11T19:49:02.416+05:30Abstraction and Absoluteness.<div align="left"><br />I <span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">received</span> a serious comment <a href="http://www.blogger.com/comment.g?blogID=3420203433392477201&postID=3541747986205695351">http://www.blogger.com/comment.g?blogID=3420203433392477201&<span class="blsp-spelling-error" id="SPELLING_ERROR_1">postID</span>=3541747986205695351</a></div><div align="left">which had point of disagreement too. Thanks to the guy. <br /></div><div align="justify"><br /><span class="blsp-spelling-error" id="SPELLING_ERROR_2">Atlachinolli</span> wrote<br /><em>"However, I must disagree with you in one point. As I see it, abstraction is not dependable on who perceives it. I believe that abstraction is the first level of interpretation, the primitive one, where all perception join (of course, I'm talking here of human perception). I believe that reaching the point of abstraction (and I don't mean the correct one, but THE ONE) leads to a well-design <span class="blsp-spelling-corrected" id="SPELLING_ERROR_3">environment</span> and thus a good agreement point to start the various branches of interpretation derived from it ... just like we do with the abstraction of universal energy and the "encapsulation" in material object."</em></div><div align="justify"><em></em></div><em><div align="justify"></em></div><div align="justify"></div><div align="justify">He believes that <span class="blsp-spelling-corrected" id="SPELLING_ERROR_4">Abstraction</span> is independent of viewer's perspective.</div><div align="justify"><br />I felt brilliance in the comment.I was behind it for a couple of days. I experienced difficulty analysing the argument. It appeared to be true. It <span class="blsp-spelling-corrected" id="SPELLING_ERROR_5">helped</span> me understanding my own faults. Though I believe Abstraction is dependent on viewer's perspective, I should admit the mistake I made earlier by saying that abstraction is inherent in objects. It was a mistake!! Abstraction exists in nature as a concept. But what is inherent in an object is something else-The E<span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">ssence</span>. It does not vary (Absoluteness) but abstraction varies. Actually an object can have infinite number of abstractions. Abstraction is an element of Object Orientation. It can't be absolute.It is about how we <span class="blsp-spelling-corrected" id="SPELLING_ERROR_7">perceive</span>!</div><div align="justify"><br />Moreover works of giants like <span class="blsp-spelling-error" id="SPELLING_ERROR_8">Booch</span>, consider Abstraction as Viewer Dependent -Though It can't be blindly taken just because an expert like <span class="blsp-spelling-error" id="SPELLING_ERROR_9">Booch</span> said; History of Science has seen fall of giants and theories. </div><div align="justify"><br />I have changed some of my perceptions about Object Orientation. I should not glorify it as a philosophy anymore, I feel. </div><div align="justify"><br />This one was just my primary impression.<br />I know, this description is not enough. I will <span class="blsp-spelling-corrected" id="SPELLING_ERROR_10">address</span> the issue in my next post, of course. </div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3420203433392477201.post-35417479862056953512007-05-25T05:25:00.000+05:302007-11-28T16:05:49.337+05:30A casual discussion on Complexity<div align="justify"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">OOP</span></span></span></span> is a lot about Complexity. I read somewhere that "fortunately,even in the most complex systems there seems to have an underlying order". A software is a complex system that is why Object Orientation is favourite to Programmers. When I searched 'define:complexity' in <span class="blsp-spelling-corrected" id="SPELLING_ERROR_1">Google</span><br />I could understand something like "the quality of being intricate and compounded".<br /><br />When I was a student, my parents insisted on daily update of lessons (whatever taught has to be revised on the same day). They believed it could reduce complexity regarding my studies. I never cared this in my teenage, as I had plenty of romantic dreams(like most boys). And I never executed the above plan! I remember my mother's nervous <span class="blsp-spelling-corrected" id="SPELLING_ERROR_3">colleague</span> who had a number of wallets for keeping money for different purposes. We all are afraid of Complexity!? We find out a <span class="blsp-spelling-corrected" id="SPELLING_ERROR_4">variety</span> of methods for handling it. But sometimes I feel that Complexity is worthy (That is a different story). Some people are much bothered about this complexity and the implications of it ..At last they take asylum of spirituality (Where they say they can find <a href="http://en.wikipedia.org/wiki/Brahma">Brahma</a>-The ultimate knowledge). I <span class="blsp-spelling-corrected" id="SPELLING_ERROR_5">don't</span> do Share/<span class="blsp-spelling-error" id="SPELLING_ERROR_6"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">Forex</span></span></span></span> Trading because it I find it complex. My mom found Mathematics/Physics very Complex. Some say Theory of relativity is Complex. Thus complexity has different facets.<br /><br /><span style="COLOR: rgb(255,102,102)">A surgeon, a civil engineer and a software engineer were chatting at a bar. The discussion rolled around to whose profession was the oldest. The surgeon said that his was, since in the book of Genesis, God created Eve from one of Adam's ribs, and surely that involved surgery. The civil engineer countered by saying that before God created man, he created the heavens and the Earth from chaos, surely a feat of civil engineering. The software engineer just smiled and said "Where do you think the chaos came from?"</span><br /><span style="COLOR: rgb(255,102,102)"></span><br /><span style="COLOR: rgb(0,0,0)">That one was a well known joke! (Chaos is state of disorder; It is <span class="blsp-spelling-corrected" id="SPELLING_ERROR_2">pronounced</span> like '<span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">Ke</span></span></span>-<span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">yos</span></span></span>')</span><br /><a href="http://pespmc1.vub.ac.be/COMPLEXI.html">http://pespmc1.vub.ac.be/COMPLEXI.html</a><span style="COLOR: rgb(0,0,0)">(Try</span><span style="COLOR: rgb(0,0,0)"> this and</span> let me know whether it was useful).<br />I feel, complexity is a <span class="blsp-spelling-corrected" id="SPELLING_ERROR_7">characteristic</span> 'God'? has filled while creating the world. He filled Abstraction also here-see my previous posts. And things are as we see/experience today because of complexity. Is complexity just residing inside mind, or it is there in the universe. I believe it is not just a feeling but some thing filled in nature. I believe so because of my exposure to ' <a title="Dialectical materialism" href="http://en.wikipedia.org/wiki/Dialectical_materialism">Dialectical materialism</a>'. This is becoming too informal...! Let me stop here. My friend is waiting as we planned to go for a movie. I 'll try to have a more authentic post on Complexity and reorganise(edit) this post. I am in a hurry as he is waiting.<br /><br /></div><div align="justify">By the way, <span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">OOP</span></span> helps handling this complexity inherent to Software <span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">Systems</span>.</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-3420203433392477201.post-29344103550837260322007-05-22T18:24:00.000+05:302007-11-28T16:02:11.282+05:30Interfaces -The Contractual Agreements.An Interface is a contractual agreement between the publishers of the interface and the subscribers of the interface.The publishers assures that they will not change the interface specification. The subscribers are agreed upon implementing the interface without fail in their component.<br /><br /><br /><br /><br /><strong>Where I see an Interface...?</strong><br /><br />As OOP is derived from the knowledge of how humans perceive things around them, we should be able to find it around us. I see the charging mobile phone-Nokia N73. I see interface there! There is an interface specified by Nokia for attaching charger so that even third party chargers in compliance with it can be plugged and used. I have seen a many cheap non-Nokia chargers in stores. what makes it possible? Interface Implementation. I felt two things are taken care here at least-Voltage Conversion and Shape. If not a better conversion of voltage, the circuits would have been burned. If no structural matching, It would have been tough to plug it there.<br /><br /><br /><br />I have a PC. I can attach monitor to it-LG, DELL,PHILIPS etc.<br /><br />The PC maker as well as Monitor manufacturer is agreed upon certain standards. So that two other concepts are originated....<br /><ul><li><strong>Polymorphism</strong></li><li><strong>Concurrent & Third Party Component Development</strong></li></ul><p><strong></strong>I 'll discuss these in another post.</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3420203433392477201.post-82549732875264629642007-05-21T21:15:00.000+05:302007-05-23T17:50:56.430+05:30Let Us Share!!<p><span style="color:#000000;">It was quite recently that I knew how intense the criticism and <span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">campaigning</span> against a novel idea like Object Orientation are! I have a different perspective and wanted to post about it. <span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">OOP</span></span></span> can be questioned and it should be (if it deserves). I understand that <span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">OOP</span></span></span> is much criticised for it being a pedantic discipline! But I wish to express something else, now...................</span></p><p><span style="color:#000000;">I it is always nice to hear from you. You may want to express, share your opinion or even call this blog a scrap ..! Actually when I started the blog, I was not much confident. Constraints were more! Yet it happened! </span></p><p><span style="color:#000000;">I was not irritated by that guy who was a critique of OPP and called Object Orientation as well as this blog scraps. I don't deny the other person's right to express. I request you to share, criticize...this blog. Feel free to post a comment. It will be much appreciated, irrespective of the content. And no comments will be deleted here unless it contains socially harmful ideas!</span></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3420203433392477201.post-25670205557988970132007-05-17T18:25:00.002+05:302007-06-13T15:18:24.336+05:30The clash of generations!<div align="left">I came across an <span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">article</span></span> titled <strong>'<span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">OOP</span></span></span></span></span></span> Is Much Better in Theory Than in Practice'</strong> by Richard Mansfield- <a href="http://www.devx.com/opinion/Article/26776">http://www.devx.com/opinion/Article/26776</a> .<br /><br />Which, as expected attempts to tarnish OOPS. The author seemed to be overenthusiastic to bend facts. It is widely known that Object Oriented Programming was a result of programmer's search for techniques for cost and complexity reduction as well as code <span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">reusability</span></span></span></span></span></span>. During his <span class="blsp-spelling-corrected" id="SPELLING_ERROR_3">attack</span> on oops, Mr.Mansfield <span class="blsp-spelling-corrected" id="SPELLING_ERROR_4">doesn't</span> care about the pitfalls of structured Programming.<br /><br />According to him, OOPS is just a theoretical exercise and lacks practical significance. He himself agrees that it may be resulting from the improper understanding of the technology-oops.<br />He complains about unnecessary layers!<br /><br />This misunderstanding usually happens when one <span class="blsp-spelling-corrected" id="SPELLING_ERROR_5">doesn't</span> know OOPS well. Its quite <span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">natural</span> because OOPS only makes one productive; It <span class="blsp-spelling-corrected" id="SPELLING_ERROR_7">doesn't</span> makes the impossible possible. Everything you achieve (end results, not classes or objects) using an Object Oriented Programming language is possible by a low level structured or even machine language...The <span class="blsp-spelling-error" id="SPELLING_ERROR_8"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">OOP</span></span></span></span></span></span> Code is ultimately a machine language code on execution. But as one knows, it is really tough to program in Machine Language. Are we really in need of assembly language codes everywhere?<br /><br /><span class="blsp-spelling-corrected" id="SPELLING_ERROR_9">After all,</span> everything is a <span class="blsp-spelling-corrected" id="SPELLING_ERROR_10">trade off</span> between Efficiency and Maintainability. It is your choice. Most of the current C++,C# or Java Codes do use oops. There is no point in doubting the potential of oops.<br /><br />Mansfield find OOPS <span class="blsp-spelling-corrected" id="SPELLING_ERROR_11">useful</span> while programming <span class="blsp-spelling-error" id="SPELLING_ERROR_12"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">UI</span></span></span></span></span></span> Widgets. This happens usually because of one's inability for <span class="blsp-spelling-error" id="SPELLING_ERROR_13"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">Componentization</span></span></span></span></span> </span>and visualisation of domain classes as they <span class="blsp-spelling-error" id="SPELLING_ERROR_14">are</span> intangible. While it is easier to <span class="blsp-spelling-error" id="SPELLING_ERROR_15"><span class="blsp-spelling-error" id="SPELLING_ERROR_6">deal with</span></span> tangible <span class="blsp-spelling-error" id="SPELLING_ERROR_16"><span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5">UI</span></span></span></span></span></span> Widgets.<br /><br />I am one of those who directly <span class="blsp-spelling-corrected" id="SPELLING_ERROR_17">benefited</span> from OOPS, It reduced the complexity, made our code much <span class="blsp-spelling-corrected" id="SPELLING_ERROR_18">maintainable</span>. and I <span class="blsp-spelling-corrected" id="SPELLING_ERROR_19">am</span> very confident of its practical significance.It gave me the confidence to simulate almost anything around <span class="blsp-spelling-error" id="SPELLING_ERROR_6">us</span>.<br /></div><div align="justify">I should have taken care while critisizing Mr.Mansfield as I see his three decades of industry experience. But I believe irrespective of <em>who</em> speaks, fact is much more important. I don't want somebody propagating ideas that are regressive. Richard Mansfield's arguments are outdated, I believe. More or less a screed! His arguments doesn't seems to be well supported.</div><div align="justify"></div><div align="justify">Its is just a matter of accepting something 'new'. OOPS is revolutionary!</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3420203433392477201.post-29117201470801763002007-05-16T11:24:00.002+05:302007-05-16T16:00:04.477+05:30OOP and OO Thinking..<span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">OOP</span></span></span></span></span></span> is Object Oriented Programming.But <span class="blsp-spelling-error" id="SPELLING_ERROR_1">Object Oriented T</span><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">hinking</span></span></span></span></span> is different. <span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">OOP</span></span></span></span></span></span> is a narrowed down thing! <span class="blsp-spelling-error" id="SPELLING_ERROR_3">Object Oriented </span>Thinking-<span class="blsp-spelling-error" id="SPELLING_ERROR_4">Object Oriented </span>Analysis, <span class="blsp-spelling-error" id="SPELLING_ERROR_5">Object Oriented </span>Design- is applied in Computer programming. Then It is <span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">named</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">OO</span></span></span></span></span></span> Programming. When I said OOPS is present everywhere I was mistaken. It would be correct if I said "<em>Object Orientation</em> is there". OOPS <span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">definitely</span> is a stream or paradigm of Computer Programming. But in the broader perspective <span class="blsp-spelling-error" id="SPELLING_ERROR_9"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">OO</span></span></span> </span></span></span>[Object Orientation] is a <span class="blsp-spelling-corrected" id="SPELLING_ERROR_10">philosophical</span> stuff. One need not be a programmer to understand <span class="blsp-spelling-error" id="SPELLING_ERROR_11">Object Orientation </span>,Abstraction etc..It is there in his daily life. Most of us are living in a world of <span class="blsp-spelling-error" id="SPELLING_ERROR_12">Object Orientation</span>. OOPS evolved as a means of managing the complexity involved in Programming.It was resulting from the study of human cognition as well as Programming <span class="blsp-spelling-corrected" id="SPELLING_ERROR_5">methodologies</span>. There are many things common to the universe as well as A software. Complexity is just one of them. Chaos is there in the universe and ..in software! Chaos is defined as 'A state of extreme <span class="blsp-spelling-corrected" id="SPELLING_ERROR_5">disorder</span> and confusion' by web.<br /><a href="http://wordnet.princeton.edu/perl/webwn?s=chaos">http://wordnet.princeton.edu/perl/webwn?s=chaos</a><br /><br />The <span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">essence</span> is Object Orientation and thus elements of Object Orientation are existent in nature. It is something which is closely related to human cognition [The conscious process of knowing or being aware of thoughts or perceptions, including understanding and reasoning].<br />And <span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5">OO</span></span></span> Programming</span>[<span class="blsp-spelling-error" id="SPELLING_ERROR_8"><span class="blsp-spelling-error" id="SPELLING_ERROR_6"><span class="blsp-spelling-error" id="SPELLING_ERROR_6"><span class="blsp-spelling-error" id="SPELLING_ERROR_6">OOP</span></span></span></span>] is the use of <span class="blsp-spelling-error" id="SPELLING_ERROR_9"><span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_7">OO</span></span></span></span> in programming.<br /><br />Through OOPS, Programming turned out to be too real world like.....<span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">That's</span> what <span class="blsp-spelling-corrected" id="SPELLING_ERROR_9">happened</span>.<br /><br />And my frustration of being the 'abandoned programmer' is reaching new heights. The job is just for <span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"><span class="blsp-spelling-corrected" id="SPELLING_ERROR_10">livelihood</span></span> ..No passion!No enthusiasm! I have decided to search for <span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">another</span> one.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3420203433392477201.post-53743162048371874842007-05-15T19:02:00.000+05:302007-05-17T10:27:08.902+05:30Encapsulation<span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">Encapsulation</span> is another element of OOPS. I have felt that Encapsulation is very close to abstraction. A different <span class="blsp-spelling-corrected" id="SPELLING_ERROR_1">perspective</span> of Abstraction....? Both are linked together, I assume. Abstraction is something that is <span class="blsp-spelling-corrected" id="SPELLING_ERROR_2">existent</span> <span class="blsp-spelling-corrected" id="SPELLING_ERROR_3">because</span> of Encapsulation. Abstraction is a <span class="blsp-spelling-corrected" id="SPELLING_ERROR_4">principle</span> or quality while Encapsulation is a technique. Encapsulation is possible because Objects do have a quality called Abstraction.<br /><br />I remember someone told me that Abstraction is implemented through Encapsulation.<br /><br />There is another definition-<em><span style="color:#006600;">"Wrapping up of data and function together in a same entity called <span class="blsp-spelling-corrected" id="SPELLING_ERROR_5">class</span>".</span> </em>I <span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">don't</span> like this one! I have heard this many times interviewers uttering. Its a too narrowed down,Programming specific definition. Object Orientation and thus Encapsulation is not only a programming language specific discipline.It has much broader aspects that it is there in the universe.When these qualities are disappeared (or taken away by God!) we human beings have to adopt different means for interacting, apprehending everything around us!<br /><br />Hence I go for this one.<br /><span style="color:#006600;"><blockquote><span style="color:#006600;">"The process of hiding all the details of an object<br />that do not contribute to its essential characteristics; typically,<br />the structure of an object is hidden, as well as the implementation of<br />its methods. The terms information hiding and encapsulation are usually<br />interchangeable."</span><br /></blockquote></span><br />This again comes from <span class="blsp-spelling-error" id="SPELLING_ERROR_0">Booch</span>.<br /><br />When u pushed the break pedal in <span class="blsp-spelling-corrected" id="SPELLING_ERROR_1">ambassador</span> car ,you didn't care that had a <span class="blsp-spelling-corrected" id="SPELLING_ERROR_2">hydraulic</span> or air break. While doing the same thing on a Benz, u never bothered whether the model had ABS. All those were smartly encapsulated inside and u <span class="blsp-spelling-corrected" id="SPELLING_ERROR_3">have</span> abstraction in the form of a 'pedal push'. 'All well hidden inside'.<br /><br />I just replaced my Computer RAM knowing that it was <span class="blsp-spelling-corrected" id="SPELLING_ERROR_4">non functioning</span>. It was quite easier to push the new RAM in to the slot. Now my PC is OK! I just did without having chip level expertise. Encapsulation helped here.<br /><br />There is one thing to note here -'Degree of Abstraction'.<br /><br />I am actually trying to redefine my ideas.I see a plenty of authentic material in web which are quite helpful.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-3420203433392477201.post-25003444807549450602007-05-14T20:50:00.000+05:302007-05-22T18:22:45.869+05:30Life with OOPS!<p align="justify"><div align="justify">' Object Orientation' or 'Object Oriented Programming [OOPS]' is a paradigm of computer programming.Its also a term that is used mostly by all but without having adequate knowledge.I would like to tell how fascinating it was for me, share my thoughts about it. And this can not be an authentic reference place,obviously.Be skeptic! If your intention is to learn OOPS from scratch, this may not be the right place. </div><div align="justify"><br />I believe OOPS is rather a philosophy-the way human cognition perceives this world.And this knowledge is applied in programming to make things easier (to reduce complexity..they say!).A programming language that provides necessary construct so that these basic guidelines of OOPS can be implemented is said to be an Object Oriented Programming Language. </div><div align="justify"><br />Nowadays, Am I losing that spirit about about OOPS which I had nurtured for years!?Might be... because the much business oriented Indian IT <span class="blsp-spelling-error" id="SPELLING_ERROR_0">MNC</span> culture has taken out much of my spirit were everything is about Profit and Loss, Resource Allocation ... contrary to the glossy ads they give in Times Ascend about Quality and Innovation. </div><div align="justify"></div><div align="justify"></div><div align="justify"><span style="font-size:130%;"><strong>Abstraction</strong> </span></div><div align="justify"><span style="font-size:130%;"></span></div><div align="justify">Abstraction helps to interact with something without bothering into it's details.Abstraction defines 'looking into the essential characteristics'.Abstraction depends on who <span class="blsp-spelling-corrected" id="SPELLING_ERROR_1">perceives-it is different for different observers</span>.</div><p align="justify"></p><blockquote><p align="justify"><span style="font-family:arial;color:#006600;">"An abstraction denotes the essential characteristics of an object that distinguish it from all other kinds of object and thus provide crisply defined conceptual boundaries, relative to the perspective of the viewer."</span></p></blockquote><p align="justify">Above is a precise definition given by <a href="http://en.wikipedia.org/wiki/Grady_Booch"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">Booch</span></a>. </p><p align="justify">How I felt was...Abstraction is about our perception of something -guided by our own purpose or need.I remember somebody explained it as follows</p><p align="justify">To an artist once palm is all about aesthetics;he is concerned about keeping it's proportions in painting.But the same palm for an <span class="blsp-spelling-error" id="SPELLING_ERROR_3">orthopedician</span> who wants to have a surgery on it is perceived differently-that he sees bones and joints.</p><p align="justify">Also Abstraction is something 'God' has filled in universe(or in human mind?) that made things a lot easier-<span class="blsp-spelling-error" id="SPELLING_ERROR_4">ie</span>, irrespective of the internal complexities u can accomplish a particular functionality.It is like a driver has to apply brakes(push) to stop an ambassador car which is the same he has to do in Mercedes Benz or Ferrari to stop it,irrespective of the different breaking mechanisms each of these possesses.Abstraction comes in the form of a pedal -'A pedal Push'! Same with steering! u act always similarly having little concern over whether it is a power steering or not!</p><p align="justify"><br />U have to turn on the Switch labelled 'LIGHTS' in the conference room.last week it was an incandescent bulb.now it has been replaced with a Fluorescent lamp but you don't bother about these-<span class="blsp-spelling-error" id="SPELLING_ERROR_5">ur</span> finger operates in the same way.Here U see abstraction.</p><p align="justify"><br />Abstraction is omnipresent.you can c it everywhere....I never cared <span class="blsp-spelling-error" id="SPELLING_ERROR_6">abt</span> whether my company buildings are painted in blue or yellow!It was irrelevant (to me).But later I <span class="blsp-spelling-error" id="SPELLING_ERROR_7">hav</span> seen the painter fired for the wrong mix of colors while painting them(much relevant for him).I just cared compensation(?) and technology....I just looked into the essentials.....!</p><p align="justify">Its getting pretty late.Time for a coffee& <span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">Cigarette</span>. This week, I will add more here..... Interfaces!Encapsulation...!</p><p align="justify"></p>Unknownnoreply@blogger.com0