Skip to main content

Answer to interview question - "What is the most important thing Object Oriented languages have contributed to software development?"


...sufficiently model the real world and problem at hand before jumping the gun.

...the success of graphical user interfaces like X and Windows. A GUI consists of several objects which have a behaviour on their own, something that OO is able to represent closely.

...polymorphism to match the logical way classification worked in real life -> code reuse

..limit project churn

stackexchange

Tony Hoare introduced Null references in ALGOL W back in 1965 “simply because it was so easy to implement”, says Mr. Hoare. He talks about that decision considering it “my billion-dollar mistake”. http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare



Comments

Popular posts from this blog

Microservices Design Patterns

functional decomposition or domain-driven design well-defined interfaces  explicitly published interface  single responsibility principle potentially polyglot http://blog.arungupta.me/microservice-design-patterns/ http://blog.arungupta.me/microservices-monoliths-noops/ https://go.forrester.com/blogs/13-11-20-mobile_needs_a_four_tier_engagement_platform/ three-tier architecture — presentation, application, data vs. 4 tier -- client, delivery, aggregation, services

Banana Monkey Jungle

Why functional over OO? https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53 Inheritance Banana Monkey Jungle The diamond relationship Fragile parent class Categorical (Taxonomy) v.  Containment (or Exclusive Ownership) Hierarchies Encapsulation Object passed by reference to an Object Constructor is not safe Deep cloning MC Hammer v.   Immutability Global Scope Polymorphism https://www.cs.utexas.edu/~mitra/csSummer2013/cs312/lectures/interfaces.html Design by Behavior not Data

Build software like you build houses

Interfaces facilitate visibility. Software is the only engineering practice that doesn't allow runtime visibility to end-user. If this were true for construction, it would mean your builder would have to live with you for you to even guess what the problem is. https://vimeo.com/221049715 https://github.com/stripe/veneur