Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Perchè il COBOL fa male
PieroTofy.it Blog Blog sulla programmazione

03 Ottobre 2007

  Perchè il COBOL fa male

Immagine Perchè il COBOL fa male

Preciso intanto che questa è un'opinione personale e non vuole imporsi come fonte autorevole.

Comincio da quest'immagine, trovata con Google Images digitando "COBOL". Automaticamente nei primi risultati sono stato riportato ad una pagina dove nell'url si leggono le parole "old-computers" e "history": per chi non sapesse l'inglese significano rispettivamente "vecchi computer" e "storia".

http://www.old-computers.com/history/images/Timeline_0478_Cobol_1.jpg

Da un po' di giorni a causa della scuola sono dovuto entrare nel mondo di questo linguaggio che credevo fosse estinto da un bel po' di anni: COBOL, ovvero COmmon Business Oriented Language. In seguito a qualche ricerca ho scoperto che invece è ancora molto utilizzato soprattutto da grandi compagnie che - valutando troppo costoso un investimento per il porting dei loro programmi composti da milioni di righe di codice - continuano ad avere software codato in questo linguaggio all'interno dei loro computer.

Leggendo da un sito le possibili stime di porting, si è calcolato che in media vengono spesi 25 $ per ogni riga di codice COBOL tradotta. Moltiplicate un po' questa cifra per milioni di righe di sorgente, ed ecco il motivo per il quale queste compagnie preferiscono aspettare invece che aggiornarsi subito.

Ma fin qui andrebbe tutto bene.

Il punto è che questo linguaggio in alcune scuole come la mia, è ancora insegnato. E la cosa triste è che alcuni docenti sono convinti che:
1. COBOL è poi utile per imparare altri linguaggi moderni con meno difficoltà.
2. COBOL ha una "potentissima" gestione degli indexed files che in altri linguaggi non esiste.

Peccato che:
1. La sintassi del COBOL è un tentativo mal riuscito di inglesizzare un linguaggio di programmazione. La sua sintassi è lunga, dispersiva e poco flessibile. Figuratevi che non esistono neanche le variabili booleane. I cicli iterano al contrario di ogni altro linguaggio (ad esempio il while e do-while iterano per falso, quando ogni altro linguaggio nel mondo itera per vero). Senza contare che la versione più diffusa del COBOL non implementa il paradigma OOP, rendendolo decisamente inadatto per la didattica. In breve, il [u]COBOL porta all'uso di uno stile di programmazione che è "nocivo" per l'apprendimento[/u]. Passare ad un altro linguaggio dopo una lunga esposizione al COBOL non è una passeggiata.
2. Forse perchè nel frattempo il mondo si è svegliato in seguito alle parole di un qualcuno che un giorno ha detto "e se creassimo i database?", che implementano i loro algoritmi ottimizzati per inserire,modificare,eliminare,ecc. records, molto ma MOLTO più veloci del sistema di indexed files usato da COBOL.

Ma forse quando nuovi linguaggi come Java o C# venivano alla luce i nostri docenti erano ai servizi.

Postato da Piero Tofy alle 21:45 | Commenti ( 13 )

Aggiungi un commento

Inserisci il tuo commento qui
Esegui il login oppure registrati per inviare commenti
  • Benvenuto Cobol2, i ragazzi avevano già qualche difficoltà con un Cobol figurati che con due :-) .

    Comunque torno a dar man forte con un annuncio della Micro Focus e Microsoft di un mese fa (giugno 2012).

    http://www.techweekeurope.it/news/micro-focus-e-microsoft- ...

    ... (piattaforma .NET ovviamente) ... eheheh

    :-)


    .. mi scuso per l'assenza ma ... ho avuto da fare ...


    ;-)


  • salve, appoggio Cobol nell' invitare a non usarlo e non impararlo, lasciatelo a noi che "non abbiamo esperienza con tecnologie moderne" (come dice pierotofy).come dice netarrow è un mercato di nicchia, basta dare un'occhiata qui:http://www.zerounoweb.it/index.php?option=com_content& ...
    tanti anni fa mi sono sentito dire:  da giovani "esperti in tecnologie moderne", come pierotofy : "ma ancora cobol? tra poco non avrai più lavoro".Chissà come mai poi è successo che diversi di loro nel tempo si sono ritrovati senza lavoro, altri si sono barcamenati, mentre io e diversi altri cobolisti che conosco abbiamo tutt'oggi troppo lavoro ( e mediamente siamo anche meglio pagati ).
  • Nessuno dice che non c'e' lavoro per chi conosce questo linguaggio, si argomentava che e' un linguaggio datato. L'unica ragione per il quale viene ancora usato e' perche' e' troppo costoso riscrivere i software che sono stati costruiti al tempo.
  • Salve, sono COBOL il Signore dei linguaggi di alto livello ...
    A leggere quanto sopra, l'unica cosa sensata è la premessa ("la mia è un'opinione personale..."), il resto ... una serie di fesserie, probabilmente generate da una scarsa conoscenza del COBOL e di quanto ci gira attorno.

    Potrei ribattere i punti uno per uno ad esempio il ciclo do-while non è vero, che cicla per falso. E' invece vero che si può farlo ciclare come si vuole, ovvero fin quando viene soddistatta una condizione, addirittura si può anche decidere se la condizione dev'essere verificata all'inizio della routine (o del codice detto terra terra) oppure alla fine di essa ed il compilatore ubbidirà i tuoi comandi.

    Per quanto riguarda poi OOP (che poi si dice OO) siamo nell'ignoranza più tetra, mi sembra di ritornare ai tempi delle persecuzioni ai cristiani al solo leggere certe cose. E' chiaro che l'autore non conosce nessuno dei competior attuali che da tempo propongono le loro versioni del COBOL, OO prima, e COBOL .NET adesso ...

    Potrei dilungarmi, ma il mio tempo è denaro, e devo completare un Lavoro per un mio cliente che mi ha già pagato in anticipo ... ah, il Lavoro è una procedura in COBOL e OO !

    ...
    NON USATE IL COBOL E NON IMPARATELO ! LASCIATE A NOI VECCHI, QUESTI PROBLEMI ! 

    ;-)


  • Tipica risposta di una persona che evidentemente non ha abbastanza esperienza con tecnologie piu' moderne.
  • Meglio il caro buon vecchio C, visto che sulla sua sintassi si basano la maggioranza dei linguaggi, meglio imparare i fondamenti, piuttosto che PHP, linguaggio di scripting, o Deplhi, basato su Pascal.
  • il problema principale del cobol era la memorizzazione delle date che ha causato il millennium bug.. adesso per risolvere l'inghippo, evitando che 50 anni programmi in cobol andassero a farsi friggere, hanno ampliato lo spazio per l'anno a 4 cifre. cio' significa che il 31 dicembre del 9999, qualcosa come 10000 anni di programmi scritti in cobol cesseranno contemporaneamente di funzionare... :)
  • condivido in pieno a me costringono a studiare il pasacal :S ma sarebbe molto meglio studiare delphi o php o se propio vogliono andare in dietro nel tempo il c :D
  • lol basic è messo peggio, molto peggio.
    Programmi scritti in cobol da mantenere esistono ancora, di basic è forti dubbi.

    Una situazione simile potrebbe averla il Fortran che non è cmq sparito del tutto
  • per me lo stesso discorso vale per il basic...
  • Eheh, fra la mia recensione sul fascicolo di testo, la sezione cobol del forum e questo intervento al blog è evidente che siamo schierati come community contro questo scempio :-)

    Per carità, come dice piero, il cobol qualcuno ancora lo userà, e ci sono aziende che vendono compilatori e ambienti e grosse cifre per questo linguaggio... però è un mercato di nicchia, è come dire "Non vi facciamo inglese, vi facciamo il maori perchè qualche azienda ha rapporti in questa lingua"

    Per capire cmq quanto di nicchia è questo cobol basta pensare che la gran parte dei libri aggiornati alla versione .NET (tirata per i capelli) sono già obsoleti e irreperibili...
  • Piero quoto in pieno, il COBOL ormai è passato da anni ma si continua ad insegnare con forza anche se esistono linguaggi più moderni e funzionali...
  • Se si vuole insegnare un linguaggio con "anni di esperienza" si insegna il C. Punto. Questo linguaggio mi sembra un indecenza, come insegnare un linguaggio obsoleto e che neanche riesce ad agire a basso livello per essere tenuto in vita utile quale il Pascal (come nella mia scuola).