Another way to get a big program is to start with a throwaway program and keep improving it. This approach is less daunting, and the design of the program benefits from evolution.
Maybe this is how u build enduring things. Evolution. Not from grand design