Newsgroup: it.lavoro.informatica
Titolo: ROTFL! Incredibile

Andiamo a vedere quali sono le novità su cui Oracle sta lavorando, 
partendo dal Java Devolopment Kit 9 (kit di sviluppo rilasciato da 
Oracle) dove si lavora per rendere Java Virtual Machine 
hypervisor-aware; modifiche ancora più evidenti sono in discussione per 
JDK 10: rendere il linguaggio Java orientato agli oggetti.
 
ROTFL! rendere il linguaggio Java orientato agli oggetti.
ROTFL! rendere il linguaggio Java orientato agli oggetti.
ROTFL! rendere il linguaggio Java orientato agli oggetti.
ROTFL! rendere il linguaggio Java orientato agli oggetti.
ROTFL! rendere il linguaggio Java orientato agli oggetti.
ROTFL! rendere il linguaggio Java orientato agli oggetti.
ROTFL! rendere il linguaggio Java orientato agli oggetti.
 
 
 
-- 
Quando la dittatura è un dato di fatto, la rivoluzione diventa un diritto.
(Victor Hugo)


 
Dove hai letto questa notizia visto che mi risulta che java sia già nato 
orientato agli oggetti.
 

 orientato agli oggetti.
 
Si riferisce ai lavori per dotare il linguaggio di uno unified type system (vedi "A Unified Type System for Object-Oriented Programming" di Palsberg).
 
Che Java (o qualunque altro linguaggio) sia "object-oriented" o meno dipende dal modello di calcolo preso di volta in volta come base della discussione. 
Altrimenti non è informatica ma marketing e chiacchiere dal parrucchiere.


 
 
Se si discute su int,long,ecc.. allora non sono linguaggi ad oggetti ?
 
 

 Se si discute su int,long,ecc.. allora non sono linguaggi ad oggetti ?
 
Come e` stato detto, "ad oggetti" significa tutto e niente. Ognuno ha una propria visione di cosa "ad oggetti" dovrebbe significare. Lo stesso Alan Kay, ritenuto il padre della OOP, dissente sul C++ come implementazione delle sue idee.
 

 Come e` stato detto, "ad oggetti" significa tutto e niente. Ognuno ha una propria visione di cosa "ad oggetti" dovrebbe significare. Lo stesso Alan Kay, ritenuto il padre della OOP, dissente sul C++ come implementazione delle sue idee.
 
"I made up the term 'object-oriented', and I can tell you I didn't have C++ in mind"
 
deve essere una mazzata terribile per enoquick.

 deve essere una mazzata terribile per enoquick.
 
E non solo per lui. Personalmente, faccio fatica a seguire le evoluzioni 
del C++. Non fai a tempo ad aggiornarti su C++11 e C++14 che arrivano le 
novita` di C++17. Dopo anni in cui lo standard era praticamente fermo, 
stanno dando nuova linfa al linguaggio, ma e` dura stargli dietro. Credo 
che ogni linguaggio, alcuni piu`, alcuni meno, si sia allontanato 
dall'idea originale della OOP. Sembra un destino comune a molte idee nel 
software. Kay non guarda ai sistemi oo di oggi come una realizzazione 
delle sue idee, Codd lamentava lo scollamento tra il suo modello 
relazionale e le varie implementazioni RDBMS, come chi ha fondato 
l'"Agile Manifesto" lamenta l'aver reso "Agile" un marchio commerciale 
ed aver perso di vista gli intenti originari...
 
-- 
4ndre4
"The use of COBOL cripples the mind; its teaching should, therefore, be 
regarded as a criminal offense." (E. Dijkstra)
"Ora, questo "Delta11" non è nulla di più di uno scemo del villaggio" - 
http://tinyurl.com/z6y6gpd
 


Per  niente.
C++ è spaghetti code,procedurale,object oriented e generic programming.
E questo non è un limite ma una flessibilità che ben pochi linguaggi hanno.
 


concordo!



Si ma Alan Kay (hai presente?) dice che il paradigma object oriented portato avanti dal c++ non e' quello che aveva in mente lui. 
 
Tu che opinione hai nel merito?

 delle sue idee
 
E' anche vero che Kay critica un po' tutto e che ritiene che l'informatica si sia fermata agli anni 80, nel senso che tutto quello che esiste oggi piu' o meno era stato inventato prima (specialmente allo xerox parc). 
 
Quindi critica il web (ma non internet), l'html, i browser (uh, forse AleTV e' Alan Kay?), e persino la JVM.
 
Ovviamente le sue argomentazioni, per quanto opinabili, sono solide (ma non serviva dirlo penso).


Che Stroutput ha pensato il C++ con due punti in mente,la compatibilità 
con il C e l'efficienza del codice.
Poi non so cosa Alan Key intendesse con questo,se sai qualcosa di 
specifico spiega meglio.
Che cosa non andrebbe secondo Alan Key in C++ ?
 
 

 Che cosa non andrebbe secondo Alan Key in C++ ?
 
Lascia stare. Ti avevo chiesto un opinione su quanto dice Alan Kay, ma se non sai  neanche chi e' (si scrive Kay non Key) e' perfettamente inutile domandartelo.


Il nome non mi è nuovo,ma non so cosa abbia dichiarato in questo caso.
Se tu o qualcuno potesse spiegarmelo allora potrei farmi una opinione.
 
 


 
Ma guarda un po,ogni tanto ti fai vivo.
Cosa intendevi per java che non è OO ?
E non era il C,oltre al COBOL, il must in fatto di linguaggi?
 

 linguaggi ad oggetti
 
Il punto focale sono le definizioni di questi concetti. Nient'altro.

 forse AleTV e' Alan Kay?
 
Ne dubito: Alan Kay e` un genio, il trevigiano/televisivo solo un idiota.


 Che Stroutput [...]
 
Stroutput chi sarebbe, il fratello di Strinput? Manco i nomi, sai.
Si chiama Bjarne Stroustrup.


 Ne dubito: Alan Kay e` un genio, il trevigiano/televisivo solo un idiota.
 
Veramente manco io sapevo chi fosse. Mica si può conoscere tutto!
In ogni caso, mi son letto lui personalmente, qui:
 
http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en
 
 
e devo dire che secondo me, nel concentrarsi sulla comunicazione tra oggetti piuttosto che sugli oggetti stessi, di scarso interesse, butta a mare tutto quello che è l'OOP attuale (non solo il C++). Non so, vero che io sono un modesto artigiano di provincia, ma non credo si possa negare, anche da parte del prof. Kay, che la OOP non-come-la-intendeva-lui ha portato grandi benefici.
 
-- 
Ciao!
Luca
 

 Si chiama Bjarne Stroustrup.
 
Temo fosse una battuta...
Se così, il mio "Biarne Sturmtruppen" era molto, ma molto meglio! 
 
-- 
Ciao!
Luca

 Il nome non mi è nuovo,ma non so cosa abbia dichiarato in questo caso.
 
Quando gli e` stato chiesto cosa intendesse per "object-oriented" 
(termine che lui ha coniato negli anni '60), ha risposto: "OOP to me 
means only messaging, local retention and protection and hiding of 
state-process, and extreme late-binding of all things. It can be done in 
Smalltalk and in LISP. There are possibly other systems in which this is 
possible, but I'm not aware of them."
 
Questa risposta l'ha data nel 2003, quando buona parte dei linguaggi di 
oggi gia` esisteva, per cui e` ovvio che non stava pensando ne` a C++ 
(lo ha detto esplicitamente: "I invented the term object-oriented, and I 
can tell you that C++ wasn't what I had in mind"), ne` a Java, ne` a 
Python, ne`, probabilmente, a nessun altro dei linguaggi OO mainstream 
di oggi.
 
C'e` da dire che Java e` piu` aderente di C++ all'idea di OO di Kay 
perche` implementa quello che lui chiama "extreme late binding", non ha 
ereditarieta` multipla, e possiede classi che mappano i tipi primitivi. 
Tuttavia, quando parla di "dispatch dinamico" sta guardando a Common 
Lisp / Smalltalk piu` che a Java.
 
Anche Luca Cardelli (Microsoft Research) si e` espresso negativamente 
nei confronti del C++: "Smalltalk was originally intended as a language 
that would be easy to learn. C++ is based on a fairly simple model, 
inherited from Simula, but is otherwise daunting in the complexity of 
its many features. Somewhere along the line something went wrong; what 
started as economical and uniform ("everything is an object") ended up 
as a baroque collection of class varieties. Java represents a healthy 
reaction to the complexity trend, but is more complex than many people 
realize."


 e devo dire che secondo me, nel concentrarsi sulla comunicazione tra oggetti
 > piuttosto che sugli oggetti stessi, di scarso interesse, butta a mare 
tutto q
 > quello che è l'OOP attuale (non solo il C++). Non so, vero che io 
sono un
 > modesto artigiano di provincia, ma non credo si possa negare, anche 
da parte
 > del prof. Kay, che la OOP non-come-la-intendeva-lui ha portato grandi 
benefici.
 
Probabilmente, pero`, se avessero seguito certi principi dettati da 
cervelli importanti e capaci come Kay, i risultati sarebbero stati 
ancora migliori. Prendiamo il C++: e` innegabile che non nasca dalla 
volonta` di realizzare un linguaggio object-oriented, ma di fornire 
certi costrutti (classi) al C. I compromessi col C, in C++, sono tanti e 
Stroustrup ha ammesso di aver commesso degli errori. Ad esempio, a 
posteriori, ha ammesso che la keyword "protected" non e` una buona idea: 
"Members declared protected are far more open to abuse than members 
declared private. In particular, declaring data members protected is 
usually a design error. Placing significant amounts of data in a common 
class for all derived classes to use leaves that data open to 
corruption. Worse, protected data, like public data, cannot easily be 
restructured because there is no good way of finding every use. Thus, 
protected data becomes a software maintenance problem."
A dire il vero, io sarei persino contrario ad usare le keyword private, 
public, protected, e affidarsi solo a delle convenzioni (come in Python 
o in JavaScript).
 
Comunque, Kay non butta affatto a mare la OO per come e` stata 
realizzata. Esprime solo un parere su cosa, per lui, OO dovrebbe 
significare:
 
1. Tutto e` un oggetto;
2. Gli oggetti comunicano tra loro mediante metodi (quel che lui chiama 
'messaggi', attingendo da SmallTalk);
3. Gli oggetti incorporano altri ogetti come stato;
4. Ogni oggetto e` istanza di una classe;
5. Una class e` l'espressione del comportamento di un oggetto.
6. Le classi appartengono a gerarchie single-rooted.
 
Buona parte di questi concetti e` implementata dai linguaggi OO. Le 
critiche principali da parte di certi teorici come Kay o Cardelli 
riguardano l'oggettiva complessita` di certi linguaggi. E` indubbio che 
vi sia stata una sovraingegnerizzazione di certi linguaggi. Del C++, per 
esempio, non si trova ancora UNA che sia UNA implementazione conforme 
con lo standard ISO. E` semplicemente troppo complesso da implementare 
in tutti i suoi aspetti. La programmazione template, poi, col C++, puo` 
dare dei bei mal di testa, in certi casi.



E tutto perché non conosci niente di sql?
Brutta l'invidia eh, caro il mio esperto in twister versione schiaccia 
merde.
 

 E tutto perché non conosci niente di sql?
 
Ha ha ha... guarda, avendo passato quasi 20 anni a scrivere montagne di 
codice PL/SQL, T-SQL, PSQL, SQL Embedded in Pro*C, piu altri 5/6 altri 
dialetti, direi che la merda (come sempre, peraltro), l'hai pestata tu. 
Non preoccuparti, esistono creme per il rossore da calci in culo come il 
tuo. Ora finisci dritto nel kill-file, pero` :) perche` di leggere 
ulteriormente le tue stronzate non ho proprio voglia. Salutami Delta11 ;)


>> hanno.
 
Credo che tu sia l'unico a vedere nello "spaghetti code" un indice di 
flessibilita` di un linguaggio...



Oh, colpito e affondato...
Nel frattempo tra un volo dalla finestra e l'altro tieni sottomano un 
vocabolario della lingua italiana e ripassa il significato delle parole.
 


 
lo spaghetti code ci toglie dai coglioni quelli come te, le teste di 
cazzo come te, saccenti e presuntuosi che NON SANNO LAVORARE.
Lunga vitta allo spaghetti code!



 
 
Ma guarda un po,il nostro amico non sa che sta nel killfile e quindi a 
me di lui non arriva niente se non in modo indiretto ?
Ma lui insiste a rispondermi,contento lui,il tempo è suo.
A parte questo, lo spaghetti code è raramente usato da essere umani (un 
esempio sono una serie di cicli nidificati dove occorre uscire dal ciclo 
piu interno pur essendo una pratica che a me non piace) ma puo essere 
utile in alcuni generatori di sorgenti.
Se ricordo bene anche S. (l'inventore del C++) nella 4Ed. del suo libro 
accenna ai goto in questo modo.
Ma il punto focale del C++ è che non ha un paradigma di progettazione sw 
imposto dal linguaggio (come java ad esempio) ma ognuno può scegliere il 
paradigma che più gli aggrada in base al progetto e alle suo conoscenze 
del C++.
Tu hai detto bene,saccente e presuntuoso,ma sopratutto una persona 
irritabile che non sa dialogare con altri senza usare gli insulti.
Per questo sta nel killfile.
 

 Per questo sta nel killfile
 
Ed e` per questo che tu continui a rispondermi, no? :) idiota.


 Per questo sta nel killfile.
 
Ma non te la prendere, quello è tutta teoria e niente lavoro, quello non 
ha mai scritto una linea di CODICE FUNZIONANTE ED IN PRODUZIONE in vita 
sua. E' solo un IDIOTA, lascialo dire!
