mboost-dp1
Cobol fylder 60
- Forside
- ⟨
- Forum
- ⟨
- Tagwall
#2
Jeg tror godt at man kan lave en automatisk oversættelse til andre sprog (der findes Cobol compilere til JVM og CLR og den byte code kan decompiles til Java og C#).
Men automatisk oversat kode er generelt ikke vedligeholdelses venligt og Cobol stil vil ikke passe godt med nyere sprog, så man vil nok komme fra asken i ilden med den tilgang.
Man kan også genskrive funktionaliteten fra bunden af i et andet sprog. Men:
* det koster penge - mange penge
* vil tage tid at få gjordt fejlfrit
* man har valget mellem at genskrive et moving target eller at stoppe al forretningsudvikling i et par år
Ikke specielt attraktivt.
Det sker nogle gange. Typisk som en del af et større "oprydnings" projekt.
Men de fleste vælger at beholde Cobol koden "as is" og tilføje ny funktionalitet i andre systemer og nyere sprog omnkring kerne systemet i Cobol.
Og Cobol kan godt gå hen og få 60 år mere.
Jeg tror godt at man kan lave en automatisk oversættelse til andre sprog (der findes Cobol compilere til JVM og CLR og den byte code kan decompiles til Java og C#).
Men automatisk oversat kode er generelt ikke vedligeholdelses venligt og Cobol stil vil ikke passe godt med nyere sprog, så man vil nok komme fra asken i ilden med den tilgang.
Man kan også genskrive funktionaliteten fra bunden af i et andet sprog. Men:
* det koster penge - mange penge
* vil tage tid at få gjordt fejlfrit
* man har valget mellem at genskrive et moving target eller at stoppe al forretningsudvikling i et par år
Ikke specielt attraktivt.
Det sker nogle gange. Typisk som en del af et større "oprydnings" projekt.
Men de fleste vælger at beholde Cobol koden "as is" og tilføje ny funktionalitet i andre systemer og nyere sprog omnkring kerne systemet i Cobol.
Og Cobol kan godt gå hen og få 60 år mere.
#4
Man kan.
Men der antages normalt at der er 200 millliarder linier Cobol (gammelt tal af tvivlsom oprindelse, men det er bedste estimat).
Der eksisterer formentligt kun automatiserede test til en meget lille del af funktionaliteten.
Dokumentationen er formentligt generelt ringe - noget mangler og noget er ikke uptodate - det er svært at undgå med software som er 30 eller 40 eller 50 år gammelt. Noget af den Cobol kode er fra før tekstbehandling.
Man kan.
Men der antages normalt at der er 200 millliarder linier Cobol (gammelt tal af tvivlsom oprindelse, men det er bedste estimat).
Der eksisterer formentligt kun automatiserede test til en meget lille del af funktionaliteten.
Dokumentationen er formentligt generelt ringe - noget mangler og noget er ikke uptodate - det er svært at undgå med software som er 30 eller 40 eller 50 år gammelt. Noget af den Cobol kode er fra før tekstbehandling.
Indbygget support for DB2?arne_v (6) skrev:Dagens quiz spørgsmål: hvad gjorde at Cobol blev anset for en oplagt mulighed for business backend application indtil langt op i 90'erne?
#11
Du mener embedded SQL.
Det at alle de store databaser understøtter embedded SQL i Cobol har uden tvivl hjulpet med at forlænge Cobols tid.
Men Cobol er meget ældre end relationelle databaser:
Cobol - 1959
Oracle DB - 1979
Informix - 1981
IBM DB2 - 1983
DEC RDB - 1984
Sybase - 1987
Du mener embedded SQL.
Det at alle de store databaser understøtter embedded SQL i Cobol har uden tvivl hjulpet med at forlænge Cobols tid.
Men Cobol er meget ældre end relationelle databaser:
Cobol - 1959
Oracle DB - 1979
Informix - 1981
IBM DB2 - 1983
DEC RDB - 1984
Sybase - 1987
#13
Jeg er ikke specielt kyndig i hverken Cobol eller mainframe, men det kan vist kun være embedded SQL.
Embedded SQL er iøvrigt ikke helt dumt.
Eksempel (C ikke Cobol!):
Man skriver bare sine SQL sætninger med prefix EXEC SQL.
Jeg er ikke specielt kyndig i hverken Cobol eller mainframe, men det kan vist kun være embedded SQL.
Embedded SQL er iøvrigt ikke helt dumt.
Eksempel (C ikke Cobol!):
void t1_put(int f1, char *f2)
{
EXEC SQL BEGIN DECLARE SECTION;
char insf2[51];
long int insf1;
EXEC SQL END DECLARE SECTION;
/* execute */
insf1 = f1;
strcpy(insf2, f2);
EXEC SQL INSERT INTO t1 VALUES(:insf1, :insf2);
if(sqlca.sqlcode != 0) sql_exit("insert");
/* check if OK */
if(sqlca.sqlerrd[2] != 1)
{
other_exit("INSERT did not insert 1 row");
}
}
Man skriver bare sine SQL sætninger med prefix EXEC SQL.
#6
Mine bedste bud:
1) Indbygget support for ISAM filer (per terminologi fra den gang, idag vil man kalde det en NoSQL key value store). Førend relationelle databaser var det jo nærmest en nødvendighed.
2) Indbygget support for fixed point data type. Som bekendt er der jo dødsstraf for at bruge floating point data typer til penge beløb.
Mine bedste bud:
1) Indbygget support for ISAM filer (per terminologi fra den gang, idag vil man kalde det en NoSQL key value store). Førend relationelle databaser var det jo nærmest en nødvendighed.
2) Indbygget support for fixed point data type. Som bekendt er der jo dødsstraf for at bruge floating point data typer til penge beløb.
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.