Is "procedural" a fitting antonym when talking about "functional programming" ?
I guess my question is, what's the opposite of "functional?"
the real functional programming is the friends we've made along the way
😂
that does not help me in my essay but i appreciate the thought immensely
google says the opposite of functional is impractical...
imperative?
von Neumann style
hm, imperative is what I usually talk about
but you can be imperative in a functional language
another antonym is object oriented programming
I wouldn't say it has an "opposite", but there are many alternatives. examples: • OO • procedural • logic programming
and you can mix and match to a degree
where does Assembly fit into that trichotomy?
When I tried to explain functional programming to a colleague lecturer once (traditionally the education was still big on OO) his reply was: but this is back to procedural programming. I gave up.
to quote the abstract of the linked paper "their primitive word-at-a-time style of programming inherited from their common ancestor—the von Neumann computer, their close coupling of semantics to state transitions"
which is basically describing assembly
Hmm... I want to explain that transforming collections is better than setting up a fickle environment and pulling levers...
it's not a trichotomy, it's a way of categorizing approaches that lie in a multi-dimensional space. approaches may overlap and there may be approaches that don't have common categorical names
von-Neumann it is
That's very interesting. I agree with you @smith.adriane in that there are several slopes within which most language styles will live/overlap... I mean, pretty much all the code has those 3 in it to some degree...
But a register / drawer where you put stuff and manipulate it's drawer sequentially is different than transforming collections without caring where / what / which / is-there-a / drawer
So yeah, that distinction is a little trickier to peg succinctly
the phrase rich uses in a number of talks to cover oop and procedural is "place oriented programming"
but those descriptors are sort of only good for "small" programs. programs on a single thread, maybe on a single machine. as the lambda calculus is a logic of names, process calculi are logics of places
Dig it.