OBJECT ORIENTED PARADIGM: Evolution of Object Oriented (OO) programming

What really makes a programming language an O-O language? And when did the O-O movement really start? Many people point to the early 1960s as the time when Simula-67 introduced the concept of an object.

As the name implies, Simula was created to aid in simulations. It is not a coincidence that simulations typically model real-world systems. Many of these real-world systems contained hundreds, or thousands, of interacting parts. We will follow O-O language evolution through the discussion of several O-O languages. Many point to Smalltalk as the first pure O-O language. Interestingly enough, C++, perhaps the first major commercial O-O success, is not truly O-O. And finally, you will learn why Java was released with such fanfare and what makes its proponents consider it a complete programming language package.

Simula


By the 1960s,  The introduction of Simula-67 brought with it the first true programming object, classes, and a form of inheritance; therefore, Simula is an important milestone in any discussion on O-O programming languages. The language was designed by Dahl, Myhrhaug, and Nygaard at the Norwegian Computing Center at Oslo, Norway. The initial version of the language, Simula-1, was introduced in 1966. The programming modules defined by Simula were based not on procedures, but on actual physical objects. Simula had a novel way of presenting the object, so that each object has its own behavior and data.

Smalltalk


Many consider that the first truly O-O language was Smalltalk, developed at the Learning Research Group at Xerox's Palo Alto Research Center in the early 1970s. In Smalltalk, everything is really an object that enforces the O-O paradigm. It is virtually impossible to write a program in Smalltalk that is not O-O.

Smalltalk is actually much more than a programming language: It is a programming environment. In fact, Smalltalk is an interactive environment that interprets code on-the-fly. You can actually change the parameters and code of a program while the program is running.

C++


Although Smalltalk gave O-O development a certain amount of legitimacy in the marketplace, it took C++ to bring O-O development what it really needed: widespread acceptance in the marketplace. For this reason, C++ may well be the most important O-O language. Not until C++ was released and the industry started supported it with a vengeance did O-O development become mainstream.

C++ has its roots in a project to simulate software running on a distributed system. This simulator, actually written in Simula, is where Bjarne Stroustrup conceived of the idea of combining some of the features of Simula with the syntax of C.

While working at Bell, Stroustrup made personal contacts with people such as Brian Kernighan and Dennis Ritchie, who wrote the definitive book on C. When the initial simulator written in Simula failed, Stroustrup decided to rewrite it in a C predecessor called BCPL.

C++ was originally implemented in 1982 under the name C with Classes. .The reasons C++'s O-O roots are in Simula are obvious. However, why did Stroustrup decide to use C? Because, he said, C is flexible, efficient, available, and portable. Some of these points can be debated today, but at the time, these reasons were valid. Perhaps the most important reason he used C was because he was at Bell Labs and C had gained a large following and was widely accepted in the marketplace.

making C++ backward compatible with C has a serious drawback. While C++ does provide O-O constructs, it is possible to use structured programming techniques. Thus, C++ is not considered a true O-O language, but a hybrid language.

Java


James Gosling was investigating the possibility of creating a hardware-independent software platform for just this purpose. Initially, he attempted to use C++, but soon abandoned C++ and began the creation of a new language he dubbed Oak. Gosling decided that he still wanted to base his language on the highly successful C++, but that he would incorporate only those features of C++ that were deemed worthwhile Although the Oak technology was intriguing, the market was not quite ready for it and Oak was put on the backburner.

With the advent of the Web and the emergence of browsers, the people at Sun put two and two together, and Oak was brought out of the mothballs and renamed Java. Sun created its browser, called HotJava, using Java. By summer 1995, Java ran on SPARC Solaris, Windows NT, Windows 95, and Linux. By fall 1995, Java beta 1 was released, and the Netscape Navigator 2.0 Browser incorporated Java. Java 1.0 was officially released in January 1996. Over the past nine years, Java has progressed to the current release Java 2 Platform Standard Edition 5.0 as well as other platforms such as an Enterprise Edition (J2EE) for the enterprise/server market and a Micro Edition(J2ME) for mobile and

C# .NET


Microsoft responded to the popularity of Java by producing a version of Java called Visual J++. However, Microsoft decided on a more comprehensive response. Using many of the groundbreaking that Java implemented, Microsoft developed a language called C# that became the foundation for the companies .NET platform. As with Java, C# relied heavily on the success and failures of earlier languages. The .NET development environment includes many of the really good characteristics of several other platforms. C#, like Java, uses C/C++ syntax. C# incorporates many of concepts introduced by the initial Java released (which I will list later in the article). The C# platform also builds upon many of the powerful features of the VB6 and Visual C++ environments.

While Java hangs its hat on the fact that it is platform independent, perhaps the most interesting point about C# is that is takes this portability thread in a totally different direction. With the release of the .NET environment, Microsoft moves into the realm of language portability. Whether or .NET will ever be truly platform independent, it does provide the ability to develop code in different languages that can be integrated into the same application. For example, you can develop objects in C# .NET and VB .NET and use them together. In fact, any objects developed in the .NET environment can be used together.

Visual Basic .NET


Visual Basic 6 is one of the most popular programming languages. The programming environment for VB6 has had a huge impact on state-of-the-art development environments. VB6 has evolved steadily towards the object-oriented model until it finally joined the list of object-oriented languages with the release of Visual Basic .NET. VB6 was not totally object-oriented; it did not implement inheritance completely. Remember that to be totally object-oriented, a language must implement encapsulation, polymorphism, and inheritance.

 

 
OBJECT ORIENTED PARADIGM: Evolution of Object Oriented (OO) programming OBJECT ORIENTED PARADIGM: Evolution of Object Oriented (OO) programming Reviewed by Unknown on 11:13:00 Rating: 5

No comments:

Powered by Blogger.