Serving the Quantitative Finance Community

 
User avatar
Cuchulainn
Topic Author
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Why do software developers design Concept Hierarchies all wrong?

September 22nd, 2019, 6:02 pm

..and give the blame on OOP?

A random sample:

What is wrong (if at all!) with the following ISA relationships between base and derived classes:
 
A Square ISA Rectangle
A LineSegment ISA Point
A Circle ISA Ellipse
An Ellipse ISA Circle
A Point ISA Polyline
A Point ISA Circle with zero radius
A Polygon ISA Polyline
Etc.

They are zillions of other cases.

One reason for getting it wrong (there are more) is Daniel Kahnen's thinking fast and slow syndrome.

The author explains the two systems that drive the way we think. System 1 is fast, intuitive, and emotional; it operates automatically and quickly, with little or no effort and no sense of voluntary control. System 2 is slower, more deliberative, and more logical. It allocates attention to the effortful mental activities that demand it. 

95% of the examples of shapes in books, articles and software systems have design flaws that can be held at bay with an appropriate maintenance budget.