When we create interface methods, can\'t we do something like in java:
void interface_method(Integer,String, /* other parameter */);
Without parameter names it becomes very hard to distinguish between parameters of the same type.
double divide(double, double);
Convention says that the second parameter would be the divisor. But with named parameters, it is explicit and much clearer. In turn, the documentation can clearly use the names instead having to continually say "first parameter" or "second parameter" when trying to explain how the method should be use and what each parameter is meant to represent.
From a technical standpoint it wouldn't be necessary.
I've always taken it as a syntax normalization, and a documentation aid.
This way there's:
My take on this:
This is in language specification for parameters to have names;
Interface being interface, names help to communicate the meaning;
Interface is not really a forward declaration of implementation that will follow like in C/C++, so comparison is not entirely correct;