Az erőforrások szerepe
Az erőforrások meghatározhatják, hogy milyen algoritmust van értelme realizálni. Különböző szoftver- illetve hardverkörnyezetben a programok eltérő módon működhetnek (vagy nem működnek).
Az adattípusok szerepe
Az adattípusok megválasztása befolyásolja a program további „sorsát”. Sok múlik a tervezést végző előrelátásán. Ez határozza meg, hogy milyen, a feldolgozást végző algoritmusokat alkalmazhatunk, milyen lehetőségei lesznek a továbbfejlesztésnek.
A program hatékonysága sok esetben, az adott programozási nyelv lehetőségeit kihasználva csupán formális átalakításokkal jelentősen javítható, anélkül, hogy a program működésével tisztában lennénk. Elegendő csupán azt ismerni, hogy a művelet elvégzésének melyek a legcélravezetőbb eszközei.
Az algoritmus globális hatékonyága a program egészét, vagy annak egy nagyobb, funkcionálisan többé-kevésbé önálló részét jellemzi.
A programozási nyelv szerepe
A programozási nyelv megválasztásának meghatározó szerepe lehet a program végrehajtási idejében. Ez határozza meg például, hogy az egyes beépített függvényekre épülő programrészek milyen gyorsan hajtódnak végre.
(Szokták mondani, hogy valamely fordító „gyors kódot” generál.)