A small addition to my piece that covered assembly and object oriented programming. As great as OO is, it‘s not always the best option. For example my rendering CLI tool, which is OO based, relies is on 3 core modules, and these are not object oriented. They are very slim lined, rather flat modules based on plain old javascript objects. Where OO really shines is for large complex codebases with many interacting parts. #