Team LiB
Previous Section Next Section

A Final Thought Before We Get Started

A lot of the material in this book—particularly at the beginning of Part One— may seem overly simplistic to experienced programmers. This is because much of object technology is founded on basic software engineering principles that have been in practice for many years, and, in many cases, just repackaged slightly differently! There are indeed a few new tricks that make OO languages extremely powerful and which were virtually impossible to achieve with non-OO languages—inheritance and polymorphism, for example, which you'll learn more about in Chapters 5 and 7, respectively. (Such techniques can be simulated by hand in a non-OO language, just as programmers could program their own database management system (DBMS) from scratch instead of using a commercial product like Oracle, Sybase, or MS SQL Server—but who'd want to?)

The biggest challenge for experienced programmers in becoming proficient with objects is in reorienting the manner in which they think about the problem they will be automating.

Fortunately, the way we need to think about objects when developing software turns out to be the natural way that people think about the world in general. So, learning to "think" objects—and to program them in C#—is as easy as 1, 2, 3!


Team LiB
Previous Section Next Section