Hacker News new | past | comments | ask | show | jobs | submit login

I think those were included specifically to poke fun at Lisp. The list isn’t meant to be taken very seriously.



I also chuckled at the '[ ] "multi-paradigm"' and immediately thought of lisp since it's one of the only languages that's ever had a reason to lay claim to that.

If you think about it, lisp is really just the smallest amount of higher-level PL primordial soup you can give to a programmer.


Almost every language is multi paradigm (it just takes two paradigms after all, so every imperative OOP language is multi paradigm). All the most popular languages today have a mix of imperative, functional and OOP. Few languages (and certainly fewer popular ones) are paradigmically “pure”.


Imperative is orthogonal to object-ness, that doesn’t make a language multi paradigm. C++ was considered multi paradigm because it supported both OOP and procedural programming for organizing code.

Of course, these days procedural is taken for granted and drops off the radar as a notable paradigm.

The dual of imperative is declarative. It is quite possible to have a functional imperative language as Guy Steel points out in his Lambda: the ultimate imperative paper.


> every imperative OOP language is multi paradigm

I am not sure how you can count imperative and OOP as two paradigms. OOP is an extension of imperative paradigm. I would like to see what language you consider to be OOP but not imperative and not functional.


In the spirit of a bit of fun, Erlang can arguably make that claim. The processes are easy to view as objects, in the sense that I've often thought that when I read what Alan Kay said about objects, it often seems to be describing Erlang moreso than Smalltalk. But the language those objects are implemented in is functional.

(That said, if you read real Erlang code, despite being immutable and nominally functional, the code often is in practice simply imperative code where the code author has manually done the SSA rewrite. This is one of my major criticisms with the language. If you really try to program it functionally, it's quite a pain compared to Haskell.)


“Almost every language is multi paradigm”

Considering most language paradigms are mutually contradictory, this only serves to increase the LOLs.


there are tons of multiparadigm languages, but oz/mozart in particular is worth a glance: https://mozart.github.io/mozart-v1/doc-1.4.0/tutorial/index....


It’s also notable in that Mozart is based on Pi Calculus. Except for Pict, I’m not aware of any others.


i hadn't heard of pict, but there's occam-pi and jocaml which are based on the pi calculus. (jocaml is based on the join calculus, which has been demonstrated to be equivalent to the pi calculus).


but those are teaching languages, specifically designed to teach multiple pl paradigms




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

Search: