Newsgroup: it.lavoro.informatica
Titolo: Notare

0       *> DATE-WRITTEN: October 14, 1971                              **
31       *>                                                             **
32       *>***************************************************************
33       *>  DATE  CHANGE DESCRIPTION                                   **
34       *> ====== ==================================================== **
35       *> GC1071 Initial coding - Univac Dept. of Defense COBOL ’68   **
36       *> GC0577 Converted to Univac ASCII COBOL (ACOB) - COBOL ’74   **
37       *> GC1182 Converted to Univac UTS4000 COBOL - COBOL ’74 w/     **
38       *>        SCREEN SECTION enhancements                          **
39       *> GC0883 Converted to Honeywell/Bull COBOL - COBOL ’74        **
40       *> GC0983 Converted to IBM VS COBOL - COBOL ’74                **
41       *> GC0887 Converted to IBM VS COBOL II - COBOL ’85             **
42       *> GC1294 Converted to Micro Focus COBOL V3.0 - COBOL ’85 w/   **
43       *>        extensions                                           **
44       *> GC0703 Converted to Unisys Universal Compiling System (UCS) **
45       *>        COBOL (UCOB) - COBOL ’85                             **
46       *> GC1204 Converted to Unisys Object COBOL (OCOB) - COBOL 2002 **
47       *> GC0609 Converted to OpenCOBOL 1.1 - COBOL ’85 w/ some COBOL **
48       *>        2002 features                                        **
49       *> GC0410 Enhanced to make 2nd argument (buffer length)
 
-- 
(..) 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)


 
Alla faccia degli std con tutti questi converted
 


non parlare di cose che non conosci, i converted sono stati necessari 
per cambio hw o nuova versione cobol. Ma il converted vuol dire 
ricompilazione nella maggior parte di casi.


Il 24/09/2015 05.46, enoquick ha scritto:

ma poi le date sei stato capace di leggerle?
raccontami delle evolutive di java....ROTFL! vai a scopare il mare...vah!


 raccontami delle evolutive di java....ROTFL! vai a scopare il mare...vah!
 
Java ha 20 anni ed e` alla versione 8 (quasi 9).
Che altro vuoi sapere?
 
 


Semmai cambio OS da quanto leggo non hw
Comunque ripeto, alla faccia degli std
Ma se è stata solo una ricompilazione perchè metterlo i questa bella 
lista di commenti ?
E il COBOL io lo conosco.
 
 


Discutere civilmente non sei capace ?
Comunque qualche porting di java da 1.4 a 1.8 l' ho fatto e,purtroppo 
qualche modifica l' ho dovuta fare.
E poi perchè tiri fuori java ?
Il mio linguaggio è C++ non quel giocattolino chiamato java.
 

 ha scritto:

Dovrebbe sapere che è ora che impari il Java, anche se gli
fa tanta paura.
 
 
 

 Il mio linguaggio è C++ non quel giocattolino chiamato java.
 
Se Java è un "giocattolino", allora .Niet cos'è, un aborto di copia
di "giocattolino"?! X-D
 
 
 


Calma, non volevo offendere i javasti pur usandolo molto anche io stesso
L' ho chiamato cosi in quanto è un linguaggio con cui non ci si puo 
sporcare le mani ma fortemente controllato (nel bene e nel male)
 
 

 Calma, non volevo offendere i javasti pur usandolo molto anche io stesso
 
Bah. Io ho usato in passato molto C++, e mi ci sono divertito.
Ho usato molto Java, e mi ci sono divertito.
Ho usato parecchio assai C#, e mi ci sono divertito.
Ho usato parecchio Python, e mi ci sono divertito.
Alla fine, l'unico con cui davvero NON mi sono divertito è stato Visual 
Basic (non .NET).
 
Considerazione di Zio Luca. Se non hai limiti per cui il divertimento ti 
passa, ciascun linguaggio ha punti di forza tali per cui ti ci puoi 
divertire.
 
-- 
Ciao!
Luca
 
 

 qualche modifica l' ho dovuta fare.
 
Tipo?


Un webservice scritto in 1.4
 


Buon divertimento allora
 

 Un webservice scritto in 1.4
 
non ho capito, un ws in java 1.4 lo migri a java 8 e non vorresti fare
neanche "qualche modifica"?
vorresti migrare un ws a java 8 e continuare ad usare librerie tipo axis
di 15 anni fa?
 


Non intendo librerie (che comunque sono state aggiornate) ma qualche 
piccola cosa nel linguaggio in se stesso
Ad esempio enum è diventata una parola chiave e quindi è un errore 
dichiarare un oggetto che si chiama enum oppure un certa librerie di 
java (sql) con metodi astratti ampliati ed ereditando vanno  quindi 
implementati anche se non usati.
Piccole cosette cosi insomma.
 
 


 
Confesso i miei limiti, non ho capito il senso di questo post.
Mi dai qualche dritta?


la dritta è:
abbiamo sw che girano dal 1971 ....e squadra che vince , non si cambia!


 Non intendo librerie (che comunque sono state aggiornate) 
 
ma dai. java 1.4 non supporta le annotazioni quindi mi immagino quanto siano
aggiornati i web service. non aveva neanche le xml api.
ringrazia il cielo che ti riparta.

 Il mio linguaggio è C++ non quel giocattolino chiamato java.
 
Io conosco bene sia il C++ che Java, e posso affermare che hai appena detto una enorme stronzata. Non che mi meravigli.
 

 sporcare le mani ma fortemente controllato (nel bene e nel male)
 
LOL :) Che significa "sporcarsi le mani" per te? :) Io ho un paio di compilatori, in Java, uno per un vecchio linguaggio procedurale, ed uno per un linguaggio OO, e ci ho messo la meta` del tempo che ci avrei messo in C++.
Se solo la smettessi di scrivere cagate.
 

 LOL :) Che significa "sporcarsi le mani" per te? :) Io ho un
 > paio di compilatori, in Java, uno per un vecchio linguaggio
 > procedurale, ed uno per un linguaggio OO, e ci ho messo la meta`
 > del tempo che ci avrei messo in C++.
 
Credo, davvero, che se sei alla ricerca di 'velocità di sviluppo', 
Python abbia pochi uguali (non conosco Ruby, sia chiaro).
Poi, da un punto di vista 'velocità di esecuzione', anche C++ non 
scherza. Ho usato per un periodo QTCreator, e devo dirlo, si riesce a 
essere veloci senza perdere di efficacia.
 
Peraltro creda intenda 'sporcarsi le mani' al contrario di quel che hai 
scritto tu. Io sono stato costretto per un periodo a usare VB, ed è 
stato frustrante; allo stesso modo, ho giocato un po' con PHP, e ho 
deciso che con quella roba non voglio aver nulla a che fare.
 
-- 
Ciao!
Luca
 

 scritto tu. 
 
Manca uno "scritto", nel mio messaggio - si e` perso mentre digitavo: io ho "scritto" un paio di compilatori. E questo, per me, e` sufficiente a definire "sporcarsi le mani".
 
 

 Discutere civilmente non sei capace ?
 
è un troll. Vuoi discutere civilmente coi troll ?
 
-- 
Soprano


Personalmente non ho capito cosa ha a che fare  il divertimento.
Capisco che programmare puo essere divertente ma la mia considerazione 
era al fatto che comunque ognuno ha uno o piu linguaggi preferiti.
E java non è il mio.
Quindi se Delta voleva attaccarmi non doveva farlo su java ma su C,C++ e 
perl che sono i miei preferiti.
 
 

 era al fatto che comunque ognuno ha uno o piu linguaggi preferiti.
 
Ecco, qui forse c'entra il fatto che ho programmato con molta roba, e 
quindi non ho un 'linguaggio preferito'. Ho i linguaggi con cui 
preferisco non aver a che fare, ma è un'altra storia.
 
-- 
Ciao!
Luca
 
 
 


E che è, la disputa sui linguaggi adesso ?
Tranquillo che non ti tocco java,è un buon linguaggio e non metto il 
dubbio che ci hai messo la meta del tempo, non ho mai asserito il contrario.
Lo sporcarsi le mani era riferito alla possibilità di vicinza all' hw o 
l' uso dei puntatori o delle API dell' OS in modo diretto.
Tre cose che java non ha nel linguaggio ma occorre servirsi di un ponte, 
la JNI.
 


Va be,comunque sono riuscito a farlo funzionare con java8 anche se non 
ricordo tutte le modifiche fatte.
 


Ho spiegato le motivazioni.
 

 Ho usato linguaggi/sistemi, come Delphi,
 
Qui mi scorre una lacrimuccia. Ho usato TurboPascal e la primissima 
versione di Delphi, grossomodo un eone fa...
 
-- 
Ciao!
Luca
 


Lo so,cerco sempre di rinsavirlo
E' un conoscente di vecchia data.
 
 


 
Non è l' unico, anche C e Fortran sono ancora usati ed esistono sw 
abbastanza stagionati che girano ancora oggi.
 

 l' uso dei puntatori o delle API dell' OS in modo diretto.
 
L'uso dei puntatori non e` piu` una tecnica da usare in C++ da almeno 30 anni. 
Probabilmente tu sei uno dei tanti che usa C++ alla stregua del "C con classi". Hanno introdotto i reference (1983) e una libreria template che risolve gran parte dei problemi legati al passato. E per tutto il resto c'e` Boost. Le API del sistema operativo le usi in praticamente qualunque linguaggio, Java incluso (il fatto che tu debba usare JNI e` irrilevante).

 Ho spiegato le motivazioni.
 
Hai avvalorato l'enorme stronzata.


Adesso ti vuoi pure innalzare a giudizio di come uso i puntatori in C++ ?
Ma che ne sai.
E che ne sai come progetto in C++.
 


Non c'e di che
 

 E' un conoscente di vecchia data.
 
questa è una aggravante.
perché per rinsavirlo non te lo porti altrove?
 


Non sono io a portarlo qui, è maggiorenne e vaccinato.
 


Beh, io scrivo anche programmi Java fin dal '95. In genere hanno 
continuato a funzionare, ovviamente facendo le stesse cose, senza 
nessuna conversione/compilazione.
Ti posso anche garantire che l'evoluzione del Java nel corso della sua 
storia, e' stata molto piu' dinamica del COBOL nei soli primi 30 anni, 
almeno da quando lo conosco io: COBOL ANSI '71.
 


... e che hanno smesso nel 2002, ovvero quando la squadra e' andata in 
pensione.


Grazie al cazzo, hai cambiato la libreria axis, in questo caso il Java 
in se' non c'entra.


avevo scritto di piccole modifiche anche al codice non solo per il 
cambio dell' interfaccia di axis (qualcosa era cambiato).
 
 

 E che ne sai come progetto in C++.
 
Lo immagino come "progetti" in C++, a giudicare da quel che scrivi. 
Non e` che io "mi innalzi a giudizio" (?? semmai a "giudice") di come tu usi i puntatori in C++. E` che se vanti i puntatori come punto di forza del C++ stai toppando alla grande, dal momento che l'uso dei puntatori viene ampiamente scoraggiato da anni e anni, e da quelle stesse persone che hanno progettato il linguaggio. Ora, in tutta onesta`, io credo che tu sia uno dei tanti che usa il C++ come un C con classi. Siccome pero` non mi farai mai vedere un pezzo dei tuoi importantissimi progetti, questa restera` sempre e solo una mia convinzione.
 


però dovreste cominciare asmetterla di fare continuamente "acacdemia", 
il linguaggio è solo un mezzo per trattare dati.
Ma sapete cosa sono i dati?
 
-- 
(..) 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)

 Ma sapete cosa sono i dati?
Se proprio ti scappa diccelo. Tanto ormai...
 
 

 Ma sapete cosa sono i dati?
 
Svegliati. Siamo nel 2015.


Ad esempio per accedere alle api unix in modo diretto occorrono i puntatori.
Ecco un esempio a cui servono.
Ma la domanda è sempre la stessa,che ne sai di come progetto in C++ ?
E non credi che additare come punti di forza i puntatori non significa 
che li si usi in modo diretto se non nelle interfacce a basso livello e 
nel resto si usano gli shared_ptr,unique_ptr e weak_ptr ?
Ma questo non toglie che siano comunque un punto di forza, grazie ad 
essi si possono scrivere classi interessanti e le stesse classi 
shared_ptr,unique_ptr e weak_ptr internamente usano dei puntatori.
Come sarebbero state costruite se il linguaggio stesso non supportasse i 
puntatori ?
Poi avevi affermato che i puntatori in C++ non si usano da 30 anni, un 
falso clamoroso.
Le lib unique_ptr,shared_ptr e weak_ptr sono state standardizzate con il 
C++11 e anche se prima si usavano delle classi wrapper sui puntatori per 
comodità di gestione comunque i puntatori si useranno sempre per 
accedere ad interfacce C.
Certo che se in C++ ti fai un bel gestionale usando framework C++ 
difficilmente si useranno i puntatori in modo diretto ma il C++ non è 
solo per questo.
Poi se saltato ai reference che non vedo proprio che cosa hanno a che 
fare  con i puntatori visto che sono un altra cosa anche se a livello di 
linguaggio macchina vengono tradotti come puntatori.
Ripeto in modo che sia chiaro:
se accenno ai puntatori come punto di forza non significa che non 
conosco shared_ptr,unique_ptr ,weak_ptr ed i reference e non li usi.
 

 fare  con i puntatori 
 
Il tuo problema e` proprio questo.


 
 
 
Quale problema ?
I reference li hai tirati fuori tu, sempre nella tua presunta saccenzia 
nel trattare gli altri come dei poveri coglioni ignoranti.
 
 

> fare  con i puntatori
 
Lo metto qui, anche se non è una risposta a te ma a Eno. Un reference E' 
un puntatore, MA non ti è consentita tutta la gestione dell'aritmetica; 
e quindi, è stato declassato a un'etichetta da appicciccare a una 
variabile. Il concetto è stato estremizzato in Python: li TUTTI i nomi 
sono reference (e quindi non hai nemmeno il dubbio di cosa stai vedendo).
 
-- 
Ciao!
Luca
 

 Volevano solo complicare inutilmente la vita ai poveri programmatori ?
 
No, è che se progetti un linguaggio molto vicino all'Assembly ma più 
amichevole (tale era e alla fine è il C) non puoi fare differentemente.
 
Io normalmente uso C# e Python, e in entrambi non ci sono, ne se ne 
sente la necessità.
 
-- 
Ciao!
Luca
 


 
Anche altri linguaggi non hanno i puntatori o sono molto controllati o 
mascherati.
E' un altro discorso.
 
 

 E' un altro discorso.
 
No, vedi, è esattamente lo stesso, perché la domanda prima di usare uno 
strumento qualsiasi, sia esso un cacciavite o un linguaggio, è: che cosa 
ci devo fare?
 
Oggi, per risolvere il 99% delle esigenze, ci sono molti strumenti che 
rispetto a C++ hanno:
 
- una curva di apprendimento enormemente più breve;
- una quantità di documentazione enorme e a tutti i livelli;
- una comunità cui rivolgersi in caso di problemi enormemente più grande 
(*).
 
Allora, oggi, a meno di esigenze specifiche, esattamente perché si 
dovrebbe scegliere C++? Per i puntatori? Non è un buon motivo.
 
(*) Questo non necessariamente è un bene. Vedo sempre più spesso 
ragazzotti che, invece di sbatterci la testa e studiare il perché e il 
percome, si fiondano nei forum e: "Aiuto, non riesco a stampare 'Hello, 
world', ho provato così ma non funziona; cosa devo fare?".
 
-- 
Ciao!
Luca
 
 

 Chissà perchè li hanno inventati allora visto che non servono.
 
Perche` il C++ eredita dal C e, se tu avessi letto i libri di Stroustrup sulla progettazione ed evoluzione del C++ sapresti perche` hanno preservato certe caratteristiche. Non li hanno inventati in C++, li hanno inventati in C:
 
http://www.stroustrup.com/bs_faq2.html#pointers-and-references
 
 
I puntatori non sono mai stati pensati da Stroustrup come un "punto di forza" del linguaggio, ma solo come backward compatibility.
 
Studia un po'. Ti si aprira` la mente.

 stavi facendo e predisporre limiti entro cui muoverti.
 
Il problema è che errare è umano, anche se sai cosa fai. E con l'uso diretto dei puntatori ogni errore rischia di essere molto pesante, e difficile da capire.

 Mi sono formato sui testi di Eckel, Stroustrup, ... Lippman...
 
Questi sono i tre su cui mi son formato io, a suo tempo, in ordine 
inverso. Tra i tre, quello che ho amato di più è stato il Lippman, 
quello che mi ha soddisfatto meno l'Eckel.
 
Fine dell'amarcord... ;)
 
-- 
Ciao!
Luca
 

 E con l'uso diretto dei puntatori ogni errore rischia
 > di essere molto pesante, e difficile da capire.
 
Ma è proprio per quello che ritengo C++ superato almeno nel 90% degli 
ambiti applicativi. E pure nel restante 10% c'è da discutere.
 
Certo che se torno con la memoria ai vettori di interrupt che scrivevo 
in C sotto DOS (e coi puntatori!), una lacrimuccia mi scende... :-D
 
-- 
Ciao!
Luca

 ambiti applicativi.
 
Dipende che intendi per "ambito applicativo". Qui in Inghilterra c'e` ancora molta richiesta per sviluppatori C++, e di norma il salario offerto e` abbastanza alto.
 
 

 Dipende che intendi per "ambito applicativo".
 
La chiarifico con un esempio personale.
 
Molti anni fa ho scritto un supervisore per impianti in C++.
Oltre al resto, ho scritto anche un connettore che, sfruttando le 
librerie proprietarie (scritte in C++), consentiva al supervisore di 
parlare con inverter Hitachi.
Oggi DI SICURO il supervisore lo scriverei con altro linguaggio (volendo 
stare in ambito Windows, C#), e forse non ci sarebbe più nemmeno bisogno 
di usare C++ per il connettore, dato che probabilmente Hitachi mi 
fornirebbe librerie .NET.
 
Dove probabilmente serve ancora? a fare cose embedded, con processori 
ARM o robe simili.
Per dire, l'altr'anno ho revisionato una UI scritta in C++ con QTCreator 
- a proposito, ambiente molto bello - per aggiornare il colloquio con un 
backend scritto in Python; il tutto girava sotto Debian su uno schedino 
con processore ARM.
 
Mi aspetto che una persona che sa fare cosucce del genere, magari molto 
meglio di me, in effetti poi prenda più soldi della media.
 
-- 
Ciao!
Luca
 

 ARM o robe simili.
 
Stai parlando di C, non C++.
 


 
Io in QTCreator ho usato C++, non C.
NOTA: io non ho programmato a livello processore. Come spiegavo, sulla 
schedina, con processore ARM, ci gira un Debian.
 
-- 
Ciao!
Luca

 Io in QTCreator ho usato C++, non C.
 
Tu hai scritto "Dove probabilmente serve ancora? a fare cose embedded, con processori ARM o robe simili."
 
Dove il C++ serve ancora non e` "a fare cose embedded", ma in ambiti server-side. Per l'embedded, di norma, si usa il C.
 


 
Guarda che l'avevo scritto io qualche post fa (vatti a cercare dove 
parlo di microcontrollori e processori industriali).
Ciò non toglie che ci siano situazioni in cui si può usare C++; quella 
che ti ho raccontato è una.
Detto questo, l'ambito 'server side' è talmente ampio che ci si può 
usare un po' di tutto. Io 'server side' ho usato Python in modo 
profiquo. Suppongo, ma non ne ho esperienza diretta - per cui prendo 
buono quel che dici - che si usi anche il C++.
 
-- 
Ciao!
Luca
 

 usare un po' di tutto.
 
Non se serve avere un certo tipo di performance.
 


Non so. A 'sto punto son curioso io, perché proprio tu dicevi che certi 
linguaggi 'managed' riescono a essere performanti in modo analogo o 
anche più (e su questo mi trovi assolutamente d'accordo).
 
Quindi sono io a girare la tua domanda (e non con vis polemica, proprio 
per sapere): in quali ambiti specifici è assolutamente necessario C++?
 
-- 
Ciao!
Luca
 


 
Per iniziare ti consiglio "Effective	Modern	C++" di Scott Meyers anno 
2015, cosi puoi capire, oltre ad altre cose, anche gli universal 
reference (tanto per spararne una) e ad usare C++11/14 in modo moderno.
Esiste anche la traduzione italiana ma per un poliglotta come te sono 
sicuro che non sia necessaria.
 
 


 
Si invece,quando occorre accedere ad interfacce di livello C o assembler 
i puntatori servono; eccome.
E questo non è poco.
I games 3d non li fanno java ma in C++
Ambiti come automazione industriale o grossi progetti dove l' efficienza 
e la qualità servono C++ assieme ad Ada non hanno rivali.
Ed adesso verrà il solito trool a sparare le sue cazzate su Ada oppure 
che il suo linguaggio preferito non ha rivali o cose del genere.


 che il suo linguaggio preferito non ha rivali o cose del genere.
 
mi pare che ce l'abbiamo già.

 e la qualità servono C++ assieme ad Ada non hanno rivali.
 
Permettimi di non essere d'accordo. E sono un pochetto 'informato dei 
fatti' dato che in ambito industriale ci lavoro.
 
-- 
Ciao!
Luca

 2015, cosi puoi capire, oltre ad altre cose, anche gli universal 
 
Per iniziare, ti consiglio di tenerti i tuoi consigli per te. Non ho bisogno di consigli da uno come te. Quel libro, per tua informazione, e` sulla mia scrivania da mesi. Ti ho detto che i libri di Meyers li leggevo gia` 20 anni fa.
 
Il capitolo 4, "Smart Pointers", recita testualmente: 
"Raw pointers are powerful tools, to be sure, but decades of experience have demonstrated that with only the slightest lapse in concentration or discipline, these tools can turn on their ostensible masters. Surely we can do better.
Smart pointers are one way to address these issues. 1 Smart pointers are wrappers around raw pointers that act much like the raw pointers they wrap, but that avoid many of their pitfalls. You should therefore prefer smart pointers to raw pointers. Smart pointers can do virtually everything raw pointers can, but with far fewer opportunities for error."
 
Gli smart pointers sono, in sostanza, un male necessario, derivato dall'esistenza dei raw pointers, un male ancora piu` grande.


ma la smettete di fare accademia? perchè non iniziate a lavorare seriamente!
 
-- 
(..) 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)


Se non capisci, adeguati.

 ma la smettete di fare accademia? perchè non iniziate a lavorare seriamente!
 
Capisco che tutto cio` che non e` COBOL, per te e` accademia.
Non preoccuparti, per fortuna il mondo dell'informatica non ha piu` bisogno di te :)


I problemi dei pointers li conosciamo tutti (tranne Delta11 che resta 
con il COBOL anche se li hanno aggiunti anche li ma sono pochissimo usati).
 
 
 

 I problemi dei pointers li conosciamo tutti
 
E allora smetti di dire cagate.
 


 
 
Come non detto !!!

Rimani pure della tua idea.
Chiudo qui
 

 requisito essenziale sarebbe da criminali.
 
Eppure accade tutti i giorni. Anzi c'è un sacco di spazio per chi sa come affrontare quelle codebase e ha esperienza e strumenti adatti a migliorarle.


 
Ma no, solo un  po di sale.