Object-oriented programming: Difference between revisions

Content deleted Content added
Software: Practice and Experience
Criticism: Added comment by Bob Martin
Line 321:
 
[[Rob Pike]], a programmer involved in the creation of [[UTF-8]] and [[Go (programming language)|Go]], has called object-oriented programming "the [[Roman numerals]] of computing"<ref>{{cite mailing list |url=http://groups.google.com/group/comp.os.plan9/msg/006fec195aeeff15 |title=[9fans] Re: Threads: Sewing badges of honor onto a Kernel |date=2 March 2004 |access-date=17 November 2016 |mailing-list=comp.os.plan9 |last=Pike |first=Rob |author-link=Rob Pike}}</ref> and has said that OOP languages frequently shift the focus from [[data structure]]s and [[algorithm]]s to [[data type|types]].<ref>{{cite web |url=https://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html |title=Less is exponentially more |last1=Pike |first1=Rob |date=25 June 2012 |access-date=1 October 2016 }}</ref> Furthermore, he cites an instance of a [[Java (programming language)|Java]] professor whose "idiomatic" solution to a problem was to create six new classes, rather than to simply use a [[lookup table]].<ref>{{cite web |url=http://plus.google.com/+RobPikeTheHuman/posts/hoJdanihKwb |title=A few years ago I saw this page |last1=Pike |first1=Rob |access-date=1 October 2016 |date=14 November 2012|archive-url=https://web.archive.org/web/20180814173134/http://plus.google.com/+RobPikeTheHuman/posts/hoJdanihKwb |archive-date=14 August 2018 }}</ref>
 
Regarding inheritance, [[Robert C. Martin|Bob Martin]] states that because they are software, related classes do not necessarily share the relationships of the things they represent.<ref>https://www.youtube.com/watch?v=zHiWqnTWsn4</ref>
 
==Formal semantics==