Софтуер - онлайн пъзели
Софтуер
Софтуерът (програмно осигуряване, програмно обезпечение, на английски: software, буквално „меко изделие“, също и „лек товар, леко снаряжение“) е съвкупността от цялата информация от инструкции и данни, необходими за работата на всяка електронноизчислителна машина. Употребява се главно в сферата на информационните технологии.
Обикновено инструкциите се задават като съвкупност от алгоритми, групирани като програми с различно предназначение. Освен самите алгоритми, за изпълнението на програмите са необходими и начални данни. Резултатът от действието на даден алгоритъм може да служи като начални данни за стартирането на друг и т.н., обединявайки програмите в едно. В този смисъл все повече се налага и терминът софтуер, който исторически се е наложил като антоним на хардуер – физическата част на компютърните системи. Все пак границата между софтуер и хардуер се размива, когато се отчете, че програмното осигуряване има все пак някакви физически носители, от които изчислителната машина чете програмите. Тези носители, както и инструкциите за работа с програмите и тяхната поддръжка (документация), са спомагателни елементи от софтуера.
В масовите електронноизчислителни машини (компютри) голяма част от софтуера е разположена на външна памет и може лесно да бъде променяна от потребителите според нуждите им. Инструкциите в централните процесори и специализираните интегрални схеми обаче се задават при програмирането им, и не могат да бъдат променяни директно от потребителя.
По принцип хардуерът е неизползваем без програмно осигуряване или софтуер. Най-ясно разликата между софтуер и хардуер се обяснява така: Хардуерът е всяко едно видимо и осезаемо устройство, както самият компютър, така и всяко едно периферно устройство. Софтуерът е само видим, но не и осезаем, когато работи – това са именно програмите.
Със създаването на алгоритми и писането на програми се занимават програмистите. Според нивото на действие на написаните от тях инструкции има език за програмиране на ниско ниво, на средно ниво и на високо ниво. Езиците на високо ниво позволяват лесно редактиране от програмист, и това се нарича изходен код (програмен код). За да се превърне в изпълними инструкции от машината, той се компилира (превежда) към обектен код или машинен език.
Езикът за програмиране от високо ниво може да бъде и скриптов език. Когато е написан на скриптов език, се компилира при изпълнението на програмния код (интерпретиране). Скриптовете обикновено са малки до средно големи програми, които изпълняват потребителски команди или вършат действия в определен ред. Пример за това са JavaScript, Perl, Tcl или PHP. Програмите, писани на скриптов език, са по-бавни при стартиране (защото всеки път програмният код трябва да се преведе на машинен език), но обикновено по-лесно и бързо се разработват и тестват.