GCJ - un'implementazione Java indipendente
GCJ è il compilatore GNU per Java prodotto sotto l'egida della Free Software Foundation. La Free Software Foundation ha lavorato su un sistema operativo completo simile a Unix, chiamato GNU - GNU's Not Unix, dal 1983. Il software GNU è anche ampiamente utilizzato da Linux per fornire librerie e comandi di sistema. Mentre Java è stato liberamente disponibile da Sun Microsystems sin dalla sua nascita nel 1995, non è stato fino alla metà del 2007 che Sun ha reso disponibile la maggior parte del loro software Java come software libero, nel senso che la Free Software Foundation e molti programmatori e utenti di computer significare. Sebbene fosse gratuito, la licenza includeva una serie di restrizioni su come utilizzarla. In particolare, non è possibile modificare il codice sorgente in base alle proprie esigenze e ridistribuirlo liberamente. GCJ è stato creato per fornire un'implementazione totalmente gratuita di Java. Con la maggior parte di Java ora coperta da una licenza gratuita e open source, alcune persone potrebbero credere che non sia necessario un progetto come GCJ. Tuttavia, credo che man mano che Java matura, sforzi come questo sono ancora più importanti. Per prima cosa, GCJ include strumenti che consentono ai programmatori di combinare facilmente codice C ++ e codice Java, il che semplifica l'uso delle librerie esistenti in entrambe le lingue. Inoltre, se il linguaggio Java viene mai sottoposto al processo degli standard ANSI o ISO, come molte altre lingue, è importante disporre di più implementazioni. Progetti come GCJ offrono anche alle persone interessate l'opportunità di esplorare in profondità come viene implementato Java. Per me, il motivo principale per usare GCJ è usare progetti che dipendono da esso - generalmente perché hanno usato CNI per estendere Java con metodi scritti in C ++ o per usare metodi Java come classi C ++. Puoi trovare un elenco di alcuni di questi progetti qui.

Puoi ottenere GCJ come parte della GNU Complier Collection, GCC. La homepage di GCJ è disponibile all'indirizzo //gcc.gnu.org/java/index.html.