This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
api_guessing_game [2017/09/30 19:37] shane [The API Guessing Game] |
api_guessing_game [2017/10/01 14:44] (current) shane [Read this even if you skipped to the bottom] |
||
---|---|---|---|
Line 6: | Line 6: | ||
- //Working client code// | - //Working client code// | ||
- // | - // | ||
- | * Most API documentation has neither, and as a result, programming becomes an exercise in //guessing the intent// of the library/API authors. I call this the **API Guessing Game**. | + | * Most API documentation has neither, and as a result, programming becomes an exercise in //guessing the intent// of the library authors. I call this the **API Guessing Game**. |
- | ===== Signs that one is stuck in API Guessing Game ===== | + | ===== Signs that one is stuck in the API Guessing Game ===== |
- | * Having to write code "experimentally" for one specific function call, and run it repeatedly to observe whether or not it works, what the return values are, etc., because the authors didn't bother to write it down. | + | * Writing |
- | * Having no idea how to start implementing an operation using the library. | + | * Having no idea how to start implementing an operation |
- | * Having no which parts of the library are fundamental and unlikely to change, as opposed to those which are still under development. | + | * Having no which parts of the library are fundamental and unlikely to change, as opposed to those which are still under development... |
- | * Having high confidence | + | * Being fairly sure that a specific class (or group of functions and data structures) is the right one for a specific purpose, but having no idea of the order in which the various functions are supposed to be called... |
+ | |||
+ | // | ||
===== Documentation hints for library developers/ | ===== Documentation hints for library developers/ | ||
Line 27: | Line 29: | ||
Choosing to use someone else's code library and API is (or //should be//) a // | Choosing to use someone else's code library and API is (or //should be//) a // | ||
* If I'm stuck using your code because there' | * If I'm stuck using your code because there' | ||
- | * If your library is the best thing around, but your commercial license fees are exorbitant (I'm looking at you, [[https:// | + | * If your library is the best thing around, but your commercial license fees are exorbitant (I'm looking at you, Intel, and pretty much every DSP library |
- | * Please, don't give me attitude. You may be very clever, but you're not // | + | * If your library is free and/or open-source, |
+ | * Whoever you are, don't give me attitude. You may be very clever, but you're not //that// clever. | ||