With all the available code libraries out there, what resources do you use to find a library that is:
- In your language
- The "best" for your requirements
- Well supported
Being free or otherwise.
[EDIT] After doing the obvious Google search!
With all the available code libraries out there, what resources do you use to find a library that is:
Being free or otherwise.
[EDIT] After doing the obvious Google search!
Ohloh is a good place to start with a library/framework:
Then it's down to scouring the website looking at the various features of the framework, whether it's still under active development etc... Prototyping using the framework then follows.
Oh and Google : )
Look them up through search engines. Most decent sites that make libraries available have comments from other people who've used it, so their opinions are always an indication.
Or you know, ask on that one site. You know the one I mean, where all those programming questions are asked.
Doing research with a search engine is the first step. After you find interesting libraries try to figure out if they are actively maintained and have a large user base. Usually these libraries have mailing lists and the traffic there is a good indication that the libraries are used. The answers on the list give you an idea if the library is actively maintained and if there's a community to support you.
Google is of course a good place to start, but you can also take a look at:
If you try finding a library for a purpose you'll quickly loose yourself in the myriads of options. Instead I suggest you sign for a dozen or two dozen of blogs (use Google Reader so you can read them on multiple machines) and so you know what other people use. Then whenever you have a problem, you'll already have the answer.
I tend to start using Google to find candidates.
Before I try anything out, I check:
Is there an active forum / discussion group where I can go for help. Active would be something like a place where questions and answers is posted daily (unless of course the library needed is very exotic).
This will weed out many of the libraries out there, and leave me with a handful of candidates.
If the points above are OK, I will try the library out for my self. Program a prototype, a small feature, or a pet project using the library, and see if I like or I run into problems.
After that I will be able to choose whether or not to choose the library. Trying it out is the most important part, in my opinion. I might get to the "try-it-out" phase, and decide that the library is not adequate for the task. Some hours have been spend trying it out, but they are not wasted, they are a prerequisite for making a good decision.
Mostly by talking and getting feedback from colleagues or other community members working in similar situations.