J sharp

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è J#.
J#
linguaggio di programmazione
AutoreMicrosoft
Data di origine2002
Ultima versione2.0, 18 maggio 2007
UtilizzoGeneral purpose
ParadigmiMulti-Paradigma
TipizzazioneForte
Influenzato daJava, Visual J++
Implementazione di riferimento
Implementazione.NET Framework
Sistema operativoMicrosoft Windows
Sito webmsdn.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]

  1. ^ (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 (ENsh2003001262 · J9U (ENHE987007537459705171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica