|
Authored by: mschmitz on Sunday, May 06 2012 @ 08:27 PM EDT |
I'm sure I am guilty of the same mistake (substituting sequence for selection).
So the sequence of names or parameters is not what's claimed but their
selection....
Just as the Java API uses a quite natural and logical sequence and organization
of names and parameters, it also uses a logical _selection_ of same. A math
class would not be complete without sine and cosine, log and exp. The selection
of parameters to these functions is also perfectly logical ('phase of the moon'
is not a very useful parameter for the sine function).
Why do I say the selection is 'natural' or 'logical' ? Because the API provides
everything that programmers have come to _expect_ from an API - from having been
exposed to APIs of other languages on a variety of platforms. About the only
room for creativity in selection would be genuinely new stuff (reflection in
Java may fit that description), or extraneous stuff (which, pretty much by my
definition of 'logical', does not belong in the API).
Initially, Sun had no choice but to pick the SSO of their API elements in a way
that would be easy to understand and follow by programmers that had never seen
Java (but might be fluent in a number of older object-oriented and procedural
languages). Their creativity was extremely limited by that fact, I surmise
(someone else has claimed that the math API selection was more or less copied
from the contents of math.h).
If you're standing on the shoulder of giants it's more than just a little silly
to complain about the spectacular vistas. Or the long drop to the bottom.
Google did face the same problem. Their solution: stick as close to the known
paradigms as possible, and optimize what you can under the hood.
-- mschmitz
[ Reply to This | Parent | # ]
|
|
|
|
|