Even if you have never programmed in an object-oriented language, you have almost certainly heard the term object-oriented programming (OOP) used widely in the software development industry. Although not a new concept (the first object-oriented languages came into existence in the '70s), OOP did not come to the forefront until the '90s. The limitations of early CPUs and the initial high cost of memory slowed the acceptance of OOP, but now, for most programmers, the choice has been made and there is no turning back. Although similar to structured programming in many ways, object-oriented programming is a completely different approach that requires a different mindset. The similarities between OOP and structured programming tend to be syntax related and can often be seen when comparing statements that perform arithmetic and control flow functions. The differences, on the other hand, appear when the bigger picture of overall design and code structure is considered . If you have a background in structured programming, you will definitely find familiar constructs and syntax in OOP languages such as Java (there are only so many ways to write a for loop, after all). Although true that OOP languages do add some entirely new functionality, the primary difference is in the thought process that goes into designing and implementing an object-oriented system. It is not so much learning the syntax of an OOP language as it is learning to apply it correctly that matters more when moving from a structured programming background to Java. Whether your background is in structured programming or you have never programmed at all, the possibilities offered by OOP will become apparent as you build your knowledge of its basic concepts. If you have programmed in other object-oriented languages, the capabilities offered by Java will likely strengthen your ties to this approach as your preferred method for developing robust and maintainable systems. |