Софтвер Садржај Историјат Типови софтвера Програмски алат Дизајн и извршење Индустрија и организације Види још Референце Литература Спољашње везе Мени за навигацију„Application software”„Application Package Software: The Promise Vs. Reality”„A Third Survey of Domestic Electronic Digital Computing Systems”„Definition: multi-core processor”CSA Organization„What makes parallel programming hard?”оригиналаHThreads - RD GlossaryCompiler constructionAssembler language„Programming the IBM 1401”„Crowdsourcing Gender Equity: Ada Lovelace Day, and its companion website, aims to raise the profile of women in science and technology”„Ada Lovelace honoured by Google doodle”„Babbage's Analytical Engine, 1834-1871. (Trial model)”„The 100-year leap”„The Babbage Engine: The Engines”„On Computable Numbers, with an Application to the Entscheidungsproblem”10.1112/plms/s2-42.1.23010.1112/plms/s2-43.6.544„What is software? - Definition from WhatIs.com”„Panel: Systems Programming in 2014 and Beyond”„What is a device driver?, The purpose of device drivers”оригиналаInformation Storage and Management: Storing, Managing, and Protecting Digital InformationIEEE computer societySmarthphoneMicrocodeMicrosoft API and reference catalogDan Kaminsky's blog„The Economic Properties of Software”„Why Open Source Is The Optimum Economic Paradigm for Software”„The World’s Biggest Public Companies”„Market Cap Rankings”оригинала„Microsoft Corporation”„The $600 billion challenge”Information Storage and Management: Storing, Managing, and Protecting Digital InformationSwing, Effective User Interfaces (Russian)МедијиПодациJava SE 8The Swing architectureAWT/SwingJavax.swing TipsСофтверsh850295344055382-6cb133183707(подаци)00684642XX530960
СофтверАнглицизми
рачунаруалгоритамамашинског језикапроцесорвишејезгарни процесорипрограмских језика високог нивоакомпајлераинтерпретатораасемблеруИсторија софтвераалгоритамЕјда Кинг Лавлејсаналитички моторКатегорије софтвераActionScriptAdobe FlashСерверски софтверПрограмски алатпроизвођачи софтверакомпајлериинтерпретаторилинкеритекст едиториинтегрисано развојно окружењеИзвршавање (рачунарство)Развој софтвераПрограмирањеИнжењеринг софтвераMicrosoft WordMicrosoft NotepadIntelliJMicrosoft Visual StudioSwingМајкрософтпрограмерсофтверски инжењерсофтверски развијачхакерБил ГејтсМајкрософтаМајкрософт виндоусМајкрософт ОфисЗадужбину за слободни софтверГНУ пројекатМозила фондацијуW3CIETFXMLHTTPHTMLОраклNovellSAPSymantecAdobe SystemsSidetradeCorel
(function()var node=document.getElementById("mw-dismissablenotice-anonplace");if(node)node.outerHTML="u003Cdiv class="mw-dismissable-notice"u003Eu003Cdiv class="mw-dismissable-notice-close"u003E[u003Ca tabindex="0" role="button"u003Eсакријu003C/au003E]u003C/divu003Eu003Cdiv class="mw-dismissable-notice-body"u003Eu003Cdiv id="localNotice" lang="sr" dir="ltr"u003Eu003Cdiv style="position:relative; overflow:hidden; background-color:#5E9DC8; text-align:center; color:white; font-size:1.25em; font-weight:bold; line-height:1.5em; margin-top: 5px;"u003Eu003Cuu003Eu003Ca href="https://meta.wikimedia.org/wiki/%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE_%D0%BF%D1%80%D0%BE%D0%BB%D0%B5%D1%9B%D0%BD%D0%BE_%D1%81%D1%80%D0%B5%D1%92%D0%B8%D0%B2%D0%B0%D1%9A%D0%B5_%D0%9E%D1%81%D1%82%D0%B0%D0%B2%D0%B5" class="extiw" title="meta:Велико пролећно сређивање Оставе"u003Eu003Cspan style="color:white"u003EУчествуј у Великом пролећном сређивању Оставе од 15. марта до 15. априла!u003C/spanu003Eu003C/au003Eu003C/uu003Eu003C/divu003Enu003Cdiv style="position:relative; overflow:hidden; background-color:#5E9DC8; text-align:center; color:white; font-size:1.25em; font-weight:bold; line-height:1.5em; margin-top: 5px;"u003Eu003Cuu003Eu003Ca href="/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%98%D0%B0:%D0%A2%D0%B0%D0%BA%D0%BC%D0%B8%D1%87%D0%B5%D1%9A%D0%B5_%D1%83_%D0%BF%D0%B8%D1%81%D0%B0%D1%9A%D1%83_%D1%87%D0%BB%D0%B0%D0%BD%D0%B0%D0%BA%D0%B0/%D0%A6%D0%95%D0%95_%D0%BF%D1%80%D0%BE%D0%BB%D0%B5%D1%9B%D0%B5_2019" title="Википедија:Такмичење у писању чланака/ЦЕЕ пролеће 2019"u003Eu003Cspan style="color:white"u003EТакмичи се у писању чланака о средњој и источној Европи од 21. марта до 31. маја!u003C/spanu003Eu003C/au003Eu003C/uu003Eu003C/divu003Eu003C/divu003Eu003C/divu003Eu003C/divu003E";());
Софтвер
Иди на навигацију
Иди на претрагу
Софтвер су програми (наредбе, инструкције) који говоре рачунару како треба да извршава одређене задатке. Софтвер је начин записа алгоритама у облику који је разумљив рачунару. Повезан је са хардвером, који представља компоненте рачунара. Уколико хардвер и софтвер нису повезани, рачунар не функционише. Софтвер се састоји од програма и библиотека, као и докумената који су повезани са њима. Појам софтвера се често користи у ужем смислу, као софтвер апликација.[3]
Извршни код се састоји од програмског тј. машинског језика са инструкцијама специфичне за сваки процесор (енгл. central processing unit – CPU ).[4][5] Машински језик чине група бинарних вредности које прослеђују инструкције до процесора о промени стања рачунара. Као пример тога имамо када инструкција мења вредност сачувана у посебној локацији рачунара, и у том случају резултат промене није видљив кориснику. Такође, инструкције могу довести до промене на екрану рачунара, који су, дакле, видљиви кориснику. Процесор ће извршавати радње са инструкцијама по редоследу по ком су му инструкције достављене, уколику му није задато да прескочи са једне на другу инструкцију, или је прекинуто (у данашње време су вишејезгарни процесори доминантни,[6] код којих свако језгро може да извршава инструкције по редоследу; мада сваки апликациони софтвер може да се извршава на једном језгру, знатан порција софвера је направљена тако да користи мноштво језгара[7][8]).
Софтвер записан у машинском језику је познат као машински код, док је у пракси најчешће записан као скуп програмских језика високог нивоа,[9] због тога што су много ефикаснији, а такође и једноставнији за коришћење човеку него машинском језику.[10] Овакви програми се преводе у машински језик помоћу компајлера или интерпретатора, као и комбинацијом ова два програма. Софтвер такође може бити записан у програмском језику ниског нивоа – асемблеру,[11] програму који представља машински језик коришћењем алфабета.[12]
Садржај
1 Историјат
2 Типови софтвера
2.1 Домен извршења
3 Програмски алат
3.1 Извршење
3.2 Софтверске лиценце
4 Дизајн и извршење
5 Индустрија и организације
6 Види још
7 Референце
8 Литература
9 Спољашње везе
Историјат
Главни чланак : Историја софтвера
Први део софтвера (алгоритам) је у деветнаестом веку написала Ејда Кинг Лавлејс[13][14] за аналитички мотор,[15][16][17] међутим нити је софтвер успешно направљен нити аналитички мотор, док је прва теорија о софтверу, још пре појављивања рачунара какав постоји данас, представљена 1935. године у есеју Computable numbers with an application to the Entscheidungsproblem.[18][19]
Захваљујући овој теорији дошло је до поља рачунарске науке и софтверског инжењеринга, у којима је изучаван софтвер и његово стварање. Софтверски инжењеринг се бавио практичним делом, док се рачунарска наука бавила тиме више теоретски него практично.
Типови софтвера
Погледај : Категорије софтвера
Софтвер се дели на:
Софтвер Апликација – које рачунар користи за извршавање специјалних финкција или за забаву (операције које не укључују основне операције рачунара). Постоји много врста софтвера апликација, због великог спектра задатака које модеран рачунар извршава.
Системски софтвер.[20][21] је направљен за директну комуникацију са хардвером, да би омогућио основне функције корисницима, као и другим софтверима, и да оспособи платформу за активне апликације.
Системски софтвер садржи:
Оперативне системе — који су, заправо, колекција софтвера направљена за управљање ресурсима и која омогућава заједничке услуге осталим софтверима.[22][23] Надзорни програми, покретач оперативног система и вишезначна јединица (љуска – shell) су кључни делови оперативног система. У пракси, оперативни систем добијамо са додатним софтвером (укључујући и софтвер апликација).- Управљачке програме – драјвере
Драјвери омогућавају функцију одређеној врсти уређаја прикаченој на рачунар.[24][25] Сваком уређају је потребан најмање један драјвер.
Помоћне програме, који су дизајнирани како би корисник лакше одржавао рачунар.[26]
Домен извршења
- Апликације радне површине, као што су интернет претраживачи и Microsoft Office, као и smartphone [27] и таблет aplikacije ( "apps"). Постоји притисак у неким деловима софтверске индустрије да се споје апликације радне површине са мобилним апликацијама до одређене мере. Windows 8, касније Ubuntu Touch, покушали су да дозволе коришћење исте врсте апликацијског корисничког интерфејса на десктоп и лаптоп, мобилним уређајима и хибридним таблетима.
JavaScript скрипте су делови софтвера традиционално уграђене у веб странице које се покрећу директно из итнернет претраживача када се учита интернет страница без потребе за прикључком за интернет претраживач.
Софтвер написан другим програмским језицима се такође може покренути у интернет претраживачу ако је софтвер преведен у JavaScript, или ако је прикључак за интернет претраживач који подржава тај језик инсталиран;
Најчешћи претходно поменути пример су ActionScript скрипте, које подржава Adobe Flash.
Серверски софтвер који укључује:
Интернет апликације, које обично раде на интернет серверу и преносе динамично створене интернет странице на интернет претраживаче, користећи нпр. PHP, Java или ASP.NET, или чак JavaScript који ради на серверу. У модерна времена уобичајено је да неки JavaScript такође ради у интернет претраживачу, у ком случају они делимично раде на серверу а делимично на интернет претраживачу.
Прикљуци и екстензије су софтвер који допуњује или мења функционалност другог дела софтвера, и захтевају да се користи тај софтвер да би могли да функционишу;
Уграђени софтвер — постоји као firmware у уграђеним системима, уређајима намењеним једној или више функција као што су аутомобили и телевизори (иако неки уграђени уређаји као што су бежични чипсетови, могу сами бити део обичног, не-уграђеног рачунарског система као што је PC или [28]). У погледу уграђених система некад нема јасне разлике између системског софтвера и апликацијског софтвера, али неки уграђени системи покрећу уграђене оперативне системе, и ови системи задржавају разлику између системског софтвера и апликацијског софтвера (иако ће типично бити само једна фиксна апликација која је увек покренута).
Микрокод је специјални, релативно непознат тип уграђеног софтвера који говори самом процесору како да изврши машински код, тако да је у ствари нижег ранга од машинског кода.[29] Типично је својствено процесоровом произвођачу, и било која неопходна исправљачка микрокод софтвер ажурирања су достављена од њих корисницима (што је много јефтиније од слања замене процесорског хардвера). Тако да обичан програмер не очекује да ће икад морати да се бави тиме.
Програмски алат
Главни чланак : Програмски алат
Програмски алат је софтвер у облику програма или апликација које произвођачи софтвера (такође знани као програмери, кодери, хакери или софтверски инжењери) користе да стварају, одстране неправилности, одржавају ( побољшају или поправе), или једноставно доприносе софтверу. Као што је већ речено, софтвер је написан у једном или више програмских језика – постоји велики број програмских језика, а сваки од њих има посебну врсту имплементације и сваки садржи себи својствен сет програмских алата. Ови алати могу бити компајлери, [„дебагер“]и, интерпретатори, линкери и текст едитори, који могу бити комбиновани међусобно да би извршили одређени задатак; или могу формирати интегрисано развојно окружење, које комбинује већину од свих алата. Интегрисано развојно окружење (IDE) то може извести или позивајући релевантне индивидуалне алате, или ре-имплементирањем њихових функција на нов начин. Интегрисано развојно окружење омогућава лакше извођење одређених задатака, као што су претрага података у одређеном пројекту. Мноштво имплементација програмских језика омогућавају обе опције – и коришћење индивидуалних алатки и интегрисано радно окружење.
Извршење
Главни чланак : Извршавање (рачунарство)
- Рачунарски софтвер је складиштен у меморији рачунара (као што је хард диск). Када се софтвер учита, рачунар почиње са извршавањем наредби софтвера. Овај процес укључује прослеђивање инструкција од софтвера апликација, преко системског софтвера, до хардвера, где се добија инструкција у виду машинског кода. Свака инструкција је узрок неких операција, нпр. пренос података, преношење неког рачунања или мењање контролног тока инструкција.
Софтверске лиценце
Софтверске лиценце кориснику дају право на коришћење власничког окружења, као и да у случају бесплатних софтверских лиценци корисници имају право да производе копије истих.
Власнички софтвер се дели на две групе:
Фривер који укључује и категорију бесплатног тестирања (free trial) софтвера или Freemium софтвера. Као што само име каже, овај софтвер се може користити бесплатно, иако код бесплатног тестирања или некад и код freemium софтвера, то некад може бити само на одређени временски период или може бити ограничено на коришћење само одређених функција софтвера.- софтвер који се наплаћује, често назван комерцијални софтвер је легалан само уз купљену лиценцу.
Дизајн и извршење
Главни чланци : Развој софтвера, Програмирање и Инжењеринг софтвера
Дизајн и извршење софтвера зависи од комплексности софтвера. Нпр. Дизајнерима и оснивачима 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] углавном због његовог власништва над знатним бројем акција у Мајкрософту, компанији одговорној за софтверске производе Мајкрософт виндоус и Мајкрософт Офис.
Беспрофитне софтверске организације обухватају Задужбину за слободни софтвер, ГНУ пројекат и Мозила фондацију. Софтверске стандардизационе организације као што су W3C и IETF развијају препоруке софтверских стандарда као што су: XML, HTTP и HTML, тако да софтвер може да интероператибилно функционише.
Друге добро познате велике софтверске компаније обухватају: Оракл, Novell, SAP, Symantec, Adobe Systems, Sidetrade и Corel, док мале компаније често пружају иновације.
Види још
- Инжењеринг софтвера
- Геолокациони софтвер
- Слободни софтвер
- Софтвер отвореног кода
Референце
^ „Application software”. PC Magazine. Ziff Davis.
^ Ulrich, William. „Application Package Software: The Promise Vs. Reality”. Cutter Consortium.
^ Ceruzzi, Paul E. . A History of Modern Computing. Cambridge, Mass.: MIT Press. 2000. ISBN 978-0-262-03255-1.
^ Kuck 1978, стр. 12
^ Weik, Martin H. (1961). „A Third Survey of Domestic Electronic Digital Computing Systems”. Ballistic Research Laboratory.
^ Rouse, Margaret (2007). „Definition: multi-core processor”. TechTarget. Приступљено 06. 03. 2013.
^ CSA Organization
^ Suleman, Aater (20. 05. 2011). „What makes parallel programming hard?”. FutureChips. Архивирано из оригинала на датум 29. 05. 2011. Приступљено 06. 03. 2013.
^ HThreads - RD Glossary
^ Compiler construction
^ Assembler language, IBM Knowledge center
^ Saxon, James; Plette, William (1962). „Programming the IBM 1401” (PDF). Prentice-Hall. LoC 62-20615]
^ Phillips, Ana Lena (2011). „Crowdsourcing Gender Equity: Ada Lovelace Day, and its companion website, aims to raise the profile of women in science and technology”. American Scientist. 99 (6): 463.
^ „Ada Lovelace honoured by Google doodle”. The Guardian. 10. 12. 2012. Приступљено 10. 12. 2012.
^ „Babbage's Analytical Engine, 1834-1871. (Trial model)”. Science Museum. Приступљено 23. 08. 2017.
^ John Graham-Cumming (04. 10. 2010). „The 100-year leap”. O'Reilly Radar. Приступљено 01. 08. 2012.
^ „The Babbage Engine: The Engines”. Computer History Museum. 2016. Приступљено 07. 05. 2016.
^ Turing, A.M. (1936), „On Computable Numbers, with an Application to the Entscheidungsproblem”, Proceedings of the London Mathematical Society, 2 (објављено 1937), 42 (1), стр. 230—65, doi:10.1112/plms/s2-42.1.230
^ Turing, A.M. (1938), „On Computable Numbers, with an Application to the Entscheidungsproblem: A correction”, Proceedings of the London Mathematical Society, 2 (објављено 1937), 43 (6), стр. 544—6, doi:10.1112/plms/s2-43.6.544 )
^ „What is software? - Definition from WhatIs.com”. Searchsoa.techtarget.com. Приступљено 24. 06. 2012.
^ „Panel: Systems Programming in 2014 and Beyond”. Microsoft. Приступљено 04. 12. 2015.
^ Stallings 2005, стр. 6.
^ Dhotre 2009, стр. 1.
^ „What is a device driver?, The purpose of device drivers”. PC. 08. 11. 2012. Архивирано из оригинала на датум 21. 10. 2014.
^ Services, EMC Education (2010). Information Storage and Management: Storing, Managing, and Protecting Digital Information. John Wiley & Sons.
^ Parsons & Oja 2013, стр. 129.
^ IEEE computer society
^ Smarthphone
^ Microcode
^ Microsoft API and reference catalog
^ Dan Kaminsky's blog
^ v. Engelhardt, Sebastian (2008). „The Economic Properties of Software”. Jena Economic Research Papers. 2 (2008–045.).
^ Kaminsky, Dan (1999). „Why Open Source Is The Optimum Economic Paradigm for Software”.
^ „The World’s Biggest Public Companies”. Forbes (на језику: енглески). Приступљено 26. 01. 2017.
^ „Market Cap Rankings”. Ycharts. Zacks Investment Research. 08. 04. 2012. Архивирано из оригинала на датум 31. 03. 2012. Приступљено 09. 04. 2012.
^ „Microsoft Corporation”. Encyclopædia Britannica.
^ „The $600 billion challenge”. Fortune. Приступљено 16. 04. 2017.
Литература
.mw-parser-output .refbeginfont-size:90%;margin-bottom:0.5em.mw-parser-output .refbegin-hanging-indents>ullist-style-type:none;margin-left:0.mw-parser-output .refbegin-hanging-indents>ul>li,.mw-parser-output .refbegin-hanging-indents>dl>ddmargin-left:0;padding-left:3.2em;text-indent:-3.2em;list-style:none.mw-parser-output .refbegin-100font-size:100%
Parsons, June Jamrich; Oja, Dan (2013). New Perspectives on Computer Concepts 30 14: Comprehensive. Cengage Learning. стр. 129. ISBN 978-1-285-09692-6.
Services, EMC Education (2010). Information Storage and Management: Storing, Managing, and Protecting Digital Information. John Wiley & Sons.
Dhotre, I.A. (2009). Operating Systems. Technical Publications. стр. 1.
Stallings (2005). Operating Systems, Internals and Design Principles. Pearson: Prentice Hall. стр. 6.
Kuck, David (1978). Computers and Computations, Vol 1. John Wiley & Sons, Inc. стр. 12. ISBN 978-0-471-02716-4.- Matthew Robinson, Pavel Vorobiev: Swing, Second Edition, Manning. ISBN 978-1-930110-88-5.
David M. Geary: Graphic Java 2, Volume 2: Swing, Prentice Hall. ISBN 978-0-13-079667-7.- John Zukowski: The Definitive Guide to Java Swing, Third Edition, Apress. ISBN 978-1-59059-447-6.
- James Elliott, Robert Eckstein, Marc Loy, David Wood, Brian Cole: Java Swing, O'Reilly. ISBN 978-0-596-00408-8.
Walrath, Kathy; Campione, Mary; Huml, Alison; Zakhour, Sharon. The JFC Swing Tutorial: A Guide to Constructing GUIs. Addison-Wesley Professional. ISBN 978-0-201-91467-2.
Joshua Marinacci, Chris Adamson: Swing Hacks, O'Reilly. ISBN 978-0-596-00907-6.
Ivan Portyankin, Swing, Effective User Interfaces (Russian)., 2nd Ed., Moscow, "Lory". 2010. ISBN 978-5-469-00005-1.
Спољашње везе
- Java SE 8
- The Swing architecture
- AWT/Swing
- Javax.swing Tips
Софтвер на сајту DMOZ (на језику: енглески)
Категорије:
- Софтвер
- Англицизми
(window.RLQ=window.RLQ||[]).push(function()mw.config.set("wgPageParseReport":"limitreport":"cputime":"0.692","walltime":"0.813","ppvisitednodes":"value":2224,"limit":1000000,"ppgeneratednodes":"value":0,"limit":1500000,"postexpandincludesize":"value":59395,"limit":2097152,"templateargumentsize":"value":2020,"limit":2097152,"expansiondepth":"value":16,"limit":40,"expensivefunctioncount":"value":0,"limit":500,"unstrip-depth":"value":0,"limit":20,"unstrip-size":"value":30615,"limit":5000000,"entityaccesscount":"value":1,"limit":400,"timingprofile":["100.00% 636.877 1 -total"," 55.11% 350.962 1 Шаблон:Reflist"," 29.16% 185.715 15 Шаблон:Cite_web"," 13.39% 85.292 7 Шаблон:Cite_book"," 8.94% 56.958 1 Шаблон:Dmoz"," 6.92% 44.071 3 Шаблон:Cite_journal"," 6.85% 43.639 1 Шаблон:Authority_control"," 5.70% 36.279 7 Шаблон:Replace"," 5.47% 34.811 3 Шаблон:Sfn"," 5.39% 34.303 1 Шаблон:En"],"scribunto":"limitreport-timeusage":"value":"0.386","limit":"10.000","limitreport-memusage":"value":4271117,"limit":52428800,"cachereport":"origin":"mw1301","timestamp":"20190327075611","ttl":2592000,"transientcontent":false);mw.config.set("wgBackendResponseTime":136,"wgHostname":"mw1267"););