програми (наредбе, инструкције) који упућују рачунар како треба да извршава одређене задатке From Wikipedia, the free encyclopedia
Софтвер су програми (наредбе, инструкције) који упућују рачунар како треба да извршава одређене задатке. Софтвер је начин записа алгоритама у облику који је разумљив рачунару. Повезан је са хардвером, који представља компоненте рачунара. Уколико хардвер и софтвер нису повезани, рачунар не функционише. Софтвер се састоји од програма и библиотека, као и докумената који су повезани са њима. Појам софтвера се често користи у ужем смислу, као софтвер апликација.[3]
Извршни код се састоји од програмског тј. машинског језика са инструкцијама специфичне за сваки процесор (енгл. central processing unit – CPU ).[4][5] Машински језик чине група бинарних вредности које прослеђују инструкције до процесора о промени стања рачунара. Као пример тога имамо када инструкција мења вредност сачувана у посебној локацији рачунара, и у том случају резултат промене није видљив кориснику. Такође, инструкције могу довести до промене на екрану рачунара, који су, дакле, видљиви кориснику. Процесор ће извршавати радње са инструкцијама по редоследу по ком су му инструкције достављене, уколику му није задато да прескочи са једне на другу инструкцију, или је прекинуто (у данашње време су вишејезгарни процесори доминантни,[6] код којих свако језгро може да извршава инструкције по редоследу; мада сваки апликациони софтвер може да се извршава на једном језгру, знатан порција софтвера је направљена тако да користи мноштво језгара[7][8]).
Софтвер записан у машинском језику је познат као машински код, док је у пракси најчешће записан као скуп програмских језика високог нивоа,[9] због тога што су много ефикаснији, а такође и једноставнији за коришћење човеку него машинском језику.[10] Овакви програми се преводе у машински језик помоћу компајлера или интерпретатора, као и комбинацијом ова два програма. Софтвер такође може бити записан у програмском језику ниског нивоа – асемблеру,[11] програму који представља машински језик коришћењем алфабета.[12]
Први део софтвера (алгоритам) је у деветнаестом веку написала Ејда Кинг Лавлејс[13][14] за аналитички мотор,[15][16][17] међутим нити је софтвер успешно направљен нити аналитички мотор, док је прва теорија о софтверу, још пре појављивања рачунара какав постоји данас, представљена 1935. године у есеју .[18][19]
Захваљујући овој теорији дошло је до поља рачунарске науке и софтверског инжењеринга, у којима је изучаван софтвер и његово стварање. Софтверски инжењеринг се бавио практичним делом, док се рачунарска наука бавила тиме више теоретски него практично.
Погледај : Категорије софтвера
Софтвер се дели на:
Системски софтвер садржи:
Драјвери омогућавају функцију одређеној врсти уређаја прикаченој на рачунар.[24][25] Сваком уређају је потребан најмање један драјвер.
Софтвер написан другим програмским језицима се такође може покренути у интернет претраживачу ако је софтвер преведен у JavaScript, или ако је прикључак за интернет претраживач који подржава тај језик инсталиран; Најчешћи претходно поменути пример су ActionScript скрипте, које подржава Adobe Flash. Серверски софтвер који укључује:
Главни чланак : Програмски алат
Програмски алат је софтвер у облику програма или апликација које произвођачи софтвера (такође знани као програмери, кодери, хакери или софтверски инжењери) користе да стварају, одстране неправилности, одржавају (побољшају или поправе), или једноставно доприносе софтверу. Као што је већ речено, софтвер је написан у једном или више програмских језика – постоји велики број програмских језика, а сваки од њих има посебну врсту имплементације и сваки садржи себи својствен сет програмских алата. Ови алати могу бити компајлери, [„дебагер“]и, интерпретатори, линкери и текст едитори, који могу бити комбиновани међусобно да би извршили одређени задатак; или могу формирати интегрисано развојно окружење, које комбинује већину од свих алата. Интегрисано развојно окружење (IDE) то може извести или позивајући релевантне индивидуалне алате, или ре-имплементирањем њихових функција на нов начин. Интегрисано развојно окружење омогућава лакше извођење одређених задатака, као што су претрага података у одређеном пројекту. Мноштво имплементација програмских језика омогућавају обе опције – и коришћење индивидуалних алатки и интегрисано радно окружење.
Главни чланак : Извршавање (рачунарство)
Власнички софтвер се дели на две групе:
Главни чланци : Развој софтвера, Програмирање и Инжењеринг софтвера
Дизајн и извршење софтвера зависи од комплексности софтвера. Нпр. Дизајнерима и оснивачима Microsoft Word-а је требало знатно више време него при дизајнирању и оснивању Microsoft Notepad-а, због знатно великог броја функција које програм омогућава.
Софтвер је углавном дизајниран и направљен у интегрисаном развојном окружењу, као што су Еклипсa, IntelliJ и Microsoft Visual Studio, који поједностављују процес компилације софтвера. Као што је већ наведено, софтвер је углавном направљен по основу на постојеће софтвере и „апликационог програмског интерфејса“ (API) који основни софтвер садржи, као што су GTK+, JavaBeans и Swing. Библиотеке (API) се класификују по њиховој сврси. На пример, Spring Framework се користи за имплементирање апликација предузећа, Windows Forms библиотека се користи за дизајнирање графичког интерфејса (GUI) апликација као што је Microsoft Word. Када је програм дизајниран, он се ослања на API. Пример за то је Microsoft Windows апликација дизајнирана за радну површину, где корисник може користити .NET Windows Forms библиотеке да сам дизајнира апликације на радној површини. Сакрива их командама Form1.Close(), а открива са Form1.Show[30], где такође може и да дода одређене операције према својим потребама. Без ових библиотека, програмер би морао сам да пише целу једну API библиотеку сам. Компаније као што су Oracle и Мајкрософт имају своје јединствене библиотеке, да би већина њихових апликација које у исписане помоћи њихових софтверских библиотека садржале API библиотеке у њима.
Рачунарски софтвер има посебне економске карактеристике који чине њеног дизајн и дистрибуцију другачијим од других економских добара.[31][32][33]
Особа која производи, односно креира софтверске програме назива се програмер, софтверски инжењер или софтверски развијач – различити термини за приближно исто значење. Термини који се често користе за програмере су такође и кодер или хакер – термини који често доводе до забуне, јер у већини случајева се кодерима или хакерима називају они који неовлашћено приступају рачунарским системима.
Велики број софтверских компанија и програмера у свету сачињава софтверску индустрију. Софтвер може бити прилично профитабилна индустрија: Бил Гејтс, саоснивач Мајкрософта[34][35][36] је био најбогатији човек на свету у 2009. години,[37] углавном због његовог власништва над знатним бројем акција у Мајкрософту, компанији одговорној за софтверске производе Microsoft Windows и Microsoft Office.
Беспрофитне софтверске организације обухватају Задужбину за слободни софтвер, ГНУ пројекат и Мозила фондацију. Софтверске стандардизационе организације као што су и развијају препоруке софтверских стандарда као што су: , и , тако да софтвер може да интероперабилно функционише.
Друге добро познате велике софтверске компаније обухватају: Оракл, , , , , и , док мале компаније често пружају иновације.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.