Skip to content


How to understand a large system?

Occasionally, programming forums take a step back from the nitty gritty implementation details and look at the bigger issues. I wish they did more often, as “occasionally” means pretty much close to never. Most discussions in technical forums rarely go past what you can find in the manual, while the big things that can make or break a project (or a programmer) goes unmentioned.

So Elisheva’s discussion “Swallowing and Elephant in 10 easy steps” on how you go about to understand large, new systems was a very interesting diversion at Perl Monks.  There’s only a few quality thoughts past the original posters musing, sadly, but it is nice to see someone touching this subject in a serious way. Another thought on the subject is written by Chet Hendrickson who offers the suggestion of refactoring and testing for understanding.

Most programmers nowadays are more likely to maintain and extend existing systems than they are to design and develop new ones – at least in a professional manner. Still most programmers focus on how to write code, not read code. And most programmers write code aimed at the compiler or interpreter (which will understand anything that parses),  and not the next programmer (who must read in a non-native language and is usually unable to keep track of more than seven variables at the time). Perhaps it is time for an interpreter for converting code from programming languages to native human language?

Posted in Understanding Code.

Tagged with , .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Continuing the Discussion

  1. A natural way of programming – the way for Perl? | Psychology of Programming linked to this post on September 6, 2009

    [...] A compiler that compiles your bytecode into human natural language (English) – that is only meant for assisting reading and understanding code! [...]



Some HTML is OK

or, reply to this post via trackback.