Object-oriented programming: Difference between revisions

Content deleted Content added
Fix misleading run-on sentence
Omit needless words
Line 111:
In the 1970s, Smalltalk influenced the [[Lisp (programming language)#Language innovations|Lisp community]] to incorporate [[Lisp (programming language)#Object systems|object-based techniques]] that were introduced to developers via the [[Lisp machine]].{{cn|reason=The dates don't line up, Flavors is 1982 and LOOPS is 1983 so they were most likely influenced by Smalltalk-80|date=August 2023}} Experimentation with various extensions to Lisp (such as LOOPS and [[Flavors (programming language)|Flavors]] introducing [[multiple inheritance]] and [[mixins]]) eventually led to the [[Common Lisp Object System]], which integrates functional programming and object-oriented programming and allows extension via a [[Meta-object protocol]]. In the 1980s, there were a few attempts to design processor architectures that included hardware support for objects in memory but these were not successful. Examples include the [[Intel iAPX 432]] and the [[Linn Products|Linn Smart]] [[Rekursiv]].
 
In 1981, Goldberg edited the August issue of [[Byte Magazine]], introducing Smalltalk and object-oriented programming to a wider audience. In 1986, the [[Association for Computing Machinery]] organised the first ''Conference on Object-Oriented Programming, Systems, Languages, and Applications'' (OOPSLA), which was unexpectedly attended by 1,000 people. In the mid-1980s [[Objective-C]] was developed by [[Brad Cox]], who had used Smalltalk at [[ITT Inc.]]. [[Bjarne Stroustrup]], who had used Simula for his PhD thesis, eventually went to createcreated the object-oriented [[C++]].<ref name="Bertrand Meyer 2009 329"/> In 1985, [[Bertrand Meyer]] also produced the first design of the [[Eiffel (programming language)|Eiffel language]]. Focused on software quality, Eiffel is a purely object-oriented programming language and a notation supporting the entire software lifecycle. Meyer described the Eiffel software development method, based on a small number of key ideas from software engineering and computer science, in [[Object-Oriented Software Construction]]. Essential to the quality focus of Eiffel is Meyer's reliability mechanism, [[Design by Contract]], which is an integral part of both the method and language.
 
[[File:Tiobeindex.png|thumb|350px|The [[TIOBE index|TIOBE]] programming language popularity index graph from 2002 to 2018. In the 2000s the object-oriented [[Java (programming language)|Java]] (green) and the [[Procedural programming|procedural]] [[C (programming language)|C]] (black) competed for the top position.]]