Newsgroup: it.comp.java
Titolo: [OT?]programmazione orientata agli aspetti?

Salve a tutti , ho letto oggi sulla rivista Sette
del Corriere della Sera , un articolo sulle dieci idee
che cambieranno il mondo .C'era una notizia sul software
dal titolo: Cambia software con un dito.
<Poveri ingegneri del software !Con la semplice
pressione di un tasto , i loro programmi ci consentono
di apportare modifiche globali in un testo anche lunghissimo
mentre loro devono spesso corregere il lavoro una riga alla volta.
ma una solouzione c'è e si chiama " programmazione orientata agli
aspetti".Proposta da Gregor Kiczales , ricercatore della Xerox
e professore all'Università della Columbia Britannica, è una
tecnica che consentirà ai programmatori di usare le stesse
scorciatoie adottate dalgi utenti".
L'introduzione nei linguaggi della nuova categoria degli
"aspetti",infatti,consente di scrivere, vedere e corregere
ogni problema come un'entità distinta.Quando il programmatore
ne è soddisfatto , preme un tasto per inserirla in tutti i punti
del codice dov'è richiesto.Chi ha già adottato AspectJ( la creatura
di Kiczales)per programmare in Java lo ha fatto con notevole
risparmio di tempo e a un livello di progettazione superiore.>
Di cosa si tratta ? Che vor di!
Grazie a tutti
Ciao Roberto

 Ciao Roberto
Grazie a te: questo si che e' un thread interessante!
ciao
P.S. ma non ti sfugge niente? Sei un giornalista o un programmatore? :)
uL

Io ho provato AspectJ due anni e mezzo fa, e non era malvagia come idea: putrtoppo non ho
avuto poi tempo di approfondire causa partenza per Roma per un progetto critico.
Per quel che mi ricordo (sempre vecchio di 2 anni :-D), in pratica ci si concentra sulla
creazione di comportamenti (aspetti) che vengono poi vengono combinati insieme per creare
i veri e propri oggetti. Alla luce dell'esperienza che ho fatto negli ultimi tempi, pero',
non mi sembra una cosa solo positiva, in quanto alla fin fine crea degli "oggettoni" che
fanno un sacco di cose, tornando quindi ad evidenziare gli stessi problemi di OO (quando
usata male).
Comunque, ora scartabello e poi daro' altro feedback.
Ciao,
    Bruno.


|
| Bruno Bossola
| A Java Software Engineer :-)
| 
http://bbruno.fasturl.it
|
| 
http://members.xoom.it/bbruno
| 
http://digilander.iol.it/bbossola
|

>Poveri ingegneri del software !
Già... ho l'impressione che molti ingegneri siano convinti che la scienza si
sia fermata il giorno che si sono laureati...
Qualcuno conosce già libri che introducono questa tecnologia?
Ciao
Luigi

 Di cosa si tratta ? Che vor di
C'e' stato un thread poco tempo fa su it.scienza.informatica.software-eng
-- 
Life's something u don't get out alive..
ObjectZone - 
http://space.tin.it/computer/csadun

 della OOP
In effetti, piu' che estensione di OOP/COP, e' un'integrazione. Per
definizione, gli aspects sono cose difficili da modellare con oggetti
(piu' precisamente, che modellate con oggetti introducono eccessiva
rigidita'). 
Peraltro AspectJ (che - giova dire - e' solo *un* prototipo di estension
AOP di Java) e' proprio carino. Anche se la learning curve non e' proprio
minima per il programmatore medio (ma molto dipende da chi gli fa il
tutoring) - e la relativa (im)maturita' del prodotto mi ha fatto decidere
al momento di evitarne l'introduzione sul larga scala, mi sento di
sbilanciarmi: e' _decisamente_ qualcosa con cui giocare; ne ricevo
"vibrazioni" simili a quelle che Java mi dava nel '95, in altre parole ho
la sensazione che *sia* qualosa di grosso, e non solo una moda
passeggera. 


 
PS: intendo AOP, non necessariamente AspectJ.


 passeggera. 
e' la stessa sensazione che ho io. Non saprei spiegare esattamente perche', ma
mi sembra qualcoisa di importante.
Io pero' ero dalla parte di Betamax invece che VHS, Atari 800 invece che
Commodore 64, e nel 95 pensavo che Java fosse inutile, quindi storicamente non
e' che ci azzecchi proprio tanto :)
uL
-- 
Posted from 
hebrides.eu.sun.com
 [192.18.240.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 [...]
Il mio perche' e' che al momento sto cercando il modo di far si' che il
comportamento del framwork che produciamo sia diverso in fase di sviluppo
che in fase di esecuzione, e avere aspects avrebbe aiutato assai :-) 


 uL
Per mia sfortuna non sono un programmatore , ma vorrei diventarlo.
non mi sfugge nulla? , no, solo che mi piace leggere , giornali , riviste
e leggendo trovi un'pò di tutto.Cosi si riesce a conoscere cose nuove
magari anche utili.Ho letto quell'articolo e mi sono detto , proviamo
a chiedere al NG , se ne sanno qualche cosa, ... infatti.
Tu hai un a homepage da visitare?
Magari c'è qualcuno che vuol proporre dei casi di studio
che possano interessare i neofiti del java?
proporre esercizi , percorsi di studio?
Grazie a te per le risposte
Ciao Roberto

 
per cosi' poco... ciao.
uL

Di cosa si tratta ? Che vor di!
Visto che non sono ancora stati postati dei riferimenti ufficiali, lo
faccio io :
http://www.research.ibm.com/hyperspace/Papers/index.htm
- Paper sul concetto di separation of concerns (sul quale si basa
l'AOP) e la tecnologia Hyperspaces di IBM
http://www.parc.xerox.com/csl/groups/sda/
- Che dire? Da dove e' partito tutto
http://aosd.net/
- Tematiche riguardanti l'AOP e in particolare lo sviluppo del
software considerando gli "aspects" come entita' del dominio.
Secondo il mio modestissimo parere (o programmillato qualche cosa
usando AspectJ), questa estensione dell'OOP e' un grosso passo avanti,
in quanto si supera la rigidita' della classica programmazione ad
oggetti con tipizzazione statica, e nel contempo questa estensione non
e' del tutto "selvaggia" come lo e' la tipizzazione dinamica.
I JoinPoints consentono di raggruppare aspetti comuni di tipi diversi,
e questo dinamicamente! Fantastico, e' una tipizzazione dinamica, che
identifica gli aspetti dell'architettura, basata su una tipizzazione
statica. Inoltre e' un mezzo mooolto efficace per rafforzare il design
by contract, perche' oltre che a formalizzarlo (con un costrutto
dell'estensione del linguaggio, e non con artifici), si possono anche
identificare insiemi di contratti simili, formalizzarli con un modello
di comportamento, e applicare questo modello a tutte le entita' che
partecipano ad un contratto di quel tipo.
Avrete gia' capito che la cosa mi piace molto, e la approfondiro', se
scopro qualcosa di interessante vi faccio sapere
Ciao
[}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{]
SunGray aka Gabriele Lana  
www.sungray.com
contact me @ : 
sun...@tiscalinet.it
[}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{]

software considerando gli "aspects" come entita' del dominio.
Dimenticavo un WorkShop tenuto sull'argomento (sono scaricabili tutti
i paper della conferenza)
http://www.comp.lancs.ac.uk/computing/users/marash/aopws2001/
good work!


 > [CUT]
.. .cose interessanti , sicuramente verrò a fare un giro .
Avverti sul NG quando sarà attiva la tua iniziativa
sul sito della SUN.
Ciao  e grazie
Roberto

 ha scritto nel messaggio
news:3BFEDB28...@flashnet.it...


 Fattibile ?
Piu' o meno...!
Comunque per questo tipo di domande (corsi,percorsi di formazione,
ecc.), scrivimi pure in privato (
ugo.l...@sun.com
).
ciao
uL