off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
sova-soars-the-sora 2020-12-09T19:17:57.047500Z

Is "procedural" a fitting antonym when talking about "functional programming" ?

sova-soars-the-sora 2020-12-09T19:18:19.047900Z

I guess my question is, what's the opposite of "functional?"

2020-12-09T19:19:00.049500Z

the real functional programming is the friends we've made along the way

6
sova-soars-the-sora 2020-12-09T19:19:18.050100Z

😂

sova-soars-the-sora 2020-12-09T19:19:29.050600Z

that does not help me in my essay but i appreciate the thought immensely

sova-soars-the-sora 2020-12-09T19:20:09.051100Z

google says the opposite of functional is impractical...

sova-soars-the-sora 2020-12-09T19:20:45.051300Z

imperative?

2020-12-09T19:21:44.052100Z

von Neumann style

nate 2020-12-09T19:21:49.052300Z

hm, imperative is what I usually talk about

nate 2020-12-09T19:22:06.052700Z

but you can be imperative in a functional language

nate 2020-12-09T19:22:28.053900Z

another antonym is object oriented programming

phronmophobic 2020-12-09T19:22:33.054Z

I wouldn't say it has an "opposite", but there are many alternatives. examples: • OO • procedural • logic programming

👍 2
phronmophobic 2020-12-09T19:22:56.054500Z

and you can mix and match to a degree

sova-soars-the-sora 2020-12-09T19:23:54.055700Z

where does Assembly fit into that trichotomy?

borkdude 2020-12-09T19:24:24.056600Z

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.

2020-12-09T19:24:49.057500Z

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"

2020-12-09T19:24:57.058Z

which is basically describing assembly

sova-soars-the-sora 2020-12-09T19:25:11.058500Z

Hmm... I want to explain that transforming collections is better than setting up a fickle environment and pulling levers...

phronmophobic 2020-12-09T19:25:21.058700Z

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

sova-soars-the-sora 2020-12-09T19:26:00.059Z

von-Neumann it is

sova-soars-the-sora 2020-12-09T19:28:01.060Z

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...

sova-soars-the-sora 2020-12-09T19:28:40.060700Z

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

sova-soars-the-sora 2020-12-09T19:29:02.061500Z

So yeah, that distinction is a little trickier to peg succinctly

2020-12-09T19:29:22.061800Z

the phrase rich uses in a number of talks to cover oop and procedural is "place oriented programming"

👍 2
2020-12-09T19:34:19.063300Z

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

1
😮 1
sova-soars-the-sora 2020-12-09T19:34:19.063400Z

Dig it.