Софтуер

Програмно осигуряване

Програмно осигуряване е съвкупността от цялата информация от инструкции и данни, необходими за работата на всяка електронно изчислителна машина. Употребява се главно в сферата на информационните технологии.

Обикновено инструкциите се задават като съвкупност от алгоритми, групирани като програми с различно предназначение. Освен самите алгоритми, за изпълнението на програмите са необходими и начални данни. Резултатът от действието на даден алгоритъм може да служи като начални данни за стартирането на друг и т.н., обединявайки програмите в едно. В този смисъл все повече се налага и терминът софтуер, който е заемка от английски (software) и исторически се е наложил като антоним на хардуер - материалната част на компютърните системи. Все пак границата между софтуер и хардуер се размива, когато се отчете, че програмното осигуряване има все пак някакви материални носители, от които изчислителната машина чете програмите. Тези носители, както и инструкциите за работа с програмите и тяхната поддръжка (документация), са спомагателни елементи от софтуера.

В масовите електронно-изчислителни машини (компютри) голяма част от софтуера е разположена на външна памет и може лесно да бъде променяна от потребителите според нуждите им. Инструкциите в централните процесори и специализираните интегрални схеми обаче се задават при програмирането им, и не могат да бъдат променяни директно от потребителя.

По принцип хардуерът е неизползваем без програмно осигуряване или софтуер. Най-ясно разликата между софтуер и хардуер се обяснява така: Хардуерът е всяко едно видимо и осезаемо устройство, както самият компютър, така и всяко едно периферно устройство. Софтуерът е само видим, но не и осезаем, когато работи - това са именно програмите.

Със създаването на алгоритми и писането на програми се занимават програмистите. Според нивото на действие на написаните от тях инструкции има език за програмиране на ниско ниво, на средно ниво и на високо ниво. Езиците на високо ниво позволяват лесно редактиране от програмист, и това се нарича изходен код (програмен код). За да се превърне в изпълними инструкции от машината, той се компилира (превежда) към обектен код или машинен език.

Езикът за програмиране от високо ниво може да бъде и скриптов език. Когато е написан на скриптов език, се компилира при изпълнението на програмния код (интерпретиране).