It Feels Better the Second Time Around
Everybody knows that it is always possible to do a thing better the second time.
Developing in an academic environment comes with its own challenges, which are somewhat different from those in a commercial setting. In an academic environment, performance targets are mostly self imposed, which is both a blessing and a curse. Discipline is required on the part of the developers to keep the project on track and to prevent its focus from shifting. However, a free environment also allows ideas to be rapidly developed and tested to confirm or disprove their benefits. For the most creative and ambitious projects, this type of atmosphere is critical to eventual success.
The fact that the architecture of JPC has progressed as far as it has with such a small team of developers[52] is the result of an overriding attitude toward coding. As Figure 9-13 shows, in the life of the project over 500,000 lines of code have been written. Of this, only 85,000 survive to this day. There have been numerous rewrites of various sections of the emulation, including one complete purge and rewrite from scratch.

Figure 9-13. Accumulated code in JPC
A continuous cycle of purge, rewrite, and refine is difficult to achieve, although it is easier in an academic environment. Provided you don’t get too emotionally attached to your code, the process of ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access