Tag-Archive for » Java «

Swift: Eine Schwalbe macht noch keinen Sommer


Ihren Hype hat die Apple-Programmiersprache Swift offenbar hinter sich, wie aus der Oktober-Ausgabe des monatlichen Sprachen-Index von TIOBE hervorgeht. Obwohl sich Swift Anfang des Jahres noch in den Top-10 platzieren konnte, rutschte die Sprache jetzt auf Rang 16 ab und liegt damit nur noch einen Platz über ihrem Vorgänger Objective-C.
TIOBE erklärt das Abrutschen dadurch, dass Entwickler bis vor kurzem Android-Apps in Java und iOS-Apps in Swift/Objective-C programmierten, was natürlich entsprechend aufwändig ist, weil sie zwei verschiedene Codebasen verwalten mussten.
Mit zunehmender Popularität von Xamarin, Apache Cordova und Ionic gibt es inzwischen aber Alternativen, die es erlauben, hybride Mobile-Apps zu entwickeln. Das erklärt sowohl den Popularitätsverlust von Swift als auch die Einbußen von Java im aktuellen Index.
Auch die Programmiersprache Go, die noch 2016 von TIOBE noch zur Sprache des Jahres 2016 gekürt wurde, ist inzwischen auf einem ähnlichen Sinkflug wie Swift. Dafür bietet TIOBE bisher aber keine plausible Erklärung an.

JavaScript ist weiter Nummer Eins bei RedMonk

Weiterhin stehen JavaScript und Java an der Spitze des Programmiersprachen-Rankings der Analysten von RedMonk. Dabei greifen die „Roten Mönche“ zur Bewertung von Verbreitung und Nutzung der Programmiersprache auf Daten der großen Entwickler-Communities StackOverflow und GitHub zurück.

Während die Auswertung der Daten von StackOverflow für die aktuellste Analyse auf unveränderte Art und Weise durchgeführt werden konnte, zwang GitHub dem Report eine deutliche Änderung auf. Bisher wurde dazu die Anzahl der in einer bestimmten Sprache gehaltener Repositories ausgewerten, und bei der Analyse des zweiten Quartals 2017 erfolgte die Analyse jetzt stattdessen anhand der Pull-Requests. Allerdings  korrelieren die Daten laut RedMonk recht gut, so daß eine gewisse Vergleichbarkeit erhalten bleibt.

Hier die Top Twenty der aktuellsten Ausgabe des RedMonk-Rankings:

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.

c’t-Sonderheft „Programmieren“ im Handel

Programmierer müssen immer auf dem Laufenden sein, was aktuelle Entwicklungen in der Programmierung von Anwendungen (Programme bzw. Apps) angeht. Eine gute Quelle für Informationen zu aktuellen Trends, neuen Techniken mit Tutorials und Programmier-Projekten ist das gerade erschienene Sonderheft „Programmieren“ der führenden Computerzeitschrift c’t aus dem Hause Heise.

Zu einem der Schwerpunkte des Sonderhefts zählen mobile Apps für Android und iOS, denn viele Android-Entwickler suchen nach Alternativen zu Java wie beispielsweise JetBrains „Kotlin“. Kotlin bringt uns das Heft in einem dreiteiligen Tutorial (Einführung, Testmöglichkeiten und Architektur) näher.

Für Apple-Programmierer gibt es einen Zweiteiler zum Thema Sicherheit, der ihnen zeigt, wie sie sich gegen Angriffe auf ihre Apps wehren können.

In anderen Beiträgen werden komplexe Anwendungen mithilfe von Facebooks JavaScript-Framework React zerlegt und praktische Anwendungsbeispiele für einfache und komplexere Aufgaben unter Python behandelt.

Auch der Frage, wie progressive Web-Apps die Grenzen zwischen responsivem Webdesign und hybriden Apps verwischen könnten, wird in dem Sonderheft nachgegangen.

Ab sofort kann das 9,90 Euro teure Heft „c’t Programmieren 2017“ über den heise Shop vorbestellt werden. In Deutschland, Österreich und der Schweiz ist der Versand bis zum 26. März 2017 versandkostenfrei.

Als digitale Version kostet das Heft nur noch 8,99 Euro; bestellen kann man es über die c’t-App für Android oder iOS sowie im PDF-Format als E-Book. In der nächsten Woche (ab dem 20. März) ist das Sonderheft dann auch im Zeitschriftenhandel erhältlich.

Java 8u91/92 bringt mehr Sicherheit

Gerade werden von Oracle die Updates JDK 8u91 und 8u92 verteilt, die vor allem die Sicherheit verbessern sollen. Dabei geht es diesmal nicht nur wie üblich um kritische Fehler in Java selbst, sondern der Umgang mit unsicheren Signaturen und potenziellen Angriffen durch das Ausnutzen von Fehlern stehen im Fokus.

Die JVM (Java Virtual Machine) hat nun zwei neue Optionen, die den Umgang mit Out-of-Memory-Fehlern bestimmen, die die Virtual Machine bisher selbst behandelt hat.

Bei Nutzung des Flags ExitOnOutOfMemory stoppt sie jetzt, sobald der Hauptspeicher nicht mehr ausreicht. Wenn ein Nutzer das Flag CrashOnOutOfMemory setzt, führt der Fehler zum Absturz der JVM, der dann entsprechende Einträge in den Log-Dateien erzeugt.

Der Message-Digest Algorithm 5 (MD5) gilt schon länger als unsicher, weil das Erzeugen unterschiedlicher Nachrichten mit denselben MD5-Hashes recht einfach möglich ist.

Deshalb akzeptiert die JSSE-Implementierung (Java Secure Socket Extension) inzwischen standardmäßig keine MD5withRSA-Signaturen mehr. Wer im Legacy-Bereich weiterhin auf MD5 angewiesen ist, muss sie erst manuell aus der Liste der deaktivierten Algorithmen (jdk.tls.disabledAlgorithms) wieder entfernen.

Auch diesmal gibt es wie immer wieder eine große Anzahl von Bugfixes. Alle Neuerungen im  JDK 8u91/8u92 finden Sie in den Release Notes. Auf der Download-Seite stehen das JDK und auch die Laufzeitumgebungen (JRE) für Clients und Server in den aktuellen Versionen zum Download bereit.

Android Studio 2.0 für Entwickler

AndroidStudioEmulatorSchon vor seiner I/O-Konferenz im Mai hat Google soeben die nächste Version seiner Entwicklungsumgebung (IDE) für Android-Apps,  Android Studio Version 2.0, veröffentlicht.

Die merklich überarbeitete IDE basiert immer noch auf JetBrains‘ Java-Entwicklungsumgebung IntelliJ IDEA, und zwar auf der Version 15, und steht kostenlos zum Download für die Betriebssysteme Windows, OS X und Linux zur Verfügung.

Im neuen Release 2.0 finden sich viele Neuerungen, die im Wesentlichen die Produktivität verbessern. Weitergehende Details dazu finden Sie in einem Artikel bei Heise.

Java-Ersatz Kotlin 1.0 veröffentlicht

KotlinJavaEine gute Nachricht für Webschaffende mit Java-Schwerpunkt:

Nur gut eine Woche nach dem Erscheinen des Release Candidate ist jetzt die Version 1.0 der Programmiersprache Kotlin erschienen.

Version 1.0 sagt ja aus, dass die Kotlin-Entwickler bei JetBrains davon ausgehen, dass spätestens jetzt nichts mehr dagegen spreche, Kotlin auch in Produktivszenarien zu nutzen.

Die JVM-Sprache (Java Virtual Machine) ist inzwischen schon seit mehr als fünf Jahren in der Entwicklung und soll sich gegenüber Java insbesondere durch ihre gute Performance, die Sicherheit und ihre ausdrucksstarke und sehr gut lesbare Syntax auszeichnen.

Kotlin ist objektorientiert, statisch typisiert und mit Java kompatibel, wodurch der Kotlin-Compiler Java-Bytecode ausgeben beziehungsweise Java Kotlin-Code erzeugen und auch Java-Code aufrufen kann.

Den Markt auftrebender JVM-Sprachen teilt sich Kotlin unter anderem mit Scala, Clojure und Ceylon – sie alle sind Open Source.

TIOBE mit neuer Hitliste der Programmiersprachen

Tiobe201601Ein schneller Blick auf den aktuellen Programmiersprachen-Index vom Januar 2016 der Firma TIOBE zeigt, daß Java auch weiterhin die meistgenutzte Programmiersprache ist.

Das liegt hauptsächlich daran, dass das erfolgreiche Mobilbetriebssystem Android von Google ebenfalls weitestgehend auf Java basiert und daß die Programmiersprache Java grundsätzlich plattformunabhängig ist.

Die Rangliste soll aktiven Programmierern einen Überblick  über die Popularität unterschiedlicher Programmiersprachen bei ihren Kollegen geben und entsteht durch simples Zählen der Treffer für die Anfrage „<language> programming“ in 25 verschiedenen Suchmaschinen.

Rogue Wave hat PHP-Company Zend übernommen

PHP_RogueWave_ZendDas Softwarehaus Rogue Wave hat soeben den PHP-Spezialisten Zend Technologies übernommen.

Mit dieser Übernahme von PHP-Knowhow erweitert Rogue Wave sein Portfolio vor allem in die Bereiche Web und Mobile. Zend Technologies gehört zu den bekanntesten Unternehmen, wenn es um die beliebteste Scriptsprache im Internet PHP geht – das Unternehmen ist selbst an der PHP-Entwicklung beteiligt.

Der komerzielle Fokus der Firma Rogue Wave liegt mehr im Bereich High Performance Computing mit Entwicklerwerkzeugen für C, C++, Java und C#.

Zend-CEO Andi Gutmans, verspricht sich für den PHP-Protagonisten Zend Technologies eine breitere Kundenbasis im Enterprise-Segment. In seinem Blog-Beitrag auf LinkedIn unterstreicht er auch, dass der Zusammenschluss keine Abwendung von der Open-Source-Strategie bedeute, sondern dass er weiterhin zu PHP, dem Zend Framework und Eclipse PDT (PHP Development Tools) stehe. Seine Firma arbeite sehr hart an der Qualität von PHP 7, das Mitte November released werden soll, und der darauf folgenden Zend Engine.

Zu den finanziellen und sonstigen Details der Übernahme haben sich die Beteiligten bisher nicht geäußert.

Extrem schnelle NoSQL-Datenbank ScyllaDB

Wer als Webentwickler bei schnellen Antwortzeiten mit großen Datenbanken umgehen muss, sollte mal einen Blick auf die neue NoSQL-Datenbank ScyllaDB werfen.

Im Rahmen des Cassandra-Summit stellten die Entwickler mit Scylla ihre „schnellste spaltenorientierte NoSQL-Datenbank der Welt“ vor. Die unter der GNU Affero General Public License v3 geschützte Open-Source-Datenbank soll den Durchsatz stark verbessern und dabei mit sehr niedrigen Latenzen wie Redis aufwarten.

Weil ScyllaDB kompatibel zu Apache Cassandra ist, soll ein Wechsel zwischen den beiden Systemen außerdem recht einfach durchzuführen sein. Aktuell hat das Projekt den Status einer frühen Beta, das erste stabile Release ist für Januar 2016 avisiert.

Hinter ScyllaDB verbirgt sich ein Team, das schon für die Entwicklung des KVM Hypervisor verantwortlich zeichnete. Die NoSQL-Datenbank ist Ergebnis seiner Arbeiten als Cloudius Systems, allerdings hat sich das Unternehmen mittlerweile in ScyllaDB umbenannt.

Apache Cassandra diente als Vorlage und ScyllaDB soll auch eine schnellere Alternative dafür positioniert. Cassandra ist in Java verfasst und wird als eine Art Hybrid zwischen spaltenorientierter Datenbank und Key-Value-Speicher angesehen.