Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This question already has an answer here:

As a programmer, it seems like I spend half my time figuring out how to use various libraries/frameworks/tools. First Javascript, then Jquery, then canvas, then Backbone, etc, etc. Every tool has its own set of non-obvious idiosyncrasies that you need to be aware of. Mastering them takes a lot of time. Any suggestions on how to speed up the learning process?

share|improve this question
3  
I would start with stuff, and then do the libraries. –  Job May 26 '11 at 1:52
add comment

marked as duplicate by gnat, Kilian Foth, thorsten müller, Jalayn, World Engineer Apr 17 '13 at 13:23

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

4 Answers

up vote 10 down vote accepted

As Mike said, use them.

But don't just use them. Become active in the framework community. Developing, say, a jQuery plugin sooner as opposed to later will allow you to get your hands dirty with the internals a lot faster than just being a user.

For things like canvas (which, unless you want to become a core FF developer you won't get your hands dirty with the internals of), pick a small(ish), self contained project that really pushes the element and takes full advantage of its capabilities.

And, of course, post your work on GitHub or BitBucket and ask people in the respective communities for feedback or to help support or fork your project.

share|improve this answer
add comment

Use them. The quickest way to learn how to use a framework is to use it.

share|improve this answer
add comment

Experience will help. As you use more libraries and tools, there will be more commonalities. What was an idiosyncrasy the first time around becomes eerily familiar the second, third, and fourth times around.

Diversity in experience will help further. It's funny when something popular in one language is possible, but completely unused in another. Then, suddenly people start using it in the other language, and to those lacking the diverse experience, it's another new idiosyncrasy.

But yeah, I'm with Mike. Use them.

share|improve this answer
add comment

Try to understand the blockers that prevent you from progressing as fast as you would like. For me, confidence and state-of-mind are very important for performance, and are usually configured such that my rate of learning is deeply suboptimal.

Consequently, I end up circling around the subject reading the documentation for a while before getting stuck in with a new tool, as I lack the confidence to just go for it.

As part of my ongoing experiments and observations in performance optimization, I will attempt to moderate these negative behavioural factors by applying moderate quantities of ethanol as a disinhibiting agent.*

I will let you know how the experiment goes.

  • (Not while at work, obviously).
share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.