Velmi pekny clanok, ale kedze COBOL pouzivam profesionalne, mam par poznamok k tomuto tvrdeniu autora: "V programovacím jazyku COBOL lze samozřejmě zapisovat i programové smyčky, ovšem tělo smyčky neobsahuje blok kódu, ale pouze volání nějaké procedury. Pro tento účel se používá fráze PERFORM"
Prikaz PERFORM sluzi na zavolanie procedury, t.j.
PERFORM moja-procedura
kde procedura sa nazyva v COBOLe paragraf a je deklarovana ako:
moja-procedura prikazy .
Dalej sa PERFORM pouziva aj na cykly, ktore v tele cyklu mozu obsahovat nielen volanie nejakej procedury, ale normalny blok prikazov, tak ako je to bezne v inych jazykoch -napr::
for-cyklus:
for(i=1; i<=n; i++) {
prikazy
}
je v COBOLe
perform varying i from 1 by 1 until i<=n prikazy end-perform
while cyklus:
while (!podmienka) {
prikazy
}
je v COBOLe:
perform with test before until podmienka prikazy end-perform
do-while cyklus:
do {
prikazy
} while (!podmienka)
je v COBOLe:
perform with test after until podmienka prikazy end-perform
Zaujimave, ze ste pracoval s RPG, ja pouzivam COBOL na IBM iSeries, kde kraluje prave jazyk RPG (= Report Program Generator). COBOL je oproti RPG uplne normalny a intuitivny jazyk. RPG je snad jediny programovaci jazyk, ktory som nechapal az kym som sa nezucastnil skolenia. Dovtedy mi to pripadalo horsie ako assembler. IBM pridava s kazdym novym releasom operacneho systemu OS/400 aka i5 OS nove featury prave do RPG. Najprv to bolo RPG III potom RPG IV a teraz je free form RPG. RPG je de facto systemovy jazyk na IBM iSeries.
Tak zase byvala AS/400 (teraz iSeries) je system, ktory je zvlastny sam o sebe. Uz som s nim dost dlho nerobil (naposledy asi pred 20 rokmi) ale co si spominam, tak nativne tam nebol ani filesystem, ten sa len emuloval kvoli vzdialenemu pristupu z ostatnych "normalnych" pocitacov. Ako nativne datove ulozisko sa pouzivala databaza.
Na druhej strane sprava systemu cez terminalove menu sa dala robit aj bez predchadzajucich skusenosti a prikazy mali jednotny format, napriklad WRKUSRPRF (work with user profile) bola editacia atributov uzivatela.