Next privilege 500 Rep.
Access review queues
Next badge 0/1
~2k people reached
- 0 posts edited
- 4 helpful flags
- 45 votes cast
How to understand and debug legacy software?
Have you read Michael Feathers' Working Effectively With Legacy Code? It's specifically a TDD approach to big balls of Java and C++ mud like your legacy application. I didn't find the book all that useful myself, but that was because I had to deal with a monster C program that had to stay in C.
How have languages influenced CPU design?
1. The Z-80 was designed in 1975, when Unix and C were an obscure operating system and language on a few computers, 3 years before the first edition of K&R. 2. There's nothing about Pascal that mandates the string length be "in a header." 3. Strings in CP/M, the major microcomputer OS at the time, were terminated with the '$' character, not '\0'. CPIR could search for any character. 4. CPIR is matched with CPDR (search backwards), as well as other -IR and -DR instructions. Conclusion: CPIR has nothing to do with the C programming language. It's just a byte search instruction.
Why are so many languages passed by value?
+1 for "Later languages copied C, mostly because the designers had never seen anything else." Every time I see a new language with 0-prefixed octal constants I die a little inside.