Daily Thought - 2024-07-28
< back to listI mentioned briefly, that at some point, I expect Caterpillar code to be stored in a database instead of plain text files. This ties into the topic of inferring information about the code and having the tooling display that to the developer.
Under a traditional compilation model, implicit types and effects and such would not be present in the plain text source code. They would be inferred during the compilation process, and be displayed in an IDE, based on intermediate results of the compilation.
This has problems. Performance for one. Every time you re-compile, you have to re-do the inference, and this could potentially be expensive. Another problem, maybe the bigger one, is that changes to inferred information are not obvious. Modifying one piece of code could lead to an undesired change of a type elsewhere. Tomorrow, I'd like to talk about how a code database can solve both problems.