In some ways, they are sort of related. In chemistry, you have different representations (diamond/graphite) of the same underlying thing (carbon). In programming, you have different representations (PointXY/PointRTheta) of the the same underlying concept (Point2D).