4 ms·
Agreed. The tagline talks about any programming language, and then the classes section goes on to talk aout classes, abstract classes, class hierarchies, etc. T
by snorremd 8y ago
Agreed. The tagline talks about any programming language, and then the classes section goes on to talk aout classes, abstract classes, class hierarchies, etc. To me it seems like "any language" in that chapter at least would refer to what people traditionally call object oriented languages.
Lisps, some low level c-style languages (go and rust among the newer ones), and some ML languages with algebraic data types don't really have the same object orientation abstractions as Java, C#, and Python. Further more the class system in Javascript ES6 are a bit special.
It would be better to talk about domain modelling, suggest interesting domains to model, without actually specifying any particular way to do it.
Edit: I must add that the author have done a great job of collecting these suggestions for tasks though!
- a-saleh 8y agoYeah, it really is a minor nitpick, even the "Classes" list is really solid :) The last update seems to be five years ago and I have to admit, If were writing this 5+ years ago, I too might assume "All modern languages have class hierarchies, right?" comming from Object-Pascal/Java/Python/Ruby Funny enough, 5 years ago I started workin on a Clojure project at work, which changed my perspective somewhat :)
- weavie 8y agoTo nitpick your nitpick, Common Lisp has one of the strongest object oriented abstractions around (The MOP). It would be quite fun to see how far you could abuse the metaobject protocol to implement some of these..
- lispm 8y agoCheck out Common Lisp, which was the first standardized OOP language (1994) with its Common Lisp Object System. Classes, class hierarchies, meta-classes, ... all there. It's not using message passing, but that can be viewed as a simple case of its generic functions...