Disclaimer : I am a hobbyist programmer, I have not gone to Uni for that , so I might not know everything I am talking about.

My question is why don’t open source programs include something like diagrams of the algorithms they employ ?? I Was looking for algorithms for a chat program with client-server architecture, I was hoping to find diagrams and descriptions of how algorithms work, so a to study them an adapt them to my needs. All I found were FOSS projects with no such documentation.

Considering that reading source code can take a long time, and sometimes interesting projects are written in a language the user isn’t familiar with, I was wondering why such documentation style doesn’t exist ? It could help even newer contributors get started quicker.

  • justJanne
    link
    fedilink
    arrow-up
    19
    arrow-down
    2
    ·
    edit-2
    6 months ago

    Considering that reading source code can take a long time

    You’ll get faster over time, until reading code is faster than reading documentation, as code will always represent what’s truly happening, while docs are frequently outdated.

    In a language the user isn’t familiar with

    If you’re not that familiar with the language, it’s likely you won’t be contributing to the project. Open source projects usually to have quite limited resources, so they tend to optimize docs and dev UX for people who are likely to contribute.

    • erranto@lemmy.worldOP
      link
      fedilink
      arrow-up
      4
      ·
      6 months ago

      If you’re not that familiar with the language, it’s likely you won’t be contributing to the project.

      You can still borrow and implement features developed by project x into project y , but I do understand the time limitation.

      because I am more of a visual learner I wondered whether developers don’t use diagrams and flow charts, or just don’t include them in the docs.

      • YIj54yALOJxEsY20eU@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        6 months ago

        Personally I will jot some loose notes down if I’m implementing something thats sufficiently difficult, but formalizing the design patterns/algorithms is very time consuming so I don’t.