[39] hoog niveau talen zijn minder gerelateerd aan de werking van de doelcomputer dan assembler en meer verwant aan de taal en de structuur van het probleem (en) op te lossen door het definitieve programma. Daarom is het vaak mogelijk om verschillende compilers gebruiken om dezelfde hoge taalprogramma vertalen in de machinetaal van verschillende soorten computer. Dit is onderdeel van de manier waarop software zoals video-games beschikbaar voor andere computer architecturen kunnen worden gemaakt, zoals personal computers en verschillende video game consoles.
De taak van het ontwikkelen van grote software-systemen vormt een belangrijke intellectuele uitdaging. Het produceren van software met een aanvaardbaar hoge betrouwbaarheid binnen een voorspelbare planning en budget is historisch moeilijk geweest; de academische en professionele discipline van software engineering richt zich specifiek op deze uitdaging.
(2)