Ohjelmistojen korkein tavoite oli ennen rakentaa järjestelmiä, jotka ovat tarpeeksi joustavia jonkun muun muuttamiseksi. Pian se rakentaa järjestelmiä, jotka pystyvät muuttamaan itseään.