Terminologi kan vaere tricky.
Lad os foerst se paa den officielle terminology.
JLS taler om:
functional interface
lambda expression
Saa dit eksempel vil vel vaere:
assign reference to lambda expression to a reference of a type of functional interface X
JLS bruger slet ikke termen function.
(men hvis du er interesseret i den finere terminologi saa bruges der side op og side ned paa functional interface vs functional type)
Java API har saa et functional interface:
@FunctionalInterface
public interface Function<T,R>
for convenience.
Og ordlyden er ret nornal Java.
java.util.function.Function
Represents a function that ...
java.lang.String
The String class represents character strings
Dokumentationen for en type forklarer hvad type bruges til aka hvad en instans af type refererer til. Med en beskrivelse som er standard engelsk.
Og nu er det vi begynder at forlade Java terminologi og bevaege os over i generel programmerings terminologi og standard engelsk.
Jeg kan ihvertfald se to mulige forklaringer paa ordvalget i den dzone artikel:
1) invoke these functions = kort form af kald den logiske funktion som er implementeret i lambda expression og som refereres af refrence af typen Function<>
2) generel manglende forstaaelse for forskellen mellem type, reference, instans og koncept
Kvaliteten paa dzone er ofte ret lav, saa det kunne sagtens vaere #2.
Men udfra det efterfoelgende:
And how can we invoke these functions?
Well, now that they are bound to a reference we can treat them pretty much like we treat any object:
saa lyder det nu som om at forfatteren godt ved hvordan tingene haenger sammen.
Formaalet med at skrive noget maa vaere at laeseren forstaar hvad man mener og udfra det saa vil jeg sige at:
* functional interface er en god term - ingen tvivl om betydning
* lamda expression er en god term - ingen tvivl om betydning
* function object er en acceptabel term - alle enten ved hvad det er eller vil gaette rigtigt
* function er en daarlig term som boer undgaas - medmindre konteksten er meget klar vil ingen vide om der menes:
- synonym for metode
- functional interface type
- function reference/object
- Function<> reference/object