Tag-Archive for » Java «

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.

Netbeans 8.1 Beta mit JUnit

Die IDE NetBeans 8.1 hat jetzt ihren Beta-Status erreicht. Nutzer der ursprünglich für die Java-Programmierung gedachten Entwicklungsumgebung können die Vorabversion über die Internetseite des Projekts beziehen und sich bereits mit den neuen Release vertraut machen.

Zu den Neuerungen seit dem letzten Release gehört unter anderem, dass die Bundles für HTML/JavaScript-, PHP- und C/C++-Entwickler jetzt auch das Java Runtime Environment (JRE) enthalten, so daß hier keine eigene Java-Installation mehr nötig ist.

Netbeans8.1BetaEine Zusammenfassung aller Änderungen bringen wie immer die Release Notes. Den Highlights von Netbeans‘ Beta Information kann man entnehmen, daß es auch im Bereich PHP Verbesserungen gibt:

Dazu gehören beispielsweise der Support von Phing, die Integration des Symfony-Installers und die verbesserte Integration mit dem Composer.

Meistgenutzte Programmiersprachen: JavaScript und Java

GithubLangages201508Der webbasierte Filehosting-Dienst für Software-Entwicklungsprojekte Github hat die populärsten dort genutzten Programmiersprachen nach Häufigkeit ihrer Benutzung in den dort gehosteten Projekten bewertet.

Das Resultat ist die nebenstehende Tabelle. Aktueller Top-Favorit ist eindeutig Javascript – gefolgt von Java.

Wer als Webworker gelegentlich in interaktiven Seiten auch programmieren muss, stellt sich ja regelmäßig die Frage, ob er das Coding in PHP oder JaveScript oder gar im früher proprietären Microsoft-Dialekt C# erledigen sollte.

Daß man eine Programmiersprache gut beherrscht, darf heute nicht mehr der Hauptgrund für die Auswahl sein. Die Github-Tabelle kann hier helfen, sich an den Präferenzen anderer Programmierer zeitgemäßer Projekte zu orientieren.

Weitere Informationen zur Entwicklung der einzelnen Sprachen finden Sie bei Heise.

WebAssembly – eine schnelle Javascript-Alternative

Schnellere Internetseiten mit WebAssembly: Das neue, schnellere Binärformat für Webinhalte könnte auf lange Sicht JavaScript im Browser ablösen.

WebAssembly besteht aus Bytecode und soll mit Unterstützung der großen Browserhersteller kompilierte Programme ohne Notwendigkeit eines Browser-Plug-ins statt JavaScript-Code im Internet etablieren. Um diesen Anspruch zu verdeutlichen, koordiniert eine Community-Arbeitsgruppe des Internet-Standardisierungsgremiums W3C die Arbeit.

Zum Start des Projekts gab Brendan Eich auf seiner Website zahlreiche Details bekannt. Er gehört zum Entwicklerteam für WebAssembly. Für interessierte Ersteller von Webseiten ist die Web-Assembly-Dokumentation samt FAQ und ersten Code-Experimenten ist auf GitHub zugänglich.

WebAssembly (kurz „wasm“ genannt) kann auf verschiedenen Plattformen laufen: auf den x86-Prozessoren der PCs ebenso wie auf den ARM-CPUs in den Mobilgeräten. Es ist sehr kompakt und kann deshalb schneller geladen werden.

Da das zeitaufwendige Übersetzen im Browser zur Laufzeit wie bei JavaScript entfällt, soll wasm auch deutlich schneller laufen. Zum einfacheren Debuggen durch den Programmierer soll es neben dem Binärcode auch eine Repräsentation des Programmcodes als Text geben.

Ein LLVM-Backend erlaubt es den Entwicklern, C- und C++-Code in wasm zu übersetzen, und weiter Programmiersprachen könnten noch folgen.

Es gab zwar schon früher Versuche in dieser Richtung für schnelleren Code (Java, .Net, TypeScript), aber immer nur als Alleingänge einzelner Firmen, die dann von Plugins in den Browsern abhängig waren und deshalb auch keine nennenswerte Verbreitung erzielten. Dagegen hat WebAssembly, das von Microsoft, Mozilla, Google sowie WebKit, und somit auch Apples Browser Safari unterstützt wird, sich als schnelle und moderne Alternative zu JavaScript entwickeln könnte.