Cobol

Cobol
Polecane artykuły


COBOL (ang. COmmon Business Oriented Language) – język programowania stworzony z głównym przeznaczeniem do prac programistycznych w dziedzinach ekonomii i biznesu.

COBOL jest jednym z najpopularniejszych i najczęściej używanych języków programowania na świecie. Według szacunków Gartner Group z 1997 istniało wówczas ok. 240 miliardów linii kodu napisanego w COBOL-u, ok. 90% światowych transakcji finansowych jest przetwarzanych przez programy napisane w COBOL-u[1]

COBOL jest językiem proceduralnym, który konstruuje programy w 4 działach: identyfikacja, środowisko, podziały danych i procedur. Służą one odpowiednio do identyfikacji programu, opisywania źródeł danych typu input-ouput, deklarowania struktur danych oraz definiowania procedur dostępu i modyfikowania struktur danych programu. W dziale danych można zdefiniować dwa typy struktur danych: elementy danych i elementy grupy. Te pierwsze to zmienne, które określają pierwotne typy danych; podczas gdy te ostatnie są używane do reprezentowania bardziej złożonych struktur danych [2]

Historia

Prace nad COBOL-em zostały rozpoczęte w 1959 roku na spotkaniu Short Range Committee w Pentagonie, zorganizowanym przez Charles Phillips|Charlesa Phillipsa z amerykańskiego departamentu obrony. Komitet miał na celu doraźnie (short range) określić wspólny język programowania dla środowisk przemysłowych. W skład komitetu wchodziło:

Sześciu przedstawicieli przemysłu

  • Burroughs
  • IBM
  • Minneapolis-Honeywell
  • Radio Corporation of America|RCA
  • Sperry Rand
  • Sylvania Electric Products

Trzy agendy rządu (Stany Zjednoczone)

  • Siły Powietrzne Stanów Zjednoczonych
  • David Taylor Model Basin
  • National Bureau of Standards (Narodowy Urząd Standaryzacji)

Planowane komitety średniego i dalekiego zasięgu albo nie działały albo nie zostały nawet utworzone. Ostatecznie uformował się podkomitet złożony z sześciu osób:

  • William Selden i Gertrude Tierney z IBM
  • Howard Bromberg i Howard Discount z RCA
  • Vernon Reeves i Jean E. Sammet z Sylvania Electric Products

Po dalszych pracach w styczniu 1960 roku specyfikacja języka została ogłoszona drukiem przez rząd USA i nazwana COBOL-60. Prace nad COBOL-em trwały około 6 miesięcy, jest on używany od ponad 40 lat.

Co tak naprawdę oznacza "COBOL"

Nazwa COBOL jest akronimem oznaczającym Common Business Oriented Language (wspólny język zorientowany na biznes), a ten rozszerzony akronim wyraźnie wskazuje docelową domenę tego języka. Podczas gdy większość innych języków programowania wysokiego poziomu jest językami ogólnego przeznaczenia, niezależnymi od domeny, COBOL koncentruje się na biznesie lub przedsiębiorstwie komputerowym. Nie można użyć języka COBOL do napisania gry komputerowej, kompilatora lub systemu operacyjnego. Bez dostępu niskopoziomowego, bez dynamicznego przydzielania pamięci i bez rekursji, COBOL nie posiada konstrukcji ułatwiających tworzenia tego rodzaju programów. Jest to jeden z powodów, dla których większość uniwersytetów nie uczy tego języka języka, ponieważ nie można go używać do tworzenia struktur danych, takich jak:

  • połączone listy
  • kolejki
  • stosy

W celu opracowywania algorytmów takich jak Quicksort, należy nauczyć się innych języków programowania, aby umożliwić nauczanie w tych koncepcjach informatycznych. Obecnie program nauczania jest tak zatłoczony, że często nie ma miejsca na wprowadzenie dwóch języków programowania, szczególnie gdy jedno z nich wydaje się nieść ze sobą korzyści edukacyjne [3]

COBOL a współczesne przedsiębiorstwa

Starsze systemy są dla wielu przedsiębiorstw niepożądaną, ale nieuniknioną rzeczywistością. Programy COBOL, które działają w systemach mainframe, i wdrażają logikę biznesową dużych organizacji finansowych i rządów, są dobrym przykładem. Migracje starszych systemów stają się koniecznością, gdy zmuszają one organizacje do ponoszenia wysokich kosztów, takich jak:

  • płatności za moc przetwarzania
  • zatrudnianie programistów, którzy opanowali zaangażowane technologie

Przeniesienie logiki biznesowej z języka COBOL na nowoczesne platformy, takie jak JEE lub NET, oznacza rezygnację z systemu mainframe dla nowych, bardziej ekonomicznych środowisk obliczeniowych [4]

Struktura Programu COBOL

Każdy program w języku COBOL musi mieć następujące 4 dywizje w kolejności, w jakiej są wymienione poniżej

  1. Identyfikacja
  2. Środowisko
  3. Baza danych
  4. Procedury
  • W sekcji Identyfikacja zostają określone dane o autorze, dacie pisania programu itp.
  • W kolejnej sekcji podane są szczegóły dotyczące środowiska komputerowego, pod którym program został napisany i skompilowany
  • W bazie danych zostają zdefiniowane zmienne, które są używane przez program
  • W sekcji Procedury zostają napisane wszystkie znaki programowania (Executable Cobol statements)[5]

Znaki

Istnieje 50 różnych znaków w zestawie znaków COBOL, które są one wymienione poniżej

  • 0-9 (10 cyfr)
  • A-Z (26-tylko duże litery)
  • - (Znak minus lub myślnik)
  • + (Znak plus)
  • * (Gwiazdka)
  • / (Slash)
  • 0 = (znak równości)
  • $ (Znak waluty)
  • , (Przecinek)
  •  ; (średnik)
  • . (kropka)
  • " (Cudzysłów)
  • ((Lewy nawias)
  • ) (Prawy nawias)
  • > (Znak większości)
  • < (Znak mniejszości)

Znaki 0-9 nazywane są znakami numerycznymi lub cyframi. Znaki A-Z są zwane literami, a pozostałe znaki to znaki specjalne.[6]

Zalety i Wady

Chociaż COBOL posiada wspaniałe możliwości tworzenia własnej dokumentacji i ma dobre typy danych, ma także wiele wad, patrząc przez pryzmat współczesnych języków programowania:

Osobliwością języka COBOL jest składnia, którą starano się uczynić jak najbardziej podobną do naturalnego języka angielskiego.

Natomiast kropka w COBOL-u pełni rolę podobną do średnika w większości imperatywnych języków programowania (tzn. kończy zapis instrukcji).

Bibliografia

Przypis

  1. Is Your Next Language COBOL? Michael Swaine article, 2008
  2. V. Cosentino 2013, s. 1
  3. M. Coughlan 2014, s. 1
  4. J., M. Rodriguez 2013, s. 46
  5. COBOL Programming, M.K.Roy & Ghosh Dastidar, Tata McGraw Hill, 2nd Edition,1998, s. 39
  6. Introduction to COBOL programming – Dr. R.Krishnamoorthy, JJ Publ, s. 76

Autor: Paula Wasil, Jakub Michalik