this post was submitted on 17 Jan 2024
40 points (93.5% liked)

Programming

16820 readers
424 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] amio@kbin.social 14 points 7 months ago* (last edited 7 months ago)

There's no point spending twice the time making something that corresponds 1:1 to code - unless the code is truly horrific, and then you've got bigger issues. One generally assumes people involved with a project will know or learn relevant languages.

It's more commonly used for things that are less obvious from the source itself - like "what's sent between the client and server in this handshake" or "what is the overall architecture of this part of the code"

Flowcharts may be a bit more common when studying algorithms in general

Edit; from your other comments, you seem to be talking about protocols, not algorithms. An algorithm is a set of steps to do something. A protocol is a description of how different systems interact such as in a chat application.