Da Java a.NET: andata e... ritorno? Da Java a.NET: andata e... ritorno? Lorenzo Barbieri ObjectWay S.p.A. lorenzo.barbieri@objectway.it Lorenzo Barbieri

  • View
    215

  • Download
    2

Embed Size (px)

Text of Da Java a.NET: andata e... ritorno? Da Java a.NET: andata e... ritorno? Lorenzo Barbieri ObjectWay...

  • Slide 1
  • Da Java a.NET: andata e... ritorno? Da Java a.NET: andata e... ritorno? Lorenzo Barbieri ObjectWay S.p.A. lorenzo.barbieri@objectway.it Lorenzo Barbieri ObjectWay S.p.A. lorenzo.barbieri@objectway.it
  • Slide 2
  • SponsorSponsor
  • Slide 3
  • Me.About()Me.About() Sono un Senior Trainer/Consultant in ObjectWay SpA, specializzato in architetture Microsoft.NET, Windows, SQL Server, Visual Studio Team System, Virtual PC/Virtual ServerSono un Senior Trainer/Consultant in ObjectWay SpA, specializzato in architetture Microsoft.NET, Windows, SQL Server, Visual Studio Team System, Virtual PC/Virtual Server Collaboro con UGIdotNET e Windowserver.itCollaboro con UGIdotNET e Windowserver.it Ho scritto articoli per ioProgrammo, Dev, Network News.Ho scritto articoli per ioProgrammo, Dev, Network News. Ho scritto le guide su www.cramsession.com per vari esami di certificazione Microsoft.Ho scritto le guide su www.cramsession.com per vari esami di certificazione Microsoft.www.cramsession.com Sono specializzato sul Microsoft Solutions Framework, su cui ho scritto alcuni articoli e mantengo una lista di tutte le risorse disponibili.Sono specializzato sul Microsoft Solutions Framework, su cui ho scritto alcuni articoli e mantengo una lista di tutte le risorse disponibili. Sono un Senior Trainer/Consultant in ObjectWay SpA, specializzato in architetture Microsoft.NET, Windows, SQL Server, Visual Studio Team System, Virtual PC/Virtual ServerSono un Senior Trainer/Consultant in ObjectWay SpA, specializzato in architetture Microsoft.NET, Windows, SQL Server, Visual Studio Team System, Virtual PC/Virtual Server Collaboro con UGIdotNET e Windowserver.itCollaboro con UGIdotNET e Windowserver.it Ho scritto articoli per ioProgrammo, Dev, Network News.Ho scritto articoli per ioProgrammo, Dev, Network News. Ho scritto le guide su www.cramsession.com per vari esami di certificazione Microsoft.Ho scritto le guide su www.cramsession.com per vari esami di certificazione Microsoft.www.cramsession.com Sono specializzato sul Microsoft Solutions Framework, su cui ho scritto alcuni articoli e mantengo una lista di tutte le risorse disponibili.Sono specializzato sul Microsoft Solutions Framework, su cui ho scritto alcuni articoli e mantengo una lista di tutte le risorse disponibili.
  • Slide 4
  • Di cosa parleremo in questa sessione? In questa sessione parleremo di:In questa sessione parleremo di: Tecnologie e Prodotti appartenenti al Lato Oscuro In questa sessione parleremo di:In questa sessione parleremo di: Tecnologie e Prodotti appartenenti al Lato Oscuro Ambasciator pena non porta...
  • Slide 5
  • Di cosa parleremo in questa sessione? In questa sessione parleremo di:In questa sessione parleremo di: Architetture Java e.NET Java, J# e C#??? Migrazione da Java a.NET Riutilizzo in.NET di librerie Java Interoperabilit tra Java e.NET avanzata NON parleremo di Web Service, WSE, WCF/Indigo, WS-*NON parleremo di Web Service, WSE, WCF/Indigo, WS-* Pierre, domani 14:30 - 15:45 In questa sessione parleremo di:In questa sessione parleremo di: Architetture Java e.NET Java, J# e C#??? Migrazione da Java a.NET Riutilizzo in.NET di librerie Java Interoperabilit tra Java e.NET avanzata NON parleremo di Web Service, WSE, WCF/Indigo, WS-*NON parleremo di Web Service, WSE, WCF/Indigo, WS-* Pierre, domani 14:30 - 15:45
  • Slide 6
  • Architetture Java e.NET Non voglio annoiarvi con i soliti paragoni architetturali, o se nato prima luovo o la gallinaNon voglio annoiarvi con i soliti paragoni architetturali, o se nato prima luovo o la gallina Java e.NET hanno architetture molto simili, con una storia molto simile, come mostrato ad esempio da David Chappell qualche anno fa: http://se.math.spbu.ru/Seminars/Chappell/ Chappell.pptJava e.NET hanno architetture molto simili, con una storia molto simile, come mostrato ad esempio da David Chappell qualche anno fa: http://se.math.spbu.ru/Seminars/Chappell/ Chappell.ppt http://se.math.spbu.ru/Seminars/Chappell/ Chappell.ppt http://se.math.spbu.ru/Seminars/Chappell/ Chappell.ppt Non voglio annoiarvi con i soliti paragoni architetturali, o se nato prima luovo o la gallinaNon voglio annoiarvi con i soliti paragoni architetturali, o se nato prima luovo o la gallina Java e.NET hanno architetture molto simili, con una storia molto simile, come mostrato ad esempio da David Chappell qualche anno fa: http://se.math.spbu.ru/Seminars/Chappell/ Chappell.pptJava e.NET hanno architetture molto simili, con una storia molto simile, come mostrato ad esempio da David Chappell qualche anno fa: http://se.math.spbu.ru/Seminars/Chappell/ Chappell.ppt http://se.math.spbu.ru/Seminars/Chappell/ Chappell.ppt http://se.math.spbu.ru/Seminars/Chappell/ Chappell.ppt
  • Slide 7
  • Tecnologie corrispondenti http://www.c-sharpcorner.com/Code/2003/March/J2EEtoDotNet.asphttp://www.c-sharpcorner.com/Code/2003/March/J2EEtoDotNet.asphttp://www.c-sharpcorner.com/Code/2003/March/J2EEtoDotNet.asp Naturalmente il fatto che le tecnologie coprano le stesse aree, non vuol dire che siano la stessa cosa...Naturalmente il fatto che le tecnologie coprano le stesse aree, non vuol dire che siano la stessa cosa... http://www.c-sharpcorner.com/Code/2003/March/J2EEtoDotNet.asphttp://www.c-sharpcorner.com/Code/2003/March/J2EEtoDotNet.asphttp://www.c-sharpcorner.com/Code/2003/March/J2EEtoDotNet.asp Naturalmente il fatto che le tecnologie coprano le stesse aree, non vuol dire che siano la stessa cosa...Naturalmente il fatto che le tecnologie coprano le stesse aree, non vuol dire che siano la stessa cosa...
  • Slide 8
  • Java, J# e C# Java, J# e C# sono tutti linguaggi appartenenti alla famiglia del CJava, J# e C# sono tutti linguaggi appartenenti alla famiglia del C J# la versione per piattaforma.NET del linguaggio JavaJ# la versione per piattaforma.NET del linguaggio Java Supporta sia le librerie.NET, sia (in parte) quelle Java (1.1.4 pi qualcosaltro...) Utile perch permette il porting da J++ C# e Java hanno una sintassi molto simileC# e Java hanno una sintassi molto simile Java, J# e C# sono tutti linguaggi appartenenti alla famiglia del CJava, J# e C# sono tutti linguaggi appartenenti alla famiglia del C J# la versione per piattaforma.NET del linguaggio JavaJ# la versione per piattaforma.NET del linguaggio Java Supporta sia le librerie.NET, sia (in parte) quelle Java (1.1.4 pi qualcosaltro...) Utile perch permette il porting da J++ C# e Java hanno una sintassi molto simileC# e Java hanno una sintassi molto simile
  • Slide 9
  • Similitudini tra Java e C# Sintassi simil-CSintassi simil-C Ereditariet singolaEreditariet singola Gestione automatica delle risorse (Garbage Collection)Gestione automatica delle risorse (Garbage Collection) Stringhe immutabiliStringhe immutabili ReflectionReflection SerializzazioneSerializzazione anche se i meccanismi sono diversi Etc...Etc... Sintassi simil-CSintassi simil-C Ereditariet singolaEreditariet singola Gestione automatica delle risorse (Garbage Collection)Gestione automatica delle risorse (Garbage Collection) Stringhe immutabiliStringhe immutabili ReflectionReflection SerializzazioneSerializzazione anche se i meccanismi sono diversi Etc...Etc...
  • Slide 10
  • Differenze tra Java e C# Classi Nested - In Java ci sono due tipi di classi nested:Classi Nested - In Java ci sono due tipi di classi nested: Inner classes (non esistono in C#) Static nested classes (equivalenti alle nested classes di C#) Access modifiersAccess modifiers In Java protected equivalente ad internal in C# C# ha protected e internal protected in pi. In Java il default protected (internal in C#), in C# private Classi Nested - In Java ci sono due tipi di classi nested:Classi Nested - In Java ci sono due tipi di classi nested: Inner classes (non esistono in C#) Static nested classes (equivalenti alle nested classes di C#) Access modifiersAccess modifiers In Java protected equivalente ad internal in C# C# ha protected e internal protected in pi. In Java il default protected (internal in C#), in C# private
  • Slide 11
  • Differenze tra Java e C# Java non ha il concetto di StructJava non ha il concetto di Struct In Java le eccezioni vanno dichiarate e trappate esplicitamente (Checked Exceptions) e fanno parte della firma del metodoIn Java le eccezioni vanno dichiarate e trappate esplicitamente (Checked Exceptions) e fanno parte della firma del metodo Costanti (final in Java, const o readonly a seconda dei casi in C#)Costanti (final in Java, const o readonly a seconda dei casi in C#) Le sequenze di inizializzazione dei costuttori, finalizzatori, etc... non sono identiche.Le sequenze di inizializzazione dei costuttori, finalizzatori, etc... non sono identiche. Java non ha il concetto di StructJava non ha il concetto di Struct In Java le eccezioni vanno dichiarate e trappate esplicitamente (Checked Exceptions) e fanno parte della firma del metodoIn Java le eccezioni vanno dichiarate e trappate esplicitamente (Checked Exceptions) e fanno parte della firma del metodo Costanti (final in Java, const o readonly a seconda dei casi in C#)Costanti (final in Java, const o readonly a seconda dei casi in C#) Le sequenze di inizializzazione dei costuttori, finalizzatori, etc... non sono identiche.Le sequenze di inizializzazione dei costuttori, finalizzatori, etc... non sono identiche.
  • Slide 12
  • Novit di Java 5.0 gi presenti in C# Boxing/Unboxing dei tipi valueBoxing/Unboxing dei tipi value EnumEnum ForeachForeach Attributi (solo come Metadati)Attributi (solo come Metadati) Java 5.0 introduce i Generics che in C# appariranno nella 2.0Java 5.0 introduce i Generics che in C# appariranno nella 2.0 Non hanno la stessa implementazion