© andrea crisante/Shutterstock.com
Java Magazin
Manifold - Außerirdische Technik für die dynamische Erweiterung von Javas Typsystem

Nicht von dieser Welt

Manifold wirkt extraterrestrisch. Das Framework ermöglicht Entwicklern, das Typsystem von Java dynamisch und nahtlos zu erweitern. Wir untersuchen die neuartige Technik und beobachten, wie Manifold die Java-Entwicklung attraktiver und produktiver macht.

Scott McKinney


So futuristisch das „Einsatzprotokoll“ erscheint, es entspricht zu 100 Prozent den Tatsachen. Manifold ist als Open-Source-Projekt von Manifold Systems [1] verfügbar; ob es sich um eine rekonstruierte Alientechnologie handelt, muss noch geklärt werden. Sie können Manifold mit Ihrem neuen oder bestehenden Java-Projekt nutzen.

EinsatzprotokollEinsatzort: GEHEIMTermin: 24.11.17Uhrzeit: 22:15 UhrProgrammierer: GEHEIMSprache: JavaSoftware: IntelliJ IDEADetails zum Vorfall: Zielperson erstellt eine JSON-Datei, Person.json, als Java-Ressource im Paket com.abc. Die Zielperson begann sofort mit der Verwendung der JSON-Datei aus Java-Klassen im Projekt, als ob es sich bei ihr um eine Java-Klasse vom Typ com.abc.Person handele. Als die Zielperson Eigenschaften der JSON-Datei änderte und hinzufügte, wurden die Änderungen augenblicklich an anderer Stelle im Projekt per Codevervollständigung usw. verfügbar. Später führte die Zielperson einen Rename Refactor an der JSON-Datei durch, es erfolgte eine Umbenennung von Person zu Kontakt. Alle Referenzen zu Person wurden ohne Verzögerung in Kontakt abgeändert. Weiterhin führte die Zielperson mehrere Suchanfragen und Refactorings an den JSON Properties und -Typen durch, alle zeigten ein Verhalten, als wenn es sich bei JSON um Java handeln würde.Auffallend ist, dass es keine generierten Klassendateien auf der Festplatte gab, die mit der JSON-Datei korrespondierten, nachdem die Zielperson das Projekt kompiliert hatte – keine zusätzlichen Build-Schritte, keine Artefakte. Die Zielperson erstellte mehrere Tests für das Projekt und führte sie ohne Zwischenfälle durch. Die JVM schien die JSON-Datei als Java-Klassendatei zu verwenden. Es waren keine zusätzlichen Class Loader involviert, es wurden keine Runtime-Agenten verwendet. Nur eine einzige .jar-Datei im Klassenpfad kam zum Einsatz: manifold.jar.Es wurden ähnliche Ereignisse mit JavaScript-Dateien, Properties und verschiedenen anderen beobachtet. Die Technologie scheint mit jeder Art von Datenquelle kompatibel zu sein. Offenbar kann mit der Technologie das Typsystem von Java nach Belieben erweitert werden. Andere in jüngster Zeit beobachtete Zielpersonen führten andere absonderliche Aktivitäten durch. Extension Methods wurden wie in C# definiert, strukturelle Typisierung wurde wie in den Sprachen TypeScript und Go genutzt. Weitere Informationen folgen in Kürze.Fazit: Der Vorfall zeigt Technologie der nächsten Generation. Weitere Beobachtungen sind dringend empfohlen.

Fügen Sie d...

Java Magazin
Manifold - Außerirdische Technik für die dynamische Erweiterung von Javas Typsystem

Nicht von dieser Welt

Manifold wirkt extraterrestrisch. Das Framework ermöglicht Entwicklern, das Typsystem von Java dynamisch und nahtlos zu erweitern. Wir untersuchen die neuartige Technik und beobachten, wie Manifold die Java-Entwicklung attraktiver und produktiver macht.

Scott McKinney


So futuristisch das „Einsatzprotokoll“ erscheint, es entspricht zu 100 Prozent den Tatsachen. Manifold ist als Open-Source-Projekt von Manifold Systems [1] verfügbar; ob es sich um eine rekonstruierte Alientechnologie handelt, muss noch geklärt werden. Sie können Manifold mit Ihrem neuen oder bestehenden Java-Projekt nutzen.

EinsatzprotokollEinsatzort: GEHEIMTermin: 24.11.17Uhrzeit: 22:15 UhrProgrammierer: GEHEIMSprache: JavaSoftware: IntelliJ IDEADetails zum Vorfall: Zielperson erstellt eine JSON-Datei, Person.json, als Java-Ressource im Paket com.abc. Die Zielperson begann sofort mit der Verwendung der JSON-Datei aus Java-Klassen im Projekt, als ob es sich bei ihr um eine Java-Klasse vom Typ com.abc.Person handele. Als die Zielperson Eigenschaften der JSON-Datei änderte und hinzufügte, wurden die Änderungen augenblicklich an anderer Stelle im Projekt per Codevervollständigung usw. verfügbar. Später führte die Zielperson einen Rename Refactor an der JSON-Datei durch, es erfolgte eine Umbenennung von Person zu Kontakt. Alle Referenzen zu Person wurden ohne Verzögerung in Kontakt abgeändert. Weiterhin führte die Zielperson mehrere Suchanfragen und Refactorings an den JSON Properties und -Typen durch, alle zeigten ein Verhalten, als wenn es sich bei JSON um Java handeln würde.Auffallend ist, dass es keine generierten Klassendateien auf der Festplatte gab, die mit der JSON-Datei korrespondierten, nachdem die Zielperson das Projekt kompiliert hatte – keine zusätzlichen Build-Schritte, keine Artefakte. Die Zielperson erstellte mehrere Tests für das Projekt und führte sie ohne Zwischenfälle durch. Die JVM schien die JSON-Datei als Java-Klassendatei zu verwenden. Es waren keine zusätzlichen Class Loader involviert, es wurden keine Runtime-Agenten verwendet. Nur eine einzige .jar-Datei im Klassenpfad kam zum Einsatz: manifold.jar.Es wurden ähnliche Ereignisse mit JavaScript-Dateien, Properties und verschiedenen anderen beobachtet. Die Technologie scheint mit jeder Art von Datenquelle kompatibel zu sein. Offenbar kann mit der Technologie das Typsystem von Java nach Belieben erweitert werden. Andere in jüngster Zeit beobachtete Zielpersonen führten andere absonderliche Aktivitäten durch. Extension Methods wurden wie in C# definiert, strukturelle Typisierung wurde wie in den Sprachen TypeScript und Go genutzt. Weitere Informationen folgen in Kürze.Fazit: Der Vorfall zeigt Technologie der nächsten Generation. Weitere Beobachtungen sind dringend empfohlen.

Fügen Sie d...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang