3 ms·
I completely disagree. We talk about people using object oriented programming languages all the time. I think the issue is that, there are a "pure" functional
by dantheman 17y ago
I completely disagree. We talk about people using object oriented programming languages all the time.
I think the issue is that, there are a "pure" functional programming languages (Lisp, Scheme, Closure, ML etc) and pure OO. People see the value in the functional paradigm but they don't want to give up the benefits of OO so we are are seeing a convergence where the language supports elements from both paradigms, and in general people don't look at that as functional language. I'd say javascript is a good mix between OO and functional.
- Hexstream 17y agoBy the way, Common Lisp is neither "pure" functional nor not-OO. It's a multi-paradigm language that supports imperative, functional, object-oriented, language-oriented, etc. Google for CLOS, the Common Lisp Object System. I'd say it's more "pure OO" than most so-called object systems in use to day. Haskell would count as purely functional, not Lisp.
- dantheman 17y agoAgreed -- I've read the art of the metaobject protocol. But when most people think of functional programming they think of lisp, and this was about perception and not technical accuracy.
- asolove 17y agoBut what is the meaning of "pure" here? Stretching back over the last forty years of Lisp, then Prolog, etc., it's a moving target. "Pure" once meant using routines instead of GOTO. Then it meant structured instead of GOTO. Then recursion rather than iteration, followed by structured recursion with fold rather than explicit recursion. Most recently, it meant first-class functions. Read a lot of papers from the 90's and you'll see this being used as the definition of a real functional language. And lambdas and currying. Now that we've all seen the power these things give, us, they're now mainstream and we have a new definition of "functional programming" in terms of type-controlled effects.