JAXenter

Aktuelles

Deno: Neue Runtime für serverseitiges JavaScript

In seinem Vortrag „10 Things I Regret About Node.js“ hat Ryan Dahl, der Schöpfer von Node.js, von falschen Designentscheidungen gesprochen, die seinerzeit bei der Entwicklung von Node.js getroffen worden seien. Da man die Zeit nicht zurückdrehen kann, hat Dahl sein neues Projekt Deno ins Leben gerufen. Das Ziel: Schwächen von Node sollen revidiert und eine moderne, sichere Plattform für serverseitiges JavaScript bereitgestellt werden. Ist der Versuch geglückt?

LEGO-Kasten für Softwareentwickler

Wir schreiben das Jahr 2000. Unsere Branche hat den Millennium-Bug überlebt. Ein Smartphone kann auch die Uhrzeit anzeigen. Java ist eine Sprache ohne Generics, Lambdas oder Typinferenz. Die Bereitstellung von EAR-Dateien dauert ewig. EAR-Dateien? Genau, das Spring Framework ist nämlich noch Jahre von der Markteinführung entfernt. Richtige Programmierer verwenden RMI und CORBA.

Java 14, Docker Desktop 2.2 & Kubernetes Operator – Unsere Top-Themen der Woche

Die letzte Woche verging wie im Flug – kein Wunder bei so viel spannenden Themen! Zum einen bot unser Monatsrückblick eine schöne Zusammenfassung der beliebtesten Themen im Januar. Zum anderen ist Docker Desktop 2.2 erschienen und auch eine neue Ausgabe der Golumne erfreute sich großer Beliebtheit. Welche Themen der vergangenen Woche für Euch sonst noch interessant waren, erfahrt ihr in unserem Wochenrückblick.

Java 14: Das JDK ist in der Release-Candidate-Phase

Mit Java 14 ist die dritte Version seit dem letzten Release mit Long-Term-Support in Arbeit. Java 12 und Java 13 wurden bzw. werden mit einer recht überschaubaren Anzahl an neuen Features ausgeliefert, für Java 14 wird sich dieses Schema aller Voraussicht nach ein wenig ändern. Trotz der neuen Veröffentlichungskadenz sind insgesamt 16 JEPs auf dem Weg ins JDK, unter anderem eine überarbeitete Version der Text Blocks und das Pattern Matching für instanceof. Nun hat die Release-Candidate-Phase begonnen.

Versöhnt euch! Reconciliation statt klassischem sequenziellem Programmentwurf

In verteilten Systemen ist Fehlerbehandlung oft aufwendig und schwierig. Jeder Aufruf zu einem externen System kann schiefgehen und muss daher separat behandelt, wiederholt und überwacht werden. Sollte ein Aufruf in einer Sequenz von Operationen so fehlschlagen, dass er nicht auf der Stelle behoben werden kann, muss die gesamte Sequenz neu gestartet werden. Bereits erfolgreiche Aufrufe werden ausgelassen.

Netter Versuch: Fehlerbehandlung in Go

Wer kennt es nicht? Man gibt sich Mühe, entwirft, programmiert sorgfältig, testet sowohl manuell als auch automatisch, hat also ein gefühlt perfektes Programm. Und doch kommt es immer wieder zur Laufzeit zu Fehlern. Es sind Dateien beim Öffnen nicht vorhanden, sie haben ein falsches Format, sind wegen fehlender Rechte nicht les- oder schreibbar oder können wegen eines gefüllten Dateisystems nicht geschrieben werden. Gleiches gilt auch für das Netz. Adressen sind nicht zu erreichen, Latenzen zu groß, Zugriff wird nicht gestattet und Verbindungen brechen ab. Datenbanken oder Verzeichnisdienste liefern nicht die gesuchten Daten. Und wenn, dann enthalten sie vielleicht ungültige Werte. Die Liste der möglichen Bedrohungen ist unendlich.