You must read the code.
(HT: Dr. Masaaki Mizuno)
Explanation
I took a class long ago named Advanced Operating Systems taught by one of my very favorite professors, Dr. Mizuno. I think it was numbered as CIS720. In that course, we had a textbook which mostly contained several thousand lines of C and assembly language source that made up the operating system known as Minix by Andrew Tanenbaum (also author of the book). (For those who don’t know your OS history, Linux was by some accounts a sort of a fork/reaction to Minix and the heated correspondence between Andrew Tanenbaum and Linus Torvalds are the stuff of Computer Science legend.)
Anyway, in that book Tanenbaum had several comments about what the code was doing. Several of those comments were misleading or flat out wrong. In fact, one of the most critical pieces of code only contains misleading/wrong comments. This wasn’t intentional, but sometimes when software changes or when the author of the software has a different mental map for what’s going on, one that might be useful but is ultimately flawed.
In any case, Dr. Mizuno often repeated the mantra “You must read the code” in his thick accent and it has stuck with me ever since. When I read the words of this Truth, I still hear them in his voice more than 25 years later.
I do not trust any code I cannot read. I generally read the documentation of a piece of software and then immediately start reading the source code from there because so much documentation is out of date, misleading, or simply wrong. The only accurate specification describing what a piece of software does is the code itself.
In the age of vibe coding, this statement remains true. I still code my projects using languages, modules, and styles with which I am familiar with as much as possible because if I can’t read what the agent is doing, I don’t trust its code either.