After reading @RichardPawson 's article from: “NakedObjects to NakedFunctions”
I was even more confused, because NakedFunctions also looked a lot, to me,
like Concepts.
How could it be both?? Then it hit me:
Concepts, aren´t nouns like objects.
nor are they verbs, like functions.
they are gerunds!
(A verb that acts like a noun).
Or saying it another way:
If OOP is noun-verb:
post.upvote()
and functional is verb-noun:
upvote(post)
then Concept Oriented Programming is composing gerunds
upvoting a posting
or
posting *with* upvoting
In english the -ing
form has the advantage that we can think of it a as noun in the static view
. (i.e. upvoting, tagging).
But as present participle
in the dynamic view. (tagging a post) or (tagging a posting)
That’s why for me both NakedObjects and NakedFunctions…
seemed very close, but not quite, what Concepts are.
So, @RichardPawson is correct.
We would need to develop a NakedConcepts framework.
to reach the appropriate level of composability and representability of Concept Oriented Programming.