"Michael S. Klein" wrote:
Picard: Smalltalk? Data: Yes, sir.... I've found that humans often use smalltalk during awkward moments, therefore I've written a new subroutine for that purpose.
So, I guess that they are *still* using subroutines in the 24th century.
Huh? Methods are just subroutines by another name. Yes, there is a (single) difference (polymorphism). Everything else is old hat: parameter passing (with an additional implicit 'self' parameter), local variables, synchronous call/return sequence, recursion etc.
This was one of my initial grudges against Smalltalk: Lots of new words meaning just the same old stuff, making it difficult to understand what was really new about Smalltalk. Just try it:
Smalltalk terminology Standard terminology method subroutine message send subroutine call object data structure self first parameter
I concede there are important differences, and a different set of concepts. But some Smalltalk-80 books said that the difference is in methods and messages, and that's just not true; these concepts may have been designed to be different but turned out to map quite clearly to well-established concepts.
Regards, Joachim