From the beginning, it was clear that computer programs would be easier to develop and maintain if they were divided into small, manageable chunks. Long listings of first and second generation programming languages were unreadable and impenetrable; limiting the size of the chunks (to, say, 50 statements) saves time and money.