In Java verbs (functions) are not allowed to exist without nouns (classes and objects).
Rant.
Notable:
"Verbs in Javaland are responsible for all the work, but as they are
held in contempt by all, no Verb is ever permitted to wander about
freely. If a Verb is to be seen in public at all, it must be escorted
at all times by a Noun."
"The Verb "execute", and its synonymous cousins "run", "start", "go",
"justDoIt", "makeItSo", and the like, can perform the work of any other
Verb by replacing it with an appropriate Executioner and a call to
execute(). Need to wait? Waiter.execute(). Brush your teeth?
ToothBrusher(myTeeth).go(). Take out the garbage?
TrashDisposalPlanExecutor.doIt(). No Verb is safe; all can be replaced
by a Noun on the run."
"To be quite honest, most Javalanders are blissfully unaware of the
existence of the other side of the world. Can you imagine their culture
shock? They would find it so disorienting that they might have to
invent some new nouns (such as "Xenophobia") to express their new
feelings."
Similar
post by Joel - on why functional programming becomes important for systems that need to be parallelized.