Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Be careful with criticizing an obviously smart person like this based on a side comment you didn't had a chance to ask her to elaborate upon. I think with Python she meant things like Python not having real private variables or methods and not having real explicit interfaces, which I guess makes it pretty correct to say it doesn't have data abstraction.


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.


Scheme 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/

I am not invalidating your observation in general, to the contrary, I just don't agree Liskov is to blame of this here.


Ah, I see what you mean. Thanks for clarifying for me.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: