Agreed. It takes maybe a half hour of experimenting to know enough of the syntax of a language to start being mildly productive, and the rest of the time is spent trying to learn the standard library and language specific idioms -- which can take years. This is one reason why I've always found the PHP.net website to be useful, despite the fact that PHP has a significant number of serious warts. Admittedly, it could use a lot of work, the comments are less than spectacular, and some of the things it suggests are downright dangerous, but it's an excellent reference for the list of functions, how to use a function, and often times when to use a function -- unlike many language intro and function reference works. Let's say I want to do a DNS lookup. The PHP docs for dns_get_record are overly complete, you're well on your way to starting to use that (the problem with PHP is deciding _which_ of the four or five functions that do the same thing you should use, not a walk in the park either, I know). At ruby-doc.org, the docs for Resolv::DNS don't appear to include any examples, and the method prototypes listed link to the code for the method. Why would I want to see that?! I'm using a library so I don't need to know how the code works. I learned perl and a lot of other languages from complete, working programs, not samples a handful of lines long that performed contrived actions just for the sake of having an example.