Comment by nopurpose

6 months ago

So much written about relation between objects and data, but not a single mention of Lisp and derivatives?

Hi, Ruby seems to take the opposite approach, but does it still resolve the problems exposed in this article? I'm a beginner in development, knowing the basics of a few languages (mostly Python and JS). Being very sensitive to design and logic, I want to choose the right path forward. I want to learn a language that makes sense and help me to think rigorously.

An excellent opportunity for you to elaborate on the connection, since I'm not seeing it.

  • Same. Lisp’s selling point is that “code is data” — not objects.

    • All code is data. Many languages (Haskell for example) can directly manipulate code as data (macros). The unique thing about lisp is that the code is represented as a car/cons list. Other languages could do the same when writing macros. However most have chosen not to.

Lisp doesn’t have a monopoly on “data”. And most Lisps are not functional (setq/setf).

Closure is different of course. But not more functional than Haskell for example.