Cobol: Różnice pomiędzy wersjami

Z Encyklopedia Zarządzania
m (Dodanie MetaData Description)
m (cleanup bibliografii i rotten links)
 
(Nie pokazano 17 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
{{infobox4
'''COBOL''' (ang. COmmon Business Oriented Language) - język programowania stworzony z głównym przeznaczeniem do prac programistycznych w dziedzinach ekonomii i biznesu.
|list1=
<ul>
<li>[[COBOL (język programowania)]]</li>
<li>[[BASIC]]</li>
<li>[[Baza NoSQL]]</li>
<li>[[C++]]</li>
<li>[[Python]]</li>
<li>[[Język wysokiego poziomu]]</li>
<li>[[C (język programowania)]]</li>
<li>[[Java]]</li>
<li>[[SQL]]</li>
</ul>
}}


 
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.
 
 
'''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 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 33: Linia 15:
* Sperry Rand
* Sperry Rand
* Sylvania Electric Products
* Sylvania Electric Products
<google>t</google>
'''Trzy agendy rządu (Stany Zjednoczone)'''
'''Trzy agendy rządu (Stany Zjednoczone)'''
* Siły Powietrzne Stanów Zjednoczonych
* Siły Powietrzne Stanów Zjednoczonych
Linia 46: Linia 27:
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" ==
<google>n</google>


==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
* kolejki
* kolejki
* stosy
* 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 <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
* zatrudnianie programistów, którzy opanowali zaangażowane technologie
* zatrudnianie programistów, którzy opanowali zaangażowane technologie
Linia 65: Linia 44:
[[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 76: Linia 55:
* 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)
* A-Z (26-tylko duże litery)  
* A-Z (26-tylko duże litery)
* - (Znak minus lub myślnik)  
* - (Znak minus lub myślnik)
* + (Znak plus)  
* + (Znak plus)
* * (Gwiazdka)  
* * (Gwiazdka)
* / (Slash)  
* / (Slash)
* 0 = (znak równości)  
* 0 = (znak równości)
* $ (Znak waluty)  
* $ (Znak waluty)
*, (Przecinek)  
* , (Przecinek)
* ; (średnik)  
* ; (średnik)
*. (kropka)  
* . (kropka)
* " (Cudzysłów)  
* " (Cudzysłów)
* ((Lewy nawias)  
* ((Lewy nawias)
*) (Prawy nawias)  
*) (Prawy nawias)
* > (Znak większości)  
* > (Znak większości)
* < (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.


== 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 110: Linia 89:
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).
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 ==
{{infobox5|list1={{i5link|a=[[COBOL (język programowania)]]}} &mdash; {{i5link|a=[[BASIC]]}} &mdash; {{i5link|a=[[Baza NoSQL]]}} &mdash; {{i5link|a=[[C++]]}} &mdash; {{i5link|a=[[Python]]}} &mdash; {{i5link|a=[[Język wysokiego poziomu]]}} &mdash; {{i5link|a=[[C (język programowania)]]}} &mdash; {{i5link|a=[[Java]]}} &mdash; {{i5link|a=[[SQL]]}} }}
* 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
==Przypisy==
* COBOL Programming, M.K.Roy & Ghosh Dastidar, Tata McGraw Hill, 2nd Edition,1998
<references />
* 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
* Rodriguez J. M. (red.) (2013). ''[https://www.researchgate.net/publication/235977730_Bottom-up_and_top-down_COBOL_system_migration_to_Web_Services_An_experience_report Bottom-up and top-down COBOL system migration to Web Services: An experience report]'', "IEEE [[Internet]] Computing", nr. 2
* Cosentino V. (red.) (2013). ''[https://hal.inria.fr/hal-00869235/document Extracting Business Rules from COBOL: A Model-Based Framework]'', HAL, Koblenz


== Przypis ==
==Bibliografia==
<references/>
<noautolinks>
* Cosentino V., Cabot J., Albert P., Bauquel P., Perronnet J. (2013), ''[https://hal.inria.fr/hal-00869235/document Extracting Business Rules from COBOL: A Model-Based Framework]'', Working Conference on Reverse Engineering, Koblenz
* Coughlan M. (2014), ''Beginning COBOL for Programmers'', Apress
* Rodriguez J. (red.) (2013), ''Bottom-up and top-down COBOL system migration to Web Services: An experience report'', IEEE Internet Computing, nr 2
* Roy M., Dastidar G. (1998), ''COBOL Programming'', Tata McGraw Hill
</noautolinks>


{{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.}}

Aktualna wersja na dzień 19:09, 18 sty 2024

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.

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 [1]

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 [2]

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 [3]

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)[4]

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.

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


Cobolartykuły polecane
COBOL (język programowania)BASICBaza NoSQLC++PythonJęzyk wysokiego poziomuC (język programowania)JavaSQL

Przypisy

  1. V. Cosentino 2013, s. 1
  2. M. Coughlan 2014, s. 1
  3. J., M. Rodriguez 2013, s. 46
  4. COBOL Programming, M.K.Roy & Ghosh Dastidar, Tata McGraw Hill, 2nd Edition,1998, s. 39

Bibliografia

  • Cosentino V., Cabot J., Albert P., Bauquel P., Perronnet J. (2013), Extracting Business Rules from COBOL: A Model-Based Framework, Working Conference on Reverse Engineering, Koblenz
  • Coughlan M. (2014), Beginning COBOL for Programmers, Apress
  • Rodriguez J. (red.) (2013), Bottom-up and top-down COBOL system migration to Web Services: An experience report, IEEE Internet Computing, nr 2
  • Roy M., Dastidar G. (1998), COBOL Programming, Tata McGraw Hill


Autor: Paula Wasil, Jakub Michalik