В софтуера нещата са по-абстрактни и не ти трябва да знаеш как работят нещата в дълбочина. Езиците са на нива. На най-ниско ниво имаш например асемблер, обаче да пишеш на него не е много продуктивно. При по-високите нива вече идея си нямаш какво се случва на ниско ниво, но пишеш каквото трябва много по-бързо.
То зависи от сферата де. Можеш да програмираш да кажем микроконтролери (многофункционални чипчета) на език на ниско ниво, обаче те се използват в най-различни хардуерни джаджи. При потребителския софтуер пишеш на C#, Java, JavaScript - все езици на високо ниво, и няма да избягаш от това. Та зависи какво искаш да правиш. Ако искаш да се занимаваш с Андроид, просто трябва да приемеш че има високо ниво на абстракция и няма как да виждаш какво се случва долу в ниското. То е малко и начин на мислене, но се свиква.