Tag-Archive for » Zweidrittelmehrheit «

Oracles Java-9-Modulsystem ohne Mehrheit

Der aktuelle Entwicklungsstand des Java Platform Module System (JPMS) hat in der Abstimmung beim Public Review Ballot  keine Mehrheit bekommen. Oracle, das die Entwicklung des für Java 9 geplanten Modulsytems für die Programmierplattform federführend ist, hat jetzt noch einen Monat Zeit, den zuständigen Java Specification Request JSR 376 zu überarbeiten. Dann wird das Expertengremium innerhalb des Java Community Process (JCP) noch einmal über das Modularisierungsprojekt Jigsaw abstimmen.

Sollte Jigsaw wieder nicht die erforderliche Zweidrittelmehrheit bekommen, muss es nach den Regeln des JCP gestoppt werden, was dann auch das Scheitern des Projektes Jigsaw besiegeln würde.

Nur 10 der 23 Stimmberechtigten sprachen sich gestern für den Vorschlag von Oracle aus. Red Hat und IBM kritisierten, dass Jigsaw zwar erfolgreich bei der Modularisierung von Java selbst funktioniert habe, aber in „echten“ Anwendungsszenarien weitgehend ungeprüft sei und viele existierende Java-Anwendungen unter Jigsaw nicht möglich seien oder erhebliche Architekturanpassungen erfordern würden.

PHP 7 kann skalare Typen deklarieren

phpmarginDie meistdiskutierte Funktion von PHP 7 ist sicher die Deklaration skalarer Typen. Bei einer gestern Abend durchgeführten Abstimmung erreichte die inzwischen fünfte Version des Vorschlags jetzt die nötige Zweidrittelmehrheit der beteiligten Entwickler. Also wird PHP 7 jetzt um die Typen Int, Float, String und Bool erweitert.

Allerdings muss die Verwendung einer strengen Überprüfung dieser Typen von den Nutzern explizit in jeder Datei über die Anweisung declare(strict_types=1) erzwungen werden. Das muss die erste Direktive in einer Programmdatei stehen und führt an anderen Stellen zu einer Fehlermeldung. Ohne diese Codezeile wird standardmäßig nur eine schwache Typenüberprüfung durchgeführt.

Wenn die neue Anweisung genutzt wird, müssen alle Funktionsaufrufe und Rückgabewerte in der Datei selbst und in darauf aufbauenden Erweiterungen und eingebaute PHP-Funktionen beim Parsen einer Typprüfung standhalten, sonst wird auch ein Fehler ausgegeben.

Im Gegensatz zu der schwachen Überprüfung, bei der die Werte noch in andere Typen umgewandelt werden können, gibt es unter der starken Überprüfung nur eine einzige erlaubte Umwandlung, nämlich die von Int zu Float.