Freie Java-Implementierung
Eine freie Java-Implementierung ist eine Implementierung der Java-Plattform als freie Software.
Geschichte
Mit der Java-Technik als wichtiger Software-Plattform (siehe Java-Plattform), auf der auch zahlreiche freie Software aufbaut, wurden die lange Zeit zur Ausführung notwendigen unfreien Implementierungen der Programmiersprache Java als ethisch problematische Lücke im Freie-Software-Ökosystem gesehen – Richard Stallman und die Free Software Foundation (FSF) sprachen von der „Java-Falle“.[1] Daher bestand das Bedürfnis nach freien Java-Implementierungen, deren Umsetzung mit hoher Priorität von der FSF verfolgt wurde und Dinge wie die freie Implementierung der Standardklassenbibliotheken GNU Classpath und den GNU Compiler for Java (GCJ), der auch den GNU Interpreter for Java (GIJ) enthält, hervorbrachten.
Als vielleicht erste freie Implementierung wesentlicher Teile der Java-Plattform ist der Java-Compiler guavac zu nennen, der noch vor November 1995 begonnen wurde.[2][3] 2005 sollte mit Harmony versucht werden, die Entwicklungsbemühungen um freie Java-Implementierungen in einem Projekt zu vereinigen. Obwohl der große Schulterschluss nicht gelang, lebt das Projekt unter dem Dach der Apache Software Foundation weiter und hat eine vollständige Implementierung hervorgebracht.
Mit der Veröffentlichung der offiziellen Implementierungen durch den Hersteller Sun Microsystems im Jahr 2006 löste sich diese Situation nach einigen kleineren Hürden endgültig auf und wurde die Familie freier Java-Implementierungen sowie die Freie-Software-Welt insgesamt durch ein großes und wichtiges Paket Software ergänzt.
Als freie Java-Implementierungen sind daraus OpenJDK als Nachfolger des Java Development Kit (JDK) und viele weitere Bestandteile hervorgegangen. Wichtige Zweige der OpenJDK-Entwicklung waren bzw. sind auch immer noch die Versionen des IcedTea-Projektes. Außer diesen gibt es noch Kaffe, die nun als besonders schlanke, schnelle alternative Laufzeitumgebung weiterexistiert, die selber wiederum in Java geschriebene Jikes RVM, die extrem kleine JamVM, das für Mono entwickelte IKVM.NET und das für das Betriebssystem Bluebottle geschriebene Jaos.
Spezialisierte Implementierungen
Weiterhin gibt es noch eine Vielzahl spezialisierter Implementierungen.
Für tragbare Geräte gibt es SuperWaba, Squawk und die Dalvik Virtual Machine von Android, Mysaifu JVM als die einzige aktiv weiterentwickelte freie Java-SE-kompatible JVM für PocketPC. Für spezielle Hardware-Plattformen gibt es für Atmel-AVR-ATmega8-Mikrocontroller die NanoVM, leJOS für Lego Mindstorms und Wonka VM und deren Nachfolgerin Mika VM für eingebettete Geräte.
CACAO unterstützt etliche Plattformen, wobei es mit seinen durch JIT-Kompilierung schnellen Ausführungsgeschwindigkeiten wohl auf einigen die schnellste verfügbare Java-Implementierung darstellt.
Weiterhin existieren auch Betriebssysteme, die in Java programmiert wurden, wie z. B. JX oder JNode.
Siehe auch
- Java Optimized Processor, eine Hardware-Implementierung
Quellen
- ↑ Frei, aber gefesselt – Die Java-Falle
- ↑ Änderungsprotokoll des guavac-Compilers (Seite nicht mehr abrufbar, festgestellt im April 2018. Suche im Internet Archive) ( Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.)
- ↑ Announcing: guavac 0.2.5 ( vom 14. August 2009 im Internet Archive) – Ankündigung der Veröffentlichung von Version 0.2.5 von guavac, abgerufen am 15. April 2024.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.