-
I find OOP methodologically wrong. It starts with classes. It is as if mathematicians would start with axioms. You do not start with axioms - you start with proofs. Only when you have found a bunch of related proofs, can you come up with axioms. You end with axioms. The same thing is true in programming: you have to start with interesting algorithms. Only when you understand them well, can you come up with an interface that will let them work.
Alexander Stepanov -
To be a good programmer, you need to understand the principles of generic programming. To understand the principles of generic programming, you need to understand abstraction. To understand abstraction, you need to understand the mathematics on which it’s based.
Alexander Stepanov
-
I find OOP technically unsound.
Alexander Stepanov -
Complexity assertions have to be part of the interface.
Alexander Stepanov -
To see how to make something more general, you need to start with something concrete. In particular, you need to understand the specifics of a particular domain to discover the right abstractions.
Alexander Stepanov -
Object-oriented programming aficionados think that everything is an object.... this isn't so. There are things that are objects. Things that have state and change their state are objects. And then there are things that are not objects. A binary search is not an object. It is an algorithm.
Alexander Stepanov -
Putting it simply, STL is the result of a bacterial infection.
Alexander Stepanov -
I think that object orientedness is almost as much of a hoax as artificial intelligence.
Alexander Stepanov
-
I spent years trying to find some use for inheritance and virtuals, before I understood why that mechanism was fundamentally flawed and should not be used.
Alexander Stepanov -
Performance constraints are good for creativity.
Alexander Stepanov -
When writing code, it’s often the case that you end up computing a value that the calling function doesn’t currently need. Later, however, this value may be important when the code is called in a different situation. In this situation, you should obey the law of useful return: A procedure should return all the potentially useful information it computed.
Alexander Stepanov -
I still believe in abstraction, but now I know that one ends with abstraction, not starts with it.
Alexander Stepanov