answersLogoWhite

0


Best Answer

Object oriented computer programming and design methodology has become popular as a way of modeling and solving many programming problems. Traditionally, the implementation of such systems has been performed using an object oriented programming language such as C++. Those skilled in the art know that object oriented programming languages share at least five unique and defining concepts or notions. These concepts, which are discussed fully in the relevant literature pertaining to object oriented programming, are known as: CLASSES, OBJECTS; INHERITANCE; POLYMORPHISM, and ENCAPSULATION. Objects communicate with one another via "message passing." A "message" is texts string such as "redraw you". When an object receives a message, a corresponding class method is executed. It is well-known that in object oriented programming, different objects of an object oriented programming language will respond to messages differently.

Shift from top-down to OOP could be called going from fourth to fifth generation, in that what it enables programmers to do better or more conveniently than they could with the more primitive languages resembles what the higher generation languages enabled them to do over the lower generation ones. OOP, however, is a paradigm shift as significant as that from first to second or, arguably, from second to third -- but far more radical than the from third to fourth. Of course, it is impossible to quantify this, but in terms of ease of programming and what OOP enables, it might be fair to say the leap from fourth-generation languages to OOP, especially what OOP has now become, can be likened to the span between binary code and BASIC. OOP supercharges the program environment.

At each generational jump from binary to assembly language, to third-generation, to fourth-generation, the leap made programming easier and enabled more complex tasks by adding layers around the central core of binary code and its next outer layer, assembly. All programming languages including the advanced OOP iterations that are out now, are parsed down to binary to be executed by the computer. It's all fundamentally the same.

OOP packaged the laborious and error-prone systems of calling subroutines with variable parameters we used in the old days with a very slick interface, an envelope of error-checking and ease of use.

Object Oriented Programming organizes programming logic around objects instead of processes (as is the case with non-OOP). Some widely used third generation, object-oriented programming languages include C++, Java, and Smalltalk. In OOP, data, and the processes that can be performed on the data, are combined into an object. In addition, objects with similar characteristics may be combined into something called a class. So when an OOP programmer creates a class and wants to categorize certain files they are able to create a sub-class. Sub-classes inherit all the characteristics and processes from the original class file that it is derived from. Inheritance is one of the most powerful features of OOP. Once a programmer creates the subclass, he can add to or change the characteristics and processes to meet the precise needs of the subclass. An example of an OOP is Microsoft Office Suite products (Word, Excel, PowerPoint, Access). First Generation Programming is a machine language. It only understands zeros and ones, so we say machine languages are binary. Second Generation Programming is also called assembly languages; it uses simple words in place of zeroes and ones. The programmer associates each assembly language statement with a specific machine language command. Third Generation Programming uses source codes that could then convert into machine language. A special computer program, called a compiler, would handle the conversion. A compiler is a computer program that translates a specific third generation language (3GL) into machine language. Forth Generation Programming languages are closer to natural language. People who have little or no programming skills can use them to write simple programs. One example of a 4GL is structured query language (SQL). Structured query language is a standard language for manipulating databases. Users can write simple SQL programs to create a database, enter data, retrieve data, and delete data. How are they similar? All programming languages still go back to the First Generation Programming language, Each generation has become more advance, with better tools and features. But each language resorts to machine language.

User Avatar

Wiki User

15y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

14y ago

Generation 1 programming languages are simple machine code, which was a very difficult language which used hardware rather than software to code and assemble/compile. It is not readable by the programmer, so mistakes are very bad and it also cannot be ported to different computers due to the fact that machine code is executed directly by the CPU, so the computer you want to port it to may not use the same code.

Generation 2 programming languages, like C (Not to be confused with C++ or C#) are assembly languages, often used to program kernels and device drivers for computers. These languages are different from first generation languages because they can be more easily edited if mistakes are made and they are specific to processor families rather than the individual processors. This language can also be ported to other computers via assembling the code.

Generation 3 programming languages, such as COBOL, Visual Basic, BASIC, C++, C# and Java are like generation 2 programming languages but they are more user-friendly and can be used in a wider array of applications.

Generation 4 programming languages, such as FoxPro, SQL, Focus, Panther and WinDev are used mostly for commercial business software programming. Fourth generation languages require much less effort, time and money to program applications. These languages are best for problem solving and system engineering.

This answer is:
User Avatar

User Avatar

Wiki User

7y ago

To date there have been 4 major advances (or generations) in hardware development, from vacuum tubes (1G) to transistors (2G) to integrated circuits (3G) to microprocessors (4G). However, these hardware generations have nothing to do with programming languages. The only language that actually evolves with the hardware is the underlying machine code; the only language actually understood by the machine. All other languages are simply tools for creating machine code. They each do it in different ways, some better than others, but it is not possible to classify programming languages by generation in the same way we classify hardware.

The term 4GL (fourth generation language) formally came into use in 1982 but at the time there was no such thing as a 3GL let alone 2GL or 1GL. These terms were retrospectively defined such that machine code became known as 1GL, low-level assembly language 2GL and all high-level languages as 3GL. But these terms don't actually help us classify programming languages other than to say that 1GL has no abstraction, 2GL has very little abstraction and 3GL has a lot of abstraction. It therefore follows that 4GL has more abstraction than 3GL, but object-oriented languages like C++ have far more abstraction than languages like C, yet both are considered 3GL.

While 1GL and 2GL are fairly well understood to mean machine-dependent languages (with or without abstraction), 3GL and 4GL are impossible to quantify because all high-level languages are 3GL and the term makes no distinction with regards the level of abstraction. C++ is far more abstract than C, but C++ is not 4GL (despite some very dubious marketing claims to the contrary).

By the 1982 definition, a 4GL is simply any language that is so intuitive that anyone can use it, unlike 3GL languages which require a programmer trained in the language. A 4GL is a more fluid, more natural language (like plain English). Structured Query Language (SQL) is often regarded as being 4GL, but to be truly 4GL we wouldn't need to be trained to use it (it is easy to learn SQL but it is still far from intuitive). As a consequence, the definition of 4GL has changed somewhat over the years and now includes any intuitive means of interacting with a computer, such as clicking a menu button to execute a command! But that's not programming -- that's simply the execution of a program. Changing the meaning of a classification simply to give that classification some meaning is a rather fruitless exercise. In reality, what we find is that languages that are said to be 4GL are in fact 3GL languages with 4GL-like features bolted on.

The so-called 3GL languages are better classified by their paradigms: empirical, declarative, functional, procedural, structured, object-oriented and so on. We can also classify them by the domains in which they operate: applications programming, subsystems programming, scientific, financial, DBMS, artificial intelligence, general-purpose, and so on. Comparing a language paradigm with a non-standardised language classification system is simply not possible. For all the good it does we can say that all object-oriented languages are 3GL languages but not all 3GL languages are object oriented.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What are the Main differences between object oriented programming and generations 1-4 programming language?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

What is an aspect-oriented programming language?

An aspect-oriented programming language is another name for an aspect-oriented language - a computer programming language which aims to increase modularity by allowing the separation of crosscutting concerns.


What is the difference between oriented programming language and high programming language?

Set/subset: Some high level programming languages are object oriented, but not all of them.


Vbnet is which type of language Service Oriented Architecture Programming Language Object Oriented Programming Language Procedural Oriental Programming Language?

Visual Basic .NET (VB .NET) is an OOP, an Object-Oriented Programming Language. It's paradigm is both OOP and Event-Driven, but that's beside the point.


Is java example of a procedural programming language?

No.Its purely object oriented programming language


What is the comparative between Objective Oriented Programming Language and Structured Programming Language?

what is triple jump test?


Is VB an object oriented programming language?

Yes


Is c is complete object oriented programming language?

No. C is not object oriented. C++ is object oriented.


Is C programming procedural or object oriented?

C is a weakly typed procedural programming language. For object oriented programming languages near C, you can look at ooc ( http://ooc-lang.org/ ), C++, D, and Java.


Which type of language is java?

Java is truly object oriented programming language


What is an aspect-oriented language?

An aspect-oriented language is a computer programming language which aims to increase modularity by allowing the separation of crosscutting concerns.


What is problem oriented language?

a program generation activity aims at automatic generation of a program.The source language is a specification language of an application doamain and the target language is typically a procedure oriented programming language.A program execution activity organized the execution of a program return in a programming language on a computer system.Its source language could be a procedure oriented language or a problem oriented language


Why c plus plus language is called command oriented language?

C++ is not a command oriented language, it is a multi-paradigm language because it employs functional and object-oriented approaches to programming.