News for hackers. Stuff that matters.
Re:OOP Is Dead, Long Live OOP by Gibbon1 on Friday October 19, 2018 @05:58AM (#18255492)
When I was doing hardware in the 80 early 90's I came to the conclusion that the 'reusable code' fans were all missing a point.

You are either writing a library,a framework, or something like that. Or you are implementing some 'business logic'

The point of the former is reusability. The point of the latter is utterly not and you should not waste your company's time and money or worse let schedules slip because of it.

Some further thoughts over the years.

Reuseable code must have a public, well designed, sable, and documented API or it won't ever be reused. Be honest how many programs are going to reuse this code? Enough to justify all the above? Didn't think so.

One of the problems with reusable code is dependencies. OOP code bases tend to have more than the ordinary number of dependencies.

Re:OOP Is Dead, Long Live OOP by letstrynvm on Friday October 19, 2018 @07:10AM (#18255791)
Yes that's basically what I found too.

To practice OOP, its approach is every class should be a "library". Procedural code that doesn't have a class context is felt to be a shameful throwback to an earlier era degenerate C practices. From before some people feel they starting writing "good C++" apparently.

Re:OOP Is Dead, Long Live OOP by Gibbon1 on Saturday October 20, 2018 @04:48PM (#18265382)
I think having done hardware first gives me a slightly different perspective. Hardware designs get reused a lot, but usually not as a drop in, it gets reworked at each reiteration. Either that are it's something you buy off the shelf in which case the design interface is absolutely stable. Think a uP chip or core. They'll fix bugs and shrink the die, but they never ever change the abstract design. You can still by 8051 cores and IC's and that design has not changed at all in 40 years.

Compare with business logic. The problem is the spec and use case keeps moving. Moving way too fast to be a good library or a framework.