COBOL: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
m drobne techniczne
Linia 41:
</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;<codesyntaxhighlight lang="cobol" inline>12</codesyntaxhighlight>) oraz ciągi znaków (np.&nbsp;<codesyntaxhighlight lang="cobol" inline>'Hello!'</codesyntaxhighlight>)<ref>{{Cytuj|tytuł=ISO/IEC JTC 1/SC 22/WG 4 2014, § 8.3.1.2.}}</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}}</ref>.
 
== Krytyka i obrona ==
Krytycy COBOLa zarzucają mu brak struktury. Zarzut ten odnosi się przede wszystkim do tak zwanego kodu spaghetti, przyczyną powstania którego jest z kolei wykorzystywanie komendy&nbsp;<codesyntaxhighlight lang="cobol" inline>GO TO</codesyntaxhighlight> (komenda ta używana jest do przechodzenia po programie w przód i wstecz, w sposób który sprawia, że logika programu staje się trudna do zrozumienia). Aktualnie&nbsp;<codesyntaxhighlight lang="cobol" inline>GO TO</codesyntaxhighlight> w dużej mierze zastępowane jest komendą <codesyntaxhighlight lang="cobol" inline>PERFORM</codesyntaxhighlight> oraz procedurami, których zastosowanie znacząco niweluje ten zarzut.
 
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.