4 ms·
Lack of private variables I can see criticism for. Lack of explicit interfaces seems to be a side effect of being untyped. That doesn't mean it doesn't have dat
by groovy2shoes 13y ago
Lack of private variables I can see criticism for. Lack of explicit interfaces seems to be a side effect of being untyped. That doesn't mean it doesn't have data abstraction -- at that point you'd also have to say that Scheme doesn't have data abstraction, yet SICP has a whole chapter dedicated to that topic!
I don't mean to criticize just Liskov. It seems to be a "feature" of a great deal of obviously smart people in our field, as well as some less obviously smart people. I don't get it.
- stiff 13y agoScheme doesn't have data abstraction in the sense Liskov's CLU had it for example, you can try to roll it yourself like SICP does, but it is not the same as having it as a language feature. Also interfaces can still be useful in an untyped language and there has been discussion of their inclusion in Python, see a good discussion here (some of the problems mentioned would apply to Scheme just as well I think): http://www.python.org/dev/peps/pep-0245/ http://www.python.org/dev/peps/pep-0245/ I am not invalidating your observation in general, to the contrary, I just don't agree Liskov is to blame of this here.
- groovy2shoes 13y agoAh, I see what you mean. Thanks for clarifying for me.