3 ms·
Learning the language and the du jour APIs will also not make you a skilled Java developer, which is what I think the author means; doing that in any language X
by azanar 17y ago
Learning the language and the du jour APIs will also not make you a skilled Java developer, which is what I think the author means; doing that in any language X will not make you an X developer of any reasonably high skill.
The problem I have with posts like this is that they seem to be focusing entirely on the wrong way of learning to develop software. They work from the assumption that becoming a developer is a matter of memorization, and the reason they aren’t there yet is because they haven’t memorized enough API definitions or acronyms.
Approaching anything from this level of abstraction results in needing to learn most everything as if it were a completely new area of knowledge. And it is an incredible timesink, as the author has already confessed
Instead of realizing the need for a hash table to solve a problem, and researching what options are available in this language, they either perform a scan of all of the options and pick the one available that looks best, or they rely on some mnemonic to decide what data structure to use without really understanding why it should be used. Both arrive at approximately the same place -- hopefully -- but they approached it from entirely different directions.
The former developer already knows the metaphor he is looking for, and thus his search will be very limited in size and when he finds class/library/etc. he needs the API will already make some intuitive sense provided it implements what it claims to.
The latter developer has no metaphorical basis for what they are doing, and thus even when they find something that works, they’ll have to rote memorize the API, because to them it’s just a formless black box.
To answer the author's question about what APIs one ought to know, my response is that the author is asking the wrong question. I’d like to ask what has convinced them that APIs and acronyms are the thing most worth knowing. It seems to me the author's time could be far better spent learning the metaphors and theory behind those acronyms and APIs, and then realizing that finding and learning new APIs and class libraries aren’t all that tricky once the fundamentals are understood.