Newsgroup: it.lavoro.informatica
Titolo: I numeri sono chiari

COBOL vendor Micro Focus claims:
 
     COBOL supports 90 percent of Fortune 500 business systems every day
     70 percent of all critical business logic and data is written in COBOL
     COBOL powers 85 percent of all daily business transactions processed
     $2 trillion worth of mainframe applications in corporations are 
written in COBOL
     1.5 million new lines of COBOL code are written every day
     5 billion lines of new COBOL code are developed every year
     The total investment in COBOL technologies, staff and hardware is 
estimated at $5 trillion
     An estimated 2 million people are currently working in COBOL
 
- See more at: 
http://simplicity.laserfiche.com/content/looking-job-hows-your-cobol#sthash.KAo7MXaT.dpuf
 
 
-- 
(..) la rivoluzione non è un pranzo di gala, non è una festa letteraria, 
non è un disegno o un ricamo; non si può
fare con tanta eleganza, con tanta serenità e delicatezza, con tanta 
grazia e cortesia. La rivoluzione è un atto
di violenza, è l'azione implacabile di una classe che abbatte il potere 
di un'altra classe. (Mao Tze-tung)


Allora, diciamo che in 50 anni siano state sviluppate 250 miliardi di 
righe di codice. Facile 5*50=250.
Se sono costate 2000 miliardi di dollari, significa che 2000/250=8 
dollari a riga.
Il tuo programma Fibonacci, di 78 righe, costa quindi 78*8=624 dollari.
Questo dato mi lascia perplesso. Se e' tutto vero, capisco perche' la 
gente non voglia piu' investire in cobol: se un programma del cazzo puo' 
arrivare a costare quella cifra, val la pena di fare un pensierino.
 
Oppure i dati esposti sono affetti da un certo grado di fantasia.
 
Dice anche che tutti i giorni vengono scritte 1.5 milioni di righe, e 
che queste righe sono state scritte da 2 milioni di persone. 0.75 righe 
a testa al giorno? Ecco perche' i programmi in cobol costano tanto!
 
Oppure i dati esposti sono affetti da un certo grado di fantasia.
 
Poi c'e' il dilemma "written" vs. "developed". 1.5*365=547.5 cifra ben 
lontana dai 5000 dichiarati, anche considerando i programmatori 24*7 
festività incluse come ho fatto.
 
Anche in questo caso, o i dati esposti sono affetti da un certo grado di 
fantasia, o "developed" significa qualcos'altro, ma l'articolo non lo 
spiega.
 
Verifichiamo. Allora 2m di programmatori "develop" 5000m righe di codice 
all'anno. Quindi 2500 righe "developed" all'anno a testa. Che fanno 6.8 
righe "developed" a testa al giorno.
A questo punto il dato certo e' che ogni giorno un programmatore cobol:
- "write" 0.75 righe di codice
- "develop" 6.8 righe di codice
 
Ammesso che un programmatore cobol guadagni un "6 figure salary", come 
si dice nel citato link, stando nel sicuro la cifra minima con 6 cifre 
e' 100000. Quindi 100000/365=273.9 dollari al giorno (a meno di ferie 
festivita' e week-end), 273/0.75=365.3 dollari a riga.
 
Ma non erano 8 dollari a riga "written"? Quindi sono le righe 
"developed" a costare. Togliamo i 6 dollari per le 0.75 righe scritte e 
scopriamo che una riga "developed" costa 267/6.8=39.2 dollari.
 
Non sappiamo ancora cosa significhi riga "developed", ma sappiamo che 
costa 5 volte una riga "written", il che' non giustifica perche' ad un 
programmatore cobol sia richiesto di star basso con le righe "written" a 
favore di righe "developed" che costano molto di piu'.
 
Quindi?
Ho il sospetto che i dati esposti provengano da un esperimento Montecarlo.
 

 a testa al giorno? Ecco perche' i programmi in cobol costano tanto!
 
C'è da dire che la produttività in ambiente mainframe puro (editor su mainframe, compilatore su mainframe, ecc.) e' certamente parecchio più bassa che su sistemi più moderni.
Quanto al costo, se tieni in conto anche quello dell'hardware e software di sistema, e magari uno stipendio mediamente più alto, ecco che non sorprende troppo se alla fine il programmino ti costa 600 dollari.

>>>>  
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........


Ne ho tenuto conto. Ovviamente basandomi sui dati pubblicati in 
quell'articolo, dove il costo dell'hw ed annessi sono esposti in una 
voce separata. Considerando anche quelli, il costo del programmino 
sarebbe quasi tre volte tanto.
Comunque, la ragione del mio dibattere non era quella del calcolo, che 
e' stato un puro divertissement, ma una critica al metodo di esporre 
cifre, non corredate da quegli elementi minimi di valutazione, che alla 
fine possono dimostrare l'esatto contrario di quanto avesse in mente il 
nostro beota.
 

      1.5 million new lines of COBOL code are written every day
 
E ti credo. Per fare Fibonacci hai bisogno di 200 righe contro le
 5 di python. 
 
P.s. pure la shell bash ha le variabili "local", e pure con bash
 Fibonacci 
si fa in 10 righe :) 
 
 
-- 

 si fa in 10 righe :)
 
Meglio Scheme, 4 righe e c'hai pure la versione ottimizzata per tail-call (dal sito Rosettacode):
 
(define (fib n)
  (let loop ((a 0) (b 1) (n n))
    (if (= n 0) a
        (loop b (+ a b) (- n 1)))))