| > it’s so similar to programming on a higher level. Indeed it is. The logic of the `results` has to stand out relative to the result itself. A programmer can hide the logic without too much pushback; an accountant must not only unhide what is hidden, but explain every "trace route" behind what is hidden. In highly complex systems, this has to be done in a methodical way to ensure audit trails. A non-methodical audit trail is the sign of a bad accountant, or of fraud. One of the most insidious things in the accounting world today is the widening discrepancy between what companies are reporting to shareholders and what GAAP requires they report. Both GAAP and non-GAAP earnings must be reported together (for publicly-traded companies), but in a lot of tech companies, they are getting away with "selling" the non-FASB numbers to shareholders to deceive them that they are doing better than they are. Another interesting comparison of the two: https://ipfs.io/ipfs/QmaCQ5rcvfwhVNmLWdWydKBFDwnVZzexKePMxiy... There was once a programmer who was attached to the court of the warlord of Wu. The warlord asked the programmer: "Which is easier to design: an accounting package or an operating system?" "An operating system," replied the programmer. The warlord uttered an exclamation of disbelief. "Surely an accounting package is trivial next to the complexity of an operating system," he said. "Not so," said the programmer, "When designing an accounting package, the programmer operates as a mediator between people having different ideas: how it must operate, how its reports must appear, and how it must conform to the tax laws. By contrast, an operating system is not limited by outside appearances. When designing an operating system, the programmer seeks the simplest harmony between machine and ideas. This is why an operating system is easier to design." The warlord of Wu nodded and smiled. "That is all good and well, but which is easier to debug?" The programmer made no reply. |