Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Programming paradigm
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Object-oriented programming === {{Main|Object-oriented programming}} In attempt to improve on procedural languages, [[object-oriented programming]] (OOP) languages were created, such as [[Simula]], [[Smalltalk]], [[C++]], [[Eiffel (programming language)|Eiffel]], [[Python (programming language)|Python]], [[PHP]], [[Java (programming language)|Java]], and [[C Sharp (programming language)|C#]]. In these languages, [[data]] and methods to manipulate the data are in the same code unit called an [[object (computer science)|object]]. This [[Encapsulation (computer programming)|encapsulation]] ensures that the only way that an object can access data is via ''[[Method (computer programming)|methods]]'' of the object that contains the data. Thus, an object's inner workings may be changed without affecting code that uses the object. There is [[Object-oriented programming#Criticism|controversy]] raised by [[Alexander Stepanov]], [[Richard Stallman]]<ref>{{cite web|url=http://groups.google.com/group/comp.emacs.xemacs/browse_thread/thread/d0af257a2837640c/37f251537fafbb03?lnk=st&q=%22Richard+Stallman%22+oop&rnum=5&hl=en#37f251537fafbb03|title=Mode inheritance, cloning, hooks & OOP (Google Groups Discussion)}}</ref> and other programmers, concerning the efficacy of the OOP paradigm versus the procedural paradigm. The need for every object to have associative methods leads some skeptics to associate OOP with [[software bloat]]; an attempt to resolve this dilemma came through [[Polymorphism (computer science)|polymorphism]]. Although most OOP languages are third-generation, it is possible to create an object-oriented assembler language. [[High Level Assembly]] (HLA) is an example of this that fully supports advanced data types and object-oriented assembly language programming{{snd}} despite its early origins. Thus, differing programming paradigms can be seen rather like ''motivational [[meme]]s'' of their advocates, rather than necessarily representing progress from one level to the next.{{Citation needed|date=March 2018}} Precise comparisons of competing paradigms' efficacy are frequently made more difficult because of new and differing terminology applied to similar entities and processes together with numerous implementation distinctions across languages.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)