I’ve encountered this many times where I simply don’t understand the context and use of an API based of the API documentation unless I can find an example that already utilizes it in a working project. The first thing that comes to mind is Py Torch. I’ve tried to figure out how some API features work, or what they are doing in model loader code related to checkpoint caching but failed to contextualize. What harebrain details are obviously missing from someone who asks such a silly question?

  • Max-P@lemmy.max-p.me
    link
    fedilink
    arrow-up
    2
    ·
    1 month ago

    API documentation isn’t a tutorial, it’s there to tell you what the arguments are, what it does and what to expect as the output and just generally, what’s available.

    I actually have the opposite problem as you: it infuriates me when a project’s documentation is purely a bunch of examples and then you have to guess if you want to do anything out of the simple tutorial’s paved path. Tell me everything that’s available so I can piece together something for what I need, I don’t want that info on chapter 12 of the example of building a web store. I’ve been coding for nearly two decades now, I’m not going to follow a shopping cart tutorial just in the off chance that’s how you tell how the framework defines many to many relationships.

    I believe an ideal world has both covered: you need full API documentation that’s straight to the point, so experienced people know about all the options and functions available, but also a bunch of examples and a tutorial for those that are new and need to get started and generally learning how to use the library.

    Your case is probably a bit atypical as PyTorch and AI stuff in general is inherently pretty complex. It likely assumes you know your calculus and linear algebra and stuff like that so that’d make the API docs extra dense.

  • Feathercrown@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 month ago

    I find that this is best explained by the four types of documentation theory. Often when you’re starting out, you need a tutorial or how-to guide (or even just an overview of what the purpose and design language of the API is), rather than a reference, which is what nearly all API documentation is.

  • hperrin@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    It’s because the same people who wrote the code usually write the docs, and people who are really good at writing code usually aren’t good at writing docs. It’s two different skill sets that usually don’t coincide.

    Case in point: my own documentation for https://nymph.io

    I know it’s bad, but I don’t know how to make it good. The code, however, is pretty good. It runs my email service.

    Open source projects also aren’t very good at attracting people who both want to volunteer their time writing technical documentation and can.

    • abhibeckert@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 month ago

      Here’s a tip on good documentation: try to write the documentation first. Use it as your planning process, to spec out exactly what you’re going to build. Show the code to people (on GitHub or on a mailing list or on lemmy or whatever), get feedback, change the documentation to clarify any misunderstandings and/or add any good ideas people suggest.

      Only after the docs are in a good state, then start writing the code.

      And any time you (or someone else) finds the documentation doesn’t match the code you wrote… that should usually be treated as a bug in the code. Don’t change the documentation, change the code to make them line up.