COBOL: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Paweł Ziemian BOT (dyskusja | edycje)
m Sprzątam Szablon:Cytuj
Linia 5:
Język ten w znaczymy stopniu nadal używany jest w aplikacjach systemów typu mainframe, wymagających przetwarzania danych na wielką skalę, zarówno w trybie wsadowym jak i online. Typowymi obszarami zastosowania są bankowość, ubezpieczenia, służba zdrowia, transport, jak również systemy rządowe i militarne.<ref name=":1">{{Cytuj|autor=Michael Coughlan|tytuł=Beginning COBOL for Programmers}}</ref>&nbsp;&nbsp;&nbsp;
 
W ostatnich latach zauważalny jest stopniowy spadek znaczenia COBOLa w tworzeniu nowych aplikacji. Większość wykonywanych prac programistycznych związania jest z utrzymaniem i rozwojem aplikacji istniejących.<ref>{{Cytuj|autor=Robert L. Mitchell|tytuł=Cobol: Not Dead Yet|data=}}</ref> Z uwagi na jego powoli malejącą popularność oraz coraz mniejszą podaż programistów COBOL, część programów migrowana jest na nowe platformy, przepisywana na bardziej nowoczesne języki bądź zastępowana nowymi pakietami oprogramowania. Niemniej, COBOL nadal odgrywa znaczącą rolę w obszarze aplikacji biznesowych na świecie.
 
COBOL zaprojektowany został w 1960 roku przez [[CODASYL]] i częściowo oparty był na wcześniejszym języku programowania stworzonym przez [[Grace Hopper]], popularnie nazywaną „babcią COBOLa”<ref>{{Cytuj|autor=Porter Adams|tytuł=Captain Grace M. Hopper: the Mother of COBOL}}</ref>. Jego powstanie było skutkiem prób stworzenia przez Departament Obrony USA przenośnego języka programowania wykorzystywanego do procesowania danych. Mimo, iż powstał jako rozwiązanie tymczasowe, Departament Obrony USA szybko zmusił producentów komputerów do jego stosowania przez co w krótkim czasie został rozpowszechniony na szeroką skalę.<ref name=":0">{{Cytuj|tytuł=COBOL|czasopismo=Wikipedia|data=2016-10-07|data dostępu=2016-10-19|url=https://en.wikipedia.org/w/index.php?title=COBOL&oldid=743079668|język=en}}</ref>
 
COBOL został ustandaryzowany w 1968 roku i od tego czasu był ulepszany cztery razy. Rozszerzenia dotyczyły wsparcia programowania obiektowego oraz strukturalnego. Obecnym standardem jest ''[[Międzynarodowa Organizacja Normalizacyjna|ISO]]/[[Międzynarodowa Komisja Elektrotechniczna|IEC]]1989:2014''.<ref>{{Cytuj|autor=|tytuł="ISO/IEC 1989:2014". ISO. 26 May 2014. Retrieved 7 June 2014.|data=}}</ref>
 
Składnia (ang. ''syntax'') COBOLa opiera się na języku angielskim i została zaprojektowana tak, aby kod był czytelny oraz łatwy w dokumentowaniu (samodokumentujący się). Język jest rozbudowany pod względem składniowym i używa ponad 300&nbsp;zarezerwowanych wyrazów.
Linia 42:
</syntaxhighlight>W konsekwencji rozbudowanej składni COBOL posiada ponad 300 słów kluczowych (zarezerwowanych).&nbsp;
 
Każdy program w COBOLu zawiera cztery podstawowe elementy leksykalne: słowa, literały, symbole (ang. ''picture character-strings'', zobacz&nbsp;[[COBOL#PICTURE clause|PICTURE clause]]) oraz separatory. Słowa zawierać mogą słowa zarezerwowane oraz identyfikatory zdefiniowane przez użytkownika. Mogą mieć długość do 31 znaków oraz zawierać litery, cyfry, myślniki i podkreślenia. Literały to cyfry (np.&nbsp;<code>12</code>) oraz ciągi znaków (np.&nbsp;<code>'Hello!'</code>).<ref>{{Cytuj|autor=|tytuł=ISO/IEC JTC 1/SC 22/WG 4 2014, § 8.3.1.2.|data=}}</ref> Separatory zawierają spacje, przecinki oraz średniki.
 
Podstawowym elementem strukturyzującym program w COBOLu jest dywizja. W każdym programie wyróżniamy 4 dywizje: ''identification'', ''environment'', ''data'' oraz ''procedure''. Dywizja ''identification'' określna nazwę oraz element źródłowy. W dywizji tej wyspecyfikowane są również klasy i interfejsy. Dywizja ''environment'' określa wszystkie elementy programu, które zależą od systemu, na którym działają, takie jak pliki i zestawy znaków. Dywizja ''data'' służy do deklaracji [[Zmienna (informatyka)|zmiennych]] i parametrów. Dywizja ''procedure'' zawiera polecenia. Każda dywizja jest podzielona na sekcje, które składają się z paragrafów.<ref name=":1" /><ref>{{Cytuj|autor=Richard L.Conner|tytuł="Cobol, your age is showing". Computerworld|data=}}</ref>
 
== Krytyka i obrona ==
Linia 51:
Krytyce poddawana jest również zbyt rozbudowana i szczegółowa składnia. Zwolennicy twierdzą jednak, że pozwala ona na samodokumentowanie się kodu, co ułatwia jego utrzymanie. Z założenia COBOL miał być również łatwy do opanowania, a jednocześnie czytelny dla osób bez zaplecza technicznego np. menedżerów. <ref name=":0" />
 
Kolejnym zarzutem jest izolacja wspólnoty COBOLa od reszty społeczności informatycznej. W 2013 sondaż Micro Focus wykazał, że 20% pracowników naukowych uczelni oraz 55% studentów uważało COBOLa za język przestarzały lub martwy. Ten sam sondaż wykazał jednak również, że tylko 25% kadry nauczało programowania w COBOLu&nbsp; mimo, iż aż 60% uważało, że powinni go uczyć. Tymczasem w 2003 roku, COBOL obecny był w 80% systemów informatycznych w Stanach Zjednoczonych, w takim samym stopniu, jak C ++ i Java.<ref>{{Cytuj|autor=|tytuł=COBOL and Legacy Code as a Systemic Risk {{!}} naked capitalism|data=}}</ref>
 
COBOL, a dokładniej jego struktury danych, w znacznym stopniu wpłynął na inne języki programowania takie jak PL/I czy Pascal. Jawne definiowanie struktur poprzedziło rozwój systemów zarządzania bazami danych i do dziś uważane jest przez wielu praktyków za wygodne i efektywne podejście do definiowania typów zmiennych.
Linia 60:
Programy napisane w COBOLu nadal używane są na całym świecie w instytucjach rządowych I biznesowych i działają na licznych systemach operacyjnych takich jak&nbsp;[[z/OS]],&nbsp;[[ICL VME|VME]],&nbsp;[[Unix]],&nbsp;[[OpenVMS]]&nbsp;oraz&nbsp;[[Microsoft Windows|Windows]]. W 1997, Grupa [[Gartner Group|Gartner]] wydała raport, który wykazał, że 80% światowego biznesu działa na COBOLu, przy prawie 200 mld linii kodu i 5 miliardami linii pisanymi rocznie. Nawet stworzona w 1996/7 Java nie zdołała przyćmić pozycji COBOLA. <ref name=":0" />
 
W wydanym w 2005 roku raporcie Gary Barnett zaznaczył, że „COBOL pozostaje najpowszechniej stosowanym językiem programowania w dużych przedsiębiorstwach, odpowiadając za 75% wykonywanych transakcji komputerowych” oraz „90% wszystkich transakcji finansowych.<ref>{{Cytuj|autor=|tytuł="An interview: Cobol defender". Computerworld.|data=10 Października 1984}}</ref> W 2006 i 2012,&nbsp;ankiety [[Computerworld|''Computerworld'']]&nbsp;wykazały natomiast, że ponad 60% organizacji wykorzystuje COBOLa bardziej niż [[C++]]&nbsp;i&nbsp;[[Visual Basic .NET]], oraz, że dla połowy z nich COBOL używany jest w większości wewnętrznych systemów.<ref name=":0" /><ref>{{Cytuj|autor=|tytuł="Cobol brain drain: Survey results". Computerworld|data=14 Marca 2012}}</ref>
 
Pomimo szerokiego wykorzystania, nadal wywierana jest presja, aby zastąpić istniejący kod COBOL bardziej nowoczesną alternatywą. Spowodowane jest to przede wszystkich wysokimi kosztami utrzymania, przestarzałym sprzętem i oprogramowaniem oraz konieczność integracji z bardziej nowoczesnym oprogramowaniem, jak również niedoborem programistów COBOL. Niestety większość prób modernizacji, które zawierają w sobie wymianę kodu napisanego w COBOLu kończy się niepowodzeniem.&nbsp;