Object-oriented programming: Difference between revisions

Content deleted Content added
Restored revision 1054205710 by 98.4.112.204 (talk): Thanks, but we can't report your personal recollections here
Tag: Reverted
Line 134:
 
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.]], and [[Bjarne Stroustrup]], who had used Simula for his PhD thesis, eventually went to create 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]] [[Measuring programming language popularity|programming language popularity index]] graph from 2002 to 2018. In the 2000s the object-oriented [[Java (programming language)|Java]] (blue) and the [[Procedural programming|procedural]] [[C (programming language)|C]] (black) competed for the top position.]]
Line 142 ⟶ 143:
Object-oriented features have been added to many previously existing languages, including [[Ada (programming language)|Ada]], [[BASIC]], [[Fortran]], [[Pascal (programming language)|Pascal]], and [[COBOL]]. Adding these features to languages that were not initially designed for them often led to problems with compatibility and maintainability of code.
 
More recently, a number of languages have emerged that are primarily object-oriented, but that are also compatible with procedural methodology. Two such languages are [[Python (programming language)|Python]] and [[Ruby programming language|Ruby]]. Probably the most commercially important recent object-oriented languages are [[Java (programming language)|Java]], developed by [[Sun Microsystems]], as well as [[C Sharp (programming language)|C#]] and [[Visual Basic.NET]] (VB.NET), both designed for Microsoft's [[.NET Framework|.NET]] platform. Each of these two frameworks shows, in its own way, the benefit of using OOP by creating an abstraction from implementation. VB.NET and C# support cross-language inheritance, allowing classes defined in one language to subclass classes defined in the other language.
Maybe I didn't invent it but I was in the same room.
It wasn't a mouse then! It was a pointing device....
 
Aug 82 - Apr 83 Systems Analyst
Alberta Utilities & Telecommunications (9 months)
Gas Distribution Branch (Contract)
Edmonton, Alberta
 
Involved in a 3 month pilot project to automate the mapping
and drafting requirements of rural natural gas co-ops in Alberta
The system was for demonstration at the upcoming Red Deer
Co-Op Trade Fair. Object oriented procedures were put in place to
control all mapping processes, from initial file creation through to
final map plots. The OOP approach resulted in digitizer operator
training being completed in 3 days as compared to the suggested
6 weeks. The major fix was to insert the 6 map tie down points
as the first 6 bits of data in each map. Then a simple program
prompted them thru their 6 corresponding points on the digitizer.
This reduced the steps to 6 from 23 (jargon loaded prompts)
They could get in and out of files quickly. The front end consisted
of an outline map of Alberta with co-op boundaries hilited for
selection. Then co-op selection would allow them options, then the
township maps to change, then the selection of bordering maps.
Very handy set of tools for their particular requirements.
Entered lots of maps with new personnel.
Having this mapping and geographical experience changed my
approach to data processing problems.
 
The system was implemented on DEC 11/70 running Integraph
software. Associated Engineering owned the hardware and
provided considerable training and assistance. The successful
presentation, resulted in the purchase of a VAX 11/750 along
with 2 digitizing boards, plotter etc.
RSTS/VMS/Fortran<ref>SpectateSwamp</ref>
 
==Features==