title: Understanding C libraries with less friction
body: <p>My background is with high level web programming (JavaScript, Django, Compojure, etc.), but now I'm learning C. I've been going through the <a href="http://beej.us/guide/bgnet/" rel="nofollow">beej.us</a> networking tutorial, which is a good resource, but I started wondering where to find good documentation in general for discovering and using C libraries.</p>
  
  <p>I know that I can look at the header files on my own system (not really sure where to find the implementations, so I guess that could be part of my question, but it's not really).</p>
  
  <p>In other languages or ecosystems that I've worked with there's always been some major source of info that helps you at least as a starting point, and then you can branch out from there:</p>
  
  <ul>
  <li>Java -- just google any interface and there's likely to be some javadoc that's usually useful</li>
  <li>Clojure -- <a href="http://clojure.org/cheatsheet" rel="nofollow">http://clojure.org/cheatsheet</a></li>
  <li>Python -- <a href="https://docs.python.org/2/" rel="nofollow">https://docs.python.org/2/</a></li>
  <li>Express -- <a href="http://expressjs.com/" rel="nofollow">http://expressjs.com/</a></li>
  <li>etc.</li>
  </ul>
  
  <p>And then when you come across a library of some kind that you'd like to try out you can usually find the source code and an up-to-date (or at least time-stamped), easy to follow readme at github or some such place. It's very helpful.</p>
  
  <p>But what I'm finding working through Beej's tutorial, is that, outside of Beej's tutorial, I'm not sure how I would go about finding what's in each of the libraries being <code>#included</code>ed, other than looking for the headers in the <code>/usr/include</code> directory and following the trail from there. I suppose there's nothing wrong with that, but I'm sort of used to a little less friction and a little more...I don't know...community, maybe? So is there a resource hub of the C community?</p>