Cobol: Różnice pomiędzy wersjami

Z Encyklopedia Zarządzania
m (Clean up, replaced: nr. → nr, replaced: * → * (2))
m (Czyszczenie tekstu)
Linia 14: Linia 14:
}}
}}


'''COBOL''' (ang. COmmon Business Oriented Language) język programowania stworzony z głównym przeznaczeniem do prac programistycznych w dziedzinach ekonomii i biznesu.
'''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<ref>Is Your Next Language COBOL? Michael Swaine article, 2008</ref>
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<ref>Is Your Next Language COBOL? Michael Swaine article, 2008</ref>
Linia 20: Linia 20:
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 <ref>V. Cosentino 2013, s. 1</ref>
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 <ref>V. Cosentino 2013, s. 1</ref>


== Historia ==
==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:
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:


Linia 43: Linia 43:
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.
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" ==
==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:
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
* połączone listy
Linia 52: Linia 51:
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 <ref>M. Coughlan 2014, s. 1</ref>
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 <ref>M. Coughlan 2014, s. 1</ref>


== COBOL a współczesne przedsiębiorstwa ==
==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:
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
* płatności za moc przetwarzania
Linia 60: Linia 58:
[[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 <ref>J., M. Rodriguez 2013, s. 46</ref>
[[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 <ref>J., M. Rodriguez 2013, s. 46</ref>


== Struktura Programu COBOL ==
==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
Każdy program w języku COBOL musi mieć następujące 4 dywizje w kolejności, w jakiej są wymienione poniżej
# [[Identyfikacja]]
# [[Identyfikacja]]
Linia 71: Linia 69:
* W sekcji Procedury zostają napisane wszystkie znaki programowania (Executable Cobol statements)<ref>COBOL Programming, M.K.Roy & Ghosh Dastidar, Tata McGraw Hill, 2nd Edition,1998, s. 39</ref>
* W sekcji Procedury zostają napisane wszystkie znaki programowania (Executable Cobol statements)<ref>COBOL Programming, M.K.Roy & Ghosh Dastidar, Tata McGraw Hill, 2nd Edition,1998, s. 39</ref>


== Znaki ==
==Znaki==
Istnieje 50 różnych znaków w zestawie znaków COBOL, które są one wymienione poniżej
Istnieje 50 różnych znaków w zestawie znaków COBOL, które są one wymienione poniżej
* 0-9 (10 cyfr)
* 0-9 (10 cyfr)
Linia 90: Linia 88:
* < (Znak mniejszoś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.<ref>Introduction to COBOL programming Dr. R.Krishnamoorthy, JJ Publ, s. 76</ref>
Znaki 0-9 nazywane są znakami numerycznymi lub cyframi. Znaki A-Z są zwane literami, a pozostałe znaki to znaki specjalne.<ref>Introduction to COBOL programming - Dr. R.Krishnamoorthy, JJ Publ, s. 76</ref>


== Zalety i Wady ==
==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:
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:
* nadmiernie rozbudowana składnia
* nadmiernie rozbudowana składnia
Linia 113: Linia 111:
* Cosentino V. (red.) (2013). ''[https://hal.inria.fr/hal-00869235/document Extracting Business Rules from COBOL: A Model-Based Framework]'', HAL, Koblenz
* Cosentino V. (red.) (2013). ''[https://hal.inria.fr/hal-00869235/document Extracting Business Rules from COBOL: A Model-Based Framework]'', HAL, Koblenz
* Coughlan M. (2014). ''[https://books.google.pl/books?hl=pl&lr=&id=MJmJAwAAQBAJ&oi=fnd&pg=PP3&dq=cobol+&ots=l5ztf-Nc5z&sig=DQe7wTqSan9JfqHw75skDl3Mwqs&redir_esc=y#v=onepage&q=cobol&f=false Beginning COBOL for Programmers]'', Apress
* Coughlan M. (2014). ''[https://books.google.pl/books?hl=pl&lr=&id=MJmJAwAAQBAJ&oi=fnd&pg=PP3&dq=cobol+&ots=l5ztf-Nc5z&sig=DQe7wTqSan9JfqHw75skDl3Mwqs&redir_esc=y#v=onepage&q=cobol&f=false Beginning COBOL for Programmers]'', Apress
* Introduction to COBOL programming Dr. R.Krishnamoorthy, JJ PublIntroduction to COBOL programming Dr. R.Krishnamoorthy, JJ Publishing
* Introduction to COBOL programming - Dr. R.Krishnamoorthy, JJ PublIntroduction to COBOL programming - Dr. R.Krishnamoorthy, JJ Publishing
* Is Your Next Language COBOL? - Michael Swaine, 2008
* Is Your Next Language COBOL? - Michael Swaine, 2008
* Rodriguez J. M. (red.) (2013). ''Bottom-up and top-down COBOL system migration to Web Services: An experience report'', "IEEE Internet Computing", nr 2
* Rodriguez J. M. (red.) (2013). ''Bottom-up and top-down COBOL system migration to Web Services: An experience report'', "IEEE Internet Computing", nr 2
Linia 119: Linia 117:


{{a|Paula Wasil, Jakub Michalik}}
{{a|Paula Wasil, Jakub Michalik}}
[[Kategoria:Języki programowania]]
[[Kategoria:Języki programowania]]


{{#metamaster:description|COBOL (ang. COmmon Business Oriented Language) język programowania stworzony z głównym przeznaczeniem do prac programistycznych w dziedzinach ekonomii i biznesu.}}
{{#metamaster:description|COBOL (ang. COmmon Business Oriented Language) język programowania stworzony z głównym przeznaczeniem do prac programistycznych w dziedzinach ekonomii i biznesu.}}

Wersja z 12:05, 2 lis 2023

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).

Przypisy

  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

Bibliografia

  • COBOL Programming, M.K.Roy & Ghosh Dastidar, Tata McGraw Hill, 2nd Edition,1998
  • Cosentino V. (red.) (2013). Extracting Business Rules from COBOL: A Model-Based Framework, HAL, Koblenz
  • Coughlan M. (2014). Beginning COBOL for Programmers, Apress
  • Introduction to COBOL programming - Dr. R.Krishnamoorthy, JJ PublIntroduction to COBOL programming - Dr. R.Krishnamoorthy, JJ Publishing
  • Is Your Next Language COBOL? - Michael Swaine, 2008
  • Rodriguez J. M. (red.) (2013). Bottom-up and top-down COBOL system migration to Web Services: An experience report, "IEEE Internet Computing", nr 2


Autor: Paula Wasil, Jakub Michalik