Newsgroup: it.comp.programmare.win32
Titolo: i linguaggi di .NET

Ho finalmente avuto l'elenco completo dei linguaggi di programmazione
che supporteranno .NET alla prima release, secondo gli annunci di varie
aziende alla PDC teste` conclusa.
Microsoft, in Visual Studio .NET, includera`: C#, Visual Basic, Visual
C++, Visual FoxPro, JScript, SQL (?), e *non* Java.  VBScript come
tale pare non esistera` piu`, "riassorbito" da Visual Basic (di cui era un
subset).
Java compatibile con l'architettura .NET e` invece stato annunciato dalla
Rational Software.
Altre aziende hanno gia` annunciato versioni per .NET dei seguenti
linguaggi:
Ada, APL, Cobol, Eiffel, Haskell, Mercury, ML, Oberon, Pascal, Perl,
Python, Scheme, Smalltalk.  Mi sembra che ci sara` dunque una discreta
liberta` di scelta!-)
Ricordo che "compatibile con .NET" significa la possibilita` di compilare
in EXE o DLL con il formato IL, che offre varie possibilita` (una EXE o
DLL potra` ad esempio "impacchettarne" al suo interno varie altre; puo`
esservi sia "bytecode", eseguito dal runtime di .IL, sia codice nativo; e`
comunque presente un tot di "meta-dati" che descrivono accuratamente
e compiutamente tutto cio` che la EXE o DLL "offre all'esterno" e/o
_richiede_ dall'esterno, ecc, ecc).
Qualsiasi linguaggio .NET-compliant puo` descrivere classi le quali
ereditano (e possono a sua volta essere ereditate, a meno che non sia
invece specificamente richiesto che cio` sia bloccato) da altre classi
che a loro volta possono essere scritte in qualsiasi altro linguaggio. E
inoltre, naturalmente, *usare* questi oggetti, comprese in particolare
le Common Runtime Libraries e il resto del ".NET Framework" (che
offre i tipici servizi di un framework generale, come WFC, VCL, o
MFC, piu` quelli relativi alla programmazione distribuita in Web che
da` il nome a tutta l'iniziativa .NET: SOAP, Web Services, ASP+...).
Ovviamente, per linguaggi come Cobol questo ha richiesto (alla Fujitsu,
l'azienda che ha annunciato il Cobol per .NET) delle estensioni, per
alcuni (come Eiffel, di cui e` stato annunciato il "dialetto" Eiffel#; ma
Bertran Meyer, l'inventore e guru di Eiffel, e` fra gli autori di esso)
delle restrizioni (Eiffel# non supporta la _covarianza_, tipica di Eiffel
ma non inquadrabile nello schema .NET).  Purtroppo, non di tutti i
linguaggi suddetti ho molto dettagli, ma due paper su Eiffel# e
Cobol .NET specificamente sono gia` sull'MSDN in linea; il sito di
ActiveState, che supporta Perl e Python, ha invece ancora pochi
dettagli tecnici; di piu` ha raccontato Mark Hammond, il guru di
Python su Win32, in un post su comp.lang.python.
E` presto per dirlo (alla PDC e` stata distribuita una PRE-beta; la
beta vera e propria verra`, ben che vada, fra due mesi; e la versione
"prodotto" di Visual Studio .NET, probabilmente a gennaio), ma
sembra un vigoroso tentativo di "alzare l'asticella" della prassi di
programmazione.  Ad esempio, un esperto di Visual FoxPro (ciao
EMG!-) dovrebbe potere continuare ad impostare le proprie
applicazioni su quel linguaggio/ambiente, ma con la possibilita`
di integrarvi "senza visibili linee di frattura" classi scritte in C++
per eventuali calcoli intensivi o accessi al sistema a bassissimo
livello, e altre classi in Python dove al contrario dovesse far
comodo la totale fluidita` e flessibilita` che gli e` cosi` tipica; il
tutto dallo stesso ambiente integrato di sviluppo, usando per tutti
gli stessi runtime, con l'identico debugger e l'edit-and-continue
per tutti.  Un "salto quantistico" di comodita`, se non altro.
E forse (chissa`) sara` facilissimo garantire che la stessa identica
applicazione sia accessibile da Web, oppure localmente, con al
massimo qualche ritocco alla GUI; "WebForms" e "WinForms"
dovrebbero offrire funzioni analoghe [le WinForms certo daranno
qualcosa in piu`, immagino] con look diverso [per le WebForms
senza dubbio dipendera` anche dal browser in gioco: chi visita
quelle pagine con Lynx difficilmente vedra` le stesse cose di chi
le visita con IE5.5:-)].  A quest'ultima prospettiva ci credo sino
a un certo punto, soprattutto a breve-medio termine.  Comunque,
si sa, chi vivra`, vedra`...!
Alex

 Alex
Sembra veramente interessante!
Dove posso trovare maggiori informazioni su .NET?
Gerolamo



 Dove posso trovare maggiori informazioni su .NET?
Trovi un riassunto della Microsoft a:
http://www.microsoft.com/presspass/features/2000/jul00/07-11.netframework.as
p
compresi parecchi link ad altre pagine Microsoft in merito.
I link (sempre MS) piu` tecnici li trovi da:
http://msdn.microsoft.com/net/
Non mancano in web, ovviamente, i rapporti indipendenti.  Ad esempio:
http://www.byte.com/feature/BYT20000714S0003
ma ce ne sono anche molti altri, ovviamente.
Alex
Alex


Ok
Ma l'aspetto che mi pareva (per me) più interessante era quello di poter
compilare in un .exe codice scritto in linguaggi diversi. Non mi sembra che
sul sito Microsoft si parli di questo, quanto di applicazioni pensate per la
rete...
Ho capito male io?
Un'altra cosa.
Nell' articolo di John Ruley c'è scritto che  " So, it looks like the .NET
framework is really an environment where you can use any language except
Java!", mentre tu affermavi il contrario. Da che parte sta la ragione?
Grazie per le info
Gerolamo