Na ogół, gdy użytkownicy i projektanci wybierają producenta sprzętu, wybór ten automatycznie definiuje środowisko programowania. Aplikacje opracowane dla jednej platformy zwykle nie działają więc na innej. Oznacza to, że cały proces projektowania systemu sterowania jest ukierunkowany sprzętowo.