Movatterモバイル変換


[0]ホーム

URL:


Пређи на садржај
Википедија
Претрага

COBOL

С Википедије, слободне енциклопедије
COBOL
Појавио се1959.; пре 66 година (1959)
Аутор(и)Хаувард Бромберг,Хаувард Дисконт,Вернон Ривс,Жан Е. Самет,Вилјам Селден,Гертруда Тјерни
Дизајнер(и)CODASYL,ANSI,ISO
Актуелна верзијаISO/IEC 1989:2014 / 2014
Систем типовастатички, јаки, сигурни, номинални
Имплементацијебизнис и финансијске апликације
УтицајиAIMACO,C++,COMTRAN,Eiffel,FACT,FLOW-MATIC,Smalltalk
Утицао наCobolScript,[1]PL/I[2]PL/B
За друге употребе, погледајтеКобол (вишезначна одредница).

COBOL (изговор: /ˈkoʊbɒl/;транскр.кобол) је један од најстаријих виших програмских језика који су у данашњој употреби. Име му је изведено каоакроним оденгл.COmmonBusiness-OrientedLanguage, што је дефинисано његовим применама — углавном служи за писање бизнис и финансијских апликација и као подршка административним системима у компанијама и владама. Најновија спецификација, COBOL 2002, садржи механизмеобјектно-оријентисаног програмирања и многе друге модерне могућности.[3] Првобитно се користио у пословним, финансијским и административним системима за компаније и владе. Још увек има широку употребу у наслеђеним апликацијама развијеним на великим главним рачунарима као што су, апликације за обраду великих размера и трансакција. Али због смањене популарности и пензионисања искусних COBOL програмера, програми мигрирају на нове платформе, преписани на савремене језике, или бивају замењени софтверским пакетима.[4] Већина програма у COBOL-у сада постоји само ради одржавања постојећих апликација.

COBOL је дизајниран 1959. године од странеCODASYL и делимично се базирао на претходном програмском језику који је дизајниралаГрејс Хопер, познатија као „COBOL-ова баба“.[5][6][7] Направљен је као резултат рада Министарства одбране на стварању преносивог програмског језика за обраду података.[8] Стандардизован је 1968. године и од тада је прерађиван четири пута. Проширења укључују подршку за структурално и објектно-оријентисано програмирање. Тренутни стандард јеISO/IEC 1989:2014.[9]

Историја

[уреди |уреди извор]

У касним 1950-им, корисници и произвођачи рачунара постали су забринути због пораста трошкова програмирања. Истраживања из 1959. године су открила да у било којој инсталацији за обраду података, програмирање кошта 800,00 $ у просеку и да ће програми за превођење на нови хардвер коштати 600,00$. У време када се број нових програмских језика повећава са све већом стопом, иста истраживања (анкете) сугеришу да би, уколико би се користио заједнички пословни језик, конверзија била далеко јефтинија и бржа.

Априла 1959. годинеМери К. Хајвс је позвала представнике академије, кориснике и произвођаче рачунара на Универзитет у Пенсилванији како би организовали званични састанак на тему заједничких пословних језика.[10] Представници су позвали Grace Hopper, изумитељкуflow-matic-a,Жан Самет иСаул Горн. Група је затражила од Министарства одбране да спонзорише стварање заједничког пословног језика. Делегација је импресиониралаЧарлса А. Филипса, директора одељења за истраживање система података при Министарству одбране, који је сматрао да су они детаљно проучили проблеме Министарства одбране. Министарство је имало у употреби 225 рачунара, и још додатних 175 било је наручено и чекала се испорука, а потрошено је 200 милиона долара на имплементације програма.

Преносиви програми би уштедели време, смањили трошкове и олакшали модернизацију. Филипс се сложио да спонзорише састанак и задао делегацији да изради дневни ред.

Стандарди

[уреди |уреди извор]

COBOL 60

[уреди |уреди извор]

УПентагону је, 28. и 29. маја 1959. године, одржан састанак на којем се расправљало о стварању заједничког програмског језика за бизнис. Присуствовала је 41 особа, а председавао је Филипс.[11] Министарство одбране је било забринуто око тога да ли ће резултати програма обраде података бити исти на различитим рачунарима.FORTRAN, једини „mainstream“ језик у то време, није имао могућност за писање таквих програма.

Представници су са ентузијазмом описали језик који би могао радити у разним окружењима, од банкарства и осигурања до комуналних услуга и контроле инвентара. Једногласно су се сложили да би више људи требало да буде у могућности да програмира и да нови језик не би требало ограничити границама савремене технологије. Већина се сложила да би језик требало максимално да користи енглески језик, да буде способан за промене, независтан од машина и једноставан за коришћење, чак и по цену моћи.

Састанак је резултирао стварањем Управног одбора као и одбора за кратки, средњи и дуги низ година. Комитет за кратки опсег је добио рок до септембра (три месеца) да дају спецификације за привремени језик, који би затим унапредили остали комитети. Њихова званична мисија била је да идентификују снаге и слабости постојећих програмских језика.

Управни одбор се састао 4. јуна и сложио да именују читаву активност као Одбор за језике података, илиCODASYL и формира извршни одбор.} Комитет кратког одбора састојао се од чланова представника шест произвођача рачунара и три владине агенције. Шест произвођача рачунара суBurroughs Corporation,IBM,Minneapolis-Honeywell (Honeywell Labs),RCA,Sperry Rand иSylvania Electric Products. Три владине агенције биле суАмеричко ратно ваздухопловство, Navy’s David Taylor Model Basin и Nattional Bureau of Standards (сада National Institute of Standards and Technology). Одбором је председаваоЏозеф Вегстајн из Националног бироа за стандарде САД. Рад је започео истраживањем описа података, изјава, постојећих апликација и корисничких искустава. Комитет је углавном испитиваоFLOW-MATIC,AIMACO,COMTRAN програмске језике. Главни допринос FLOW-MATIC-a COBOL-у су дуга имена променљивих, енглеске речи за наредбе и одвајање података и упутстава. IBM-ов COMTRAN језик, који је изумеоБоб Бемер, је сматран конкурентомFLOW MATIC. Неке од његових карактеристика нису биле укључене у COBOL, тако да не би изгледало да IBM доминира дизајном. Након што јеРој Голдфингер, аутор приручника COMTRAN и члан комисије средњег ранга присуствовао састанку подкомитета како би подржао његов језик и охрабрио употребу алгебарских израза,Грејс Хопер је послала допис одбору кратког домета потенцирајући на напорима које је улагаоSperry Rand да створи језик заснован на енглеском.

Карактеристике из COMTRAN-а које је садржао COBOL су укључивале формуле, клаузулу PICTURE, и побољшале IF изјаву, што је отклонило потребу за GO TO наредбом и робуснијим системом управљања датотекама.

Док су неки чланови мислили да језик има превише компромиса, други су сматрали да је бољи од сва три испитана језика. Неки сматрају да је језик сувише сложен, а други да је сувише једноставан. Карактеристике које укључују Буловске изразе, формуле и табеле индекса су неки сматрали бескорисним или сувише напредним за кориснике. Мало пажње је посвећено интерактивности, интеракцији са оперативним системима (неколико њих је постојало у то време ) и функције.

Спецификације су представљене Извршном одбору 4. септембра.Јозеф Вегстајн је напоменуо да он садржи грубе мрље и да захтева неке измене. Подкомитету је дато да га до Децембра поправе.

На састанку, средином Септембра, комитет је разматрао име новог језика. Неки од предлога били су “BUSY” (Business System), ”INFOSYL” (Information System Language),и “COCOSYL” (Common Computer System Language). Име COBOL је предложиоБоб Бемер.[12][13]

У октобру је комитет средњег ранга добио копије спецификација језика FACT који је створиоРој Нут. Његове карактеристике су имресионирале комисију, па су донели одлуку да COBOL базирају на њој. То је био ударац за одбор кратког домета, који је значајно напредовао у погледу спецификације. Упркос томе што је технички супериоран, FACT није створен са могућности преносивости . Представник RCA,Хаувард Бомберг је такође блокирао FACT, тако да рад RCA на имплементацији COBOL-a не би био узалудан.

Ускоро је постало очигледно да је одбор био сувише велики да би се убрзо учинио било какав напредак.[14] Формиран је пододбор да би анализирао постојеће језике и био је састављен од шест појединаца:

  • Вилјам Селден и Гертруда Тјерни,IBM
  • Хаувард Бромберг и Хаувард Дисконт,RCA
  • Вернон Ривс и Жан Е. СаметSylvania Electric Products

Пододбор је већину посла посветио изради спецификација, остављајући комисији кратког домета да преиспита и модификује свој рад пре израде завршне спецификације.

Спецификације су одобрене од стране Извршног одбора 3. јануара 1960. Године и послате владиној штампарији која их је штампала као COBOL 60. Наведени циљеви језика су били да омогуће лако писање преносивих програма, како би се корисницима омогућило да их преносе на нове системе уз минималне напоре и трошкове, и да буду погодни за неискусне програмере. Извршни одборCODASYL је касније створио COBOL сектор за одржавање, како би одговорио на питања корисника и произвођача и побољшао и проширио спецификације. Током 60-их порасла је листа произвођача који планирају израду компилатора COBOL. До Септембра још пет произвођача се придружилоCODASYL (Bendix, Control Data Corporation, General Electric (GE), National Cash Register Philco) и сви представљени произвођачи су најавили компилацију COBOL-а. GE и IBM планирају да интегришу COBOL на своје језике,GECOM иCOMTRAN. Насупрот томе, Internacional Computer and Tabulators планирају да замене свој језик, CODEL са COBOL-ом.

У међувремену, RCA иSperry Rand су радили на стварању компилатора COBOL-а. Први COBOL програм покренут је 17. августа на RCA 501. Исти COBOL програм (са мањим изменама) је 6. И 7. децембра покренут на RCA рачунару и Remington-Rand Univac рачунару, доказујући да се компатибилност може постићи.

Утицаји на то која ће се верзија језика користити и дан данас се наставља кроз препоручене савете у свим штампаним приручницима за COBOL.

COBOL је индустријски језик и није власништво било које компаније или групе компанија, нити било које организације или групе организација. Ниједна сарадница или одборCODASYL COBOL-a не даје никакву гаранцију, у погледу тачности и функционалности програмског система и језика. Осим тога, одговорност не преузима ни доприносилац нити одбор. Аутори и носиоци ауторских права за заштићени материјал који се овде користе су следећи:

  • FLOW-MATIC (Unisys Corporation), програмирање UNIVAC (R) I и II, систем за аутоматизацију података, заштићен ауторским правима 1958. 1959. Од стране Unisys Corporation
  • IBM Commercial Translator Form No. F28-8013, заштићен ауторским правима 1959. од стране IBM
  • FACT, DSI 27A5260-2760, заштићен ауторским правима 1960. Од стране Minneapolis-Honeywell

Посебно су овластили употребу овог материјала, у целости или делимично, у COBOL спецификацијама. Такво одобрење проширује се на репродукцију и употребу COBOL спецификација у приручницима за програмирање или сличним публикацијама.[15]

COBOL-61 до COBOL-65

[уреди |уреди извор]

Пронађени су многи логички недостаци у COBOL-у 60,Чарлс Кац вођаЏенерал електрика је упозорио да се то не може недвосмислено тумачити. Невољна краткорочна комисија извршила је потпуно чишћење и од Марта 1963. године пријављено је да је COBOL-ова синтакса дефинисана каоALGOL-ова, иако семантичке нејасноће остају.

Рани компилатори COBOL-а су примитивни и спори. US Navy Evaluation је 1962. године пронашла компилациониу брзину од 3-11 изјава у минути. До средине 1964. године повећали су на 11-1000 изјава у минути. Било је примећено да повећавање меморије, драстично повећава брзину и да су трошкови компилације различити.

Касне 1962. године,IBM је објавио да ће COBOL бити њихов примарни развојни језик и да ће престати са развојемCOMTRAN-а.

Спецификација COBOL-а ревидирана је три пута за пет година. COBOL-60 замењен је COBOL-ом -61 1961. године. Онда је спецификација COBOL-а -61 проширена 1963. године, која је увела објекте за сортирање и извршавање. COBOL издање 1965. године донело је додатна појашњења спецификацијама и уведене су могућности за руковање датотекама и табелама.

COBOL -68

[уреди |уреди извор]

Почело је да се ради на стандардизацији COBOL-а која ће превазићи неусклађености између верзија. Крајем 1962. годинеISO и Институт за стандарде Сједињених Америчких Држава (сада ANSI) су формирали групе за креирање стандарда. ANSI је произвела USA Standard COBOLX3.23 у Августу 1968, који је постао камен темељац за касније верзије. Ова верзија је позната као Амерички национални стандард (АNS) COBOL и усвојен је од стране ISO 1972. године.[16]

Здраво, свете

[уреди |уреди извор]

Познати програмHello World у COBOL-у изгледа слично као и у осталим језицима процедуралне парадигме:

IDENTIFICATIONDIVISION.PROGRAM-ID.HELLO-WORLD.PROCEDUREDIVISION.MAIN.DISPLAY'Zdravo, svete!'.STOPRUN.

Синтакса

[уреди |уреди извор]

COBOL има синтаксу сличну енглеском језику којом се дефинише скоро све у програмима који се у њему пишу, на пример исти услови се могу писати на следеће начине:

  • xISGREATERTHANy
  • xGREATERy
  • x>y

Комплекснији услови се могу скратити избацивањем поновљених услова и променљивих, на примерa>bANDa>cORa=d се може записати каоa>bANDcOR=d. Као последица овакве синтаксе, COBOL има више од 300кључних (резервисаних) речи. Неке верзије су имале чак и 1100 кључних речи.[17] Многе кључне речи се имају своје еквивалентне парове са којима се могу наизменично писати у програмима каоIN иOF јер на енглеском језику имају исто значење, такође неке од њих имају и своје облике у множини каоIS иARE илиVALUE иVALUES.

Сваки програм у Коболу се састоји садржи литерале, сликовни карактер-стрингови, стрингове и сепараторе.Речи представљају кључне речи или кориснички-дефинисани идентификатори који се састоје од до 31-ог карактера који могу бити слова, бројеви, цртиве или доње црте. Литерали су или бројеви или словне речи, а под сепараторима се подразумевају размаци, тачке, тачка-зарез...

Програми у Коболу се деле на 4 дивизије:

  • идентификациона дивизија
  • дивизија окружења
  • дивизија података
  • процедурална дивизија

У идентификационој дивизији се наводи име и тип изворног елемента, ту се наводе и класе и интерфејси. У дивизији окружења се наводе особине програма које зависе од система на ком се покреће. У дивизији података се деклатишу променљиве и параметри. У процедуралној дивизији су садржане наредбе програма. Све дивизије су подељене у делове које чине параграфи.

Типови података

[уреди |уреди извор]

Типови података у стандардном COBOL-у су приказани у следећој табели.[18]

ТипДекларацијаО типу
АлфабетскиPIC A(30)Садржи слова и белине
АлфанумеричкиPIC X(30)Може садржати било које карактере
БуловскиPIC 1USAGEBITПодаци сачувани у облику нула и јединица као бинаран број
ИндексниUSAGEINDEXКористе се за приступ елементима табела
НационалниPIC N(30)Сличан алфанумеричком, али користи проширен скуп карактера (UTF-8 )
НумеричкиPIC 9(5)V9(5)Садржи само бројеве
ОбјектниUSAGEOBJECTREFERENCEМоже се односити на објекте илиNULL
ПоказивачкиUSAGEPOINTER

COBOL 2002 (објектно-оријентисани COBOL)

[уреди |уреди извор]

Године 1997,Гартнер група је проценила да постоји 200 милијарди линија COBOL-a, што чини 80% свих пословних језика.[19] Почетком 1990-их почео је развој објектног-оријентисања у новој верзији COBOL-a. Особине објектног-оријентисања преузете су изC++-а иSmalltalk-а. Иницијалне процене су биле да ће ревизија и нацрт комитетаISO бити готови до 1997. године. Поједини продавци (Micro Focus, Fujitsu, IBM) су представили синтаксу објектно-оријентисаног програмирања на основу нацрта потпуне ревизије. Крајњи ISO стандард је одобрен и објављен крајем 2002. године. Компаније Fujitsu/GT Software, Micro Focus и RainCode представили су објектно-оријентисане COBOL компајлере користећи.NET Framework.

Било је још доста нових карактеристика, од којих су се многе налазиле у CODASYL COBOL-у Journal of Development још од 1978. године и нису биле укључене у COBOL -85.[20]

Неке од њих су:

  • Слободна форма кода
  • Могућност корисничких функција
  • Рекурзија
  • Локална обрада података
  • Подршка за сет додатних карактера као што јеUNICODE
  • Типови података са покретним зарезом и бинарни
  • Портабилни аритметички резултати
  • Bit, Boolean тип података
  • Показивачи и синтакса за добијање и ослобађање меморијског простора
  • Део екрана за кориснички интерфејс базиран на тексту
  • Побољшана компатибилност са другим програмским језицима ифрејмворк окружења као што су.NET иJava

Извори

[уреди |уреди извор]
  1. ^Imajo, Tetsuji; et al. (септембар 2000).COBOL Script: a business-oriented scripting language.Enterprise Distributed Object Computing Conference. Makuhari, Japan: IEEE.ISBN 978-0-7695-0865-8.doi:10.1109/EDOC.2000.882363.[Претплата неопходна (помоћ)]. 
  2. ^Radin, George (1978). Wexelblat, Richard L., ур.The early history and characteristics of PL/I. History of Programming Languages.Academic Press (објављено 1981). стр. 572.ISBN 978-0-12-745040-7.doi:10.1145/800025.1198410.[Претплата неопходна (помоћ)]. 
  3. ^Комитет за стандарде Кобол-аАрхивирано на веб-сајтуWayback Machine (31. март 2004)(језик: енглески)
  4. ^Mitchell, Robert L. (14. 3. 2012).„Brain drain: Where Cobol systems go from here”.Computerworld. Приступљено9. 2. 2015. 
  5. ^Porter Adams, Vicki (5. 10. 1981).„Captain Grace M. Hopper: the Mother of COBOL”.InfoWorld.3 (20): 33.ISSN 0199-6649. 
  6. ^Betts, Mitch (6. 1. 1992).„Grace Hopper, mother of Cobol, dies”.Computerworld.26 (1): 14.ISSN 0010-4841. 
  7. ^Lohr, Steve (2008).Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists, and Iconoclasts--The Programmers Who Created the Software Revolution.Basic Books. стр. 52.ISBN 978-0786730766. 
  8. ^Ensmenger, Nathan L. (2009).The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise.MIT Press. стр. 100.ISBN 978-0262050937.LCCN 2009052638. 
  9. ^„ISO/IEC 1989:2014”. ISO. 2014. Приступљено7. 6. 2014. 
  10. ^Gürer, Denise (1. 6. 2002).„Pioneering Women in Computer Science”.SIGCSE Bull.34 (2): 175—180.ISSN 0097-8418.doi:10.1145/543812.543853. 
  11. ^„Early Meetings of the Conference on Data Systems Languages”.IEEE Annals of the History of Computing.7 (4): 316. 1985.doi:10.1109/MAHC.1985.10047.[Претплата неопходна (помоћ)]. 
  12. ^Sullivan, Patricia (25. 6. 2004).„Computer Pioneer Bob Bemer, 84”.The Washington Post. стр. B06. Приступљено28. 6. 2014. 
  13. ^Bemer, Bob.„Thoughts on the Past and Future”. Архивирано изоригинала 16. 5. 2014. г. Приступљено28. 6. 2014. 
  14. ^„COBOL Tombstone”. Computer History Museum. Приступљено29. 6. 2014. 
  15. ^Compaq Computer Corporation:Compaq COBOL Reference Manual, Order Number: AA–Q2G0F–TK October 2000, Page xviii; Fujitsu Corporation:Net Cobol Language Reference, Version 15, January 2009; IBM Corporation:Enterprise COBOL for z/OS Language Reference, Version 4 Release 1, SC23-8528-00, December 2007
  16. ^Follet, Robert H.;Sammet, Jean E. (2003). Ralston, Anthony; Reilly, Edwin D.; Hemmendinger, David, ур.Programming language standards.Encyclopedia of Computer Science (4th изд.). Wiley. стр. 1467.ISBN 978-0-470-86412-8.[Претплата неопходна (помоћ)]. 
  17. ^„Reserved Words Table”.Micro Focus Visual COBOL 2.2 COBOL Language Reference.Micro Focus. Приступљено3. 3. 2014. 
  18. ^ISO/IEC JTC 1/SC 22/WG 4 2014, § 8.5.2. sfn грешка: no target: CITEREFISO/IEC_JTC_1/SC_22/WG_42014 (help)
  19. ^Robinson, Brian (9. 7. 2009).„Cobol remains old standby at agencies despite showing its age”.FCW. Public Sector Media Group. Архивирано изоригинала 27. 04. 2014. г. Приступљено26. 4. 2014. 
  20. ^„A list of Codasyl Cobol features”.Computerworld. 10. 9. 1984. стр. ID/28.ISSN 0010-4841. Приступљено8. 6. 2014. 

Литература

[уреди |уреди извор]

Види још

[уреди |уреди извор]

Спољашње везе

[уреди |уреди извор]
Државне
Остале
Преузето из „https://sr.wikipedia.org/w/index.php?title=COBOL&oldid=28100612
Категорије:
Сакривене категорије:

[8]ページ先頭

©2009-2025 Movatter.jp