Page 35 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 35

Chapter 2

            The great rift

            Interestingly, as main line conventional programming was faced with ever more
            complex requirements, it divided into two major philosophies under which many
            individual programming languages were born. The two major philosophies are
            conventional languages (such as C, LISP, and Basic), and database languages such as
            DB, and later Oracle and SQL.
            Database languages were forced to confront vast quantities of data and primarily to
            search, sort, and cross reference data within these oceans of information. Conven-
            tional programs, on the other hand, evolved to facilitate applications ranging from
            word processing to video games.
            As complexities continued to grow, these languages further evolved. Databases
            moved from using flat files to relational structures while conventional programs
            moved toward object-oriented structures. The C language became C++ and later
            Visual C++, while Basic adapted many of the best concepts of structured languages
            such as C, a GUI interface, and the concept of objects, and became Visual Basic.

            Object-oriented programming

            The highest of the fiefdoms we are going to consider is that of object-oriented
            programming. Such is the jargon surrounding this elegant and simple concept that
            its high priests have been able to discourage many mortals from even trying to
            understand it at a lay level.

            The fact is, if you had never heard of object-oriented programming and simply spent
            a dozen or so years working on ever more complex conventional programs, you
            would either suffer a nervous breakdown or gradually invent most of the principles of
            object-oriented programming. Like so many of the concepts we will be discussing,
            this one is a natural solution to the problem of complexity.

            Object-oriented programming is not so much a different way of programming as a
            different way of organizing your programs. It is an elegant structure that helps the
            programmer maintain order in the face of increasing complexity. Like all such
            concepts, it is more appropriate to some kinds of programs and less to others. It is
            very useful in complex programs such as those found at higher levels of control in
            mobile robotic systems.








                                                    18
   30   31   32   33   34   35   36   37   38   39   40