|
|
When high level languages were first developed, there were no calculators. To do complicated calculations, people had to write computer programs and execute them to obtain results. The first high level language developed was FORTRAN which stands for FORmula TRANslator. This language was specially adapted for doing calculation and is still the best language for complicated calculation such as in space travel, weather prediction, etc. This is a procedural language in that the actions or verbs are important (calculations). The objects (nouns) upon which the calculations are done is of secondary importance. Procedural languages were the norm in the early days. To see the difference between FORTRAN and C click here: Difference between FORTRAN and C FORTRAN was followed by COBOL COBOL stands for COmmon Business Oriented Language. It was followed by other procedural languages such as BASIC (Beginners Allpurpose Symbolic Instruction Code) which has been replaced by Visual BASIC, Pascal (Named after French mathematician Blaise Pascal), PL/1 (Programming Language One), APL (A Programming Language), and ALGOL (popular in Europe). All of these are procedural languages mainly meant for calculations.
But as calculators became more powerful and affordable, the role of computers changed to data storage, communications, graphics, etc. Bell Laboratories needed a language to suit their particular requirements to store their vast database of customers and for telecommunications. Their team Under the direction of Ken Thompson worked on a program which they code named B (for Bell). However this language failed their specifications, and they started fresh and developed a language which suited them. Since this was quite different from B, they used the next letter in the alphabet C. This language was developed by Dennis Ritchie also at Bell Labs. This was the last procedural language.
C++ is an extension of C developed by Bjarne Stroustroup also at Bell Labs. C was enhanced in the 1980s by adding object-oriented programming (OOP) capability, which allows complex programs to be developed using simpler constructs called objects, that can communicate by exchanging messages. However since it had to be compatible with C, which is a procedural language, C++ is a hybrid mix of procedural and object oriented techniques. C++ supports an object oriented approach, but does not enforce it.
Sun Microsystems started Java. The team was led by James Gosling and was ideally suited for Graphics, communications, and especially for E-Mail. Gosling originally wanted to call it Oak after an Oak tree in his yard, but the name was already taken. While drinking coffee at a cafe, one of the team members held up the cup and asked "why not "Java"?" The name stuck. Java is a pure objected oriented language based on C++. Another pure object oriented language is Small Talk.
What is object Orientation?