J# linguaggio di programmazione | |
---|---|
Autore | Microsoft |
Data di origine | 2002 |
Ultima versione | 2.0, 18 maggio 2007 |
Utilizzo | General purpose |
Paradigmi | Multi-Paradigma |
Tipizzazione | Forte |
Influenzato da | Java, Visual J++ |
Implementazione di riferimento | |
Implementazione | .NET Framework |
Sistema operativo | Microsoft Windows |
Sito web | msdn.microsoft.com/it-it/vstudio/bb188593 |
Il J# (pronunciato "J sharp") è un linguaggio di programmazione nato espressamente per consentire ai programmatori Java (della Sun Microsystems) ed ai programmatori Visual J++ (della Microsoft) di utilizzare le proprie conoscenze esistenti nella migrazione verso i linguaggi della piattaforma .NET. Come il J++, anche il J# supporta solo una parte delle funzionalità di Java.
Se si vuole eseguire codice Java scritto per piattaforma Java su piattaforma .NET si può ricorrere a IKVM. Infatti, mentre J# implementa una sintassi Java compatibile col .NET framework, IKVM rende il framework Java totalmente eseguibile in ambiente .NET framework.
Nel gennaio 2007, Microsoft ha annunciato che produrrà una versione aggiornata di J# 2.0, tra cui una versione ridistribuibile per 64 bit, chiamata J# 2.0 Second Edition al fine soddisfare la domanda dei clienti per il supporto Run-time, la quale venne rilasciata nel maggio seguente.
Microsoft ha deciso di non procedere oltre nello sviluppo del linguaggio, nonostante ciò continuerà a supportare J# e la tecnologia JLCA (Java Language Conversion Assistant) fino al 2015.
Il linguaggio è ormai fuori dal supporto mainstream, gli ultimi ad avere il supporto sono stati i residenti negli Stati Uniti, i quali hanno ricevuto il supporto extra fino al 2017.
Principali differenze fra J# e Java
[modifica | modifica wikitesto]J# e Java usano sintassi molto simili, ma le API utilizzate dai due linguaggi sono diverse. Un esempio è la classe FileOutputStream
che, invece di accettare come parametro un riferimento ad un oggetto File
come in Java, in J# accetta un oggetto String
contenente il percorso completo del file.
J# non riesce però a compilare un codice sorgente Java in bytecode (file .class), inoltre non supporta lo sviluppo di applet e la possibilità di ospitarle in un browser web, nonostante disponga del supporto Microsoft J# Browser Controls per l'hosting di ActiveX.
InfoWorld ha detto: "L'interfaccia di J# è solida, ma non così perfetta come quella di C#: in particolare J# non può definire nuovi attributi .NET, gli eventi, i tipi di valore, o delegati J# può fare uso di questi costrutti se sono definiti in un assembly scritto in un altro linguaggio, ma la sua incapacità di definirne di nuovi limiti la portata e l'interoperabilità di J# rispetto ad altri linguaggi .NET".[1]
Note
[modifica | modifica wikitesto]- ^ (EN) Tom Yager, Just don't call J# Java, su InfoWorld, 21 novembre 2001. URL consultato il 20 luglio 2020.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) IKVM Home page, su ikvm.net. URL consultato il 5 novembre 2005 (archiviato dall'url originale il 5 maggio 2012).
Controllo di autorità | LCCN (EN) sh2003001262 · J9U (EN, HE) 987007537459705171 |
---|