> [EMAIL PROTECTED] writes: > > Yes, yes, it is easy to criticize and whats really needed is energy > and effort... well I hope to try some more... but the structure of the > files makes it very difficult to follow. When one only has a limited > amount of time to contribute it is really depressing spending 9/10 ths > of it just trying to figure out what calls what. Ideally it would be > nice to make a small patch as you suggest but I don't see how. Every > tweak I make breaks something else. Perhaps if I knew how it was all > connected a small patch would be possible. I don't, and trial and > error is very inefficient.
The Mythical Man-Month (Fred Brooks, a MUST read book) has an interesting example of a dinosaur stuck in a tarpit. The dinosaur can lift any foot but cannot escape the tarpit. Really large systems, like Axiom and Sage, have massive, dinosaur-sized tarpits of code. Developers of these systems have the belief that it is sufficient to write code that the machine understands. After all, any part of the system can be understood by anyone with sufficient effort (see... we can lift any foot you point at...). And every piece of code is perfectly clear despite having many levels of inherited behavior and unstated background mathematical theory. The problem is that tarpit gets larger and deeper with every passing day and with every additional piece of code added. As the current developers move on and new people join, they have no way to understand the prior work except to try to read each file and "integrate". The best solution I've found it Knuth's Literate Programming (Axiom uses noweb). The fundamental idea is to write for people while writing the code so the machine can follow along. This adds about two to three times as much work for the original developer but saves the time for everyone else in the future. And, yes, I know that nobody has the time. But if you don't take the time now, the next person can only guess, probaby incorrectly, or give up and rewrite it. Do you want your code to live? Tim _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
