programmierer-nachrichten.de
Startseite Podcast RSS Impressum

Podcast Folge 14


Wie versprochen der wöchentliche Podcast!

Dieses Mal Folge 14. Kotlin wurde zur offiziellen Sprache für Android, Bloomberg veröffentlichte den Quellcode ihres RDBMS "Comdb2" und Arca Noae veröffentlichte mit ArcaOS den Nachfolger von OS/2.

Viel Spaß damit!


OS/2 lebt als ArcaOS weiter


arcaOS Desktop
ArcaOS Desktop

OS/2 war mal ein relativ verbreitetes Desktop-Betriebssystem von IBM. IBM und Microsoft hatten es damals zusammen entwickelt. Microsoft und IBM entschieden sich aber die Zusammenarbeit 1991 zu beenden. Seit dem entwickelte Microsoft fleißig weiter an Windows und IBM weiter OS/2. IBM stellte jedoch die Arbeiten an OS/2 im Jahre 2005 ein. Seit dem wurde es von der Firma XEU.com B.V. unter dem Namen eComStation weiterentwickelt. eComStation wurde nun aber auch schon länger nicht mehr aktualisiert. So ist die aktuellste Version 2.1 immerhin schon 6 Jahre alt.

Nun gibt es mit ARCA NOAE eine weitere Firma, welche sich zur Aufgabe gemacht hat OS/2 weiter zu pflegen. Ihre OS/2 Distribution nennt sich "ArcaOS" und kann aktuell gekauft werden. ArcaOS 5.0 wurde am 15. Mai veröffentlicht. Der interne Codename von ArcaOS ist "Blue Lion".

Ich konnte natürlich nicht anders und musste es ausprobieren. Ich habe es direkt auf echte Hardware installiert und war erstaunt, wie einfach das funktioniert. Ich hätte nicht angenommen, dass es überhaupt funktioniert. Nach der Installation bootet es selbstverständlich bis zum grafischen Desktop, ich stelle noch kurz die Auflösung ein und es funktioniert einfach. Ich habe eine Nvidia 970 GTX, die unter Linux ohne Nacharbeiten gar nicht funktioniert. Insgesamt kann sich fast jede Linux Distribution bei dem Installationsprozess noch einiges abgucken. Es ist vor allem wichtig, dass es überhaupt irgendwie funktioniert.

Der Rest ist eben OS/2 mit Verbesserungen. Wer nur das aktuelle Windows kennt, wird sicher seine Probleme haben sich in ArcaOS zurechtzufinden. ArcaOS hat einen SMP Kernel, so dass auch alle Kerne meiner Intel Core i7 CPU genutzt werden. Das kann man schön sehen, wenn man den CPU Monitor startet. ArcaOS selbst ist weiterhin 32 Bit, aber das Ziel ist ja auch, dass alte Software weiterhin funktioniert. So kann man unter ArcaOS sogar alte DOS und Windows 3.1 Anwendungen ausführen. Mein erster Gedanke war, dass ich fix ein Programm mit Delphi 1 erstelle und versuche es unter ArcaOS auszuführen...aber ich war zu faul meine Delphi 1 CD rauszusuchen und dann hätte ich es mit einem Windows starten müssen, was etwas älter als Windows 10 ist, da es unter Windows 10 leider nicht mehr startet.

ARCA NOAE bewirbt ArcaOS ein wenig damit, dass es sicher ist, nicht nach Hause telefoniert und auf moderne Hardware installierbar ist und trotzdem noch die uralte Software ausführen kann. Dieses Versprechen haben sie in meinem Fall halten können. Mein PC ist recht modern und ArcaOS funktioniert dort wunderbar.


arcaOS Firefox 38 ESR
ArcaOS mit Firefox 38 ESR

Die vorinstallierte Software ist mehr als ausreichend. Man setzt für den Standardwebbrowser auf Firefox 38 ESR. Es gibt ein Programm zum Entpacken von Dateien, einen Bildbetrachter, Telnet, FTP-Client, SMB Blub und weiß ich nicht. Und wenn etwas fehlt, so kann man sich zusätzliche Software aus dem Internet besorgen, wobei viele Seiten schon verwaist sind.

Insgesamt empfinde ich ArcaOS als willkommene Alternative. Es gibt eine kommerzielle und eine Personal Variante. Die kommerzielle Variante kostet 229 USD; die Personal Variante kostet aktuell noch 99 USD, später aber 129 USD. Es gibt auf Youtube einige Vorträge und Vorstellungen von ArcaOS.


personalisiertes Installationsmedium
personalisiertes Installationsmedium

Nach dem Kauf wird eine personalisierte *.iso generiert, so dass man keine Seriennummer oder Ähnliches bei der Installation eingeben muss. Das ist eine gute Lösung, finde ich. Mir stellt sich nur die Frage, wie man vorgeht, wenn man eine ganze Firma mit ArcaOS ausstatten möchte, aber gut, dafür gibt es dann sicher auch eine Lösung.

Ja, ich bin dann mal gespannt, was ich mit ArcaOS anfange.


Comdb2 von Bloomberg nun OpenSource


Bloomberg? Das ist dieses Nachrichten- und Medienunternehmen. Du hast sicher schon davon gehört. Dieses Unternehmen hat vor ca. 14 Jahren damit begonnen ein eigenes Datenbank Management System (DBMS) zu entwickeln. Sie hatten es "Comdb2" genannt. Der Name steht für "Common DataBase". Diese Software wird seit dem intensiv bei Bloomberg eingesetzt. Comdb2 gibt es mittlerweile in Version 7.0 und der Quellcode wurde auf Github veröffentlicht. Als Lizenz hat Bloomberg die Apache License, Version 2.0, gewählt.

Die "Common DataBase" wurde für das Produkt "The Terminal" von Bloomberg entwickelt. "The Terminal" selbst ist eine geschlossene Softwareplattform, die Benutzern aktuelle Informationen zu Finanzen, Nachrichten usw...anbietet. Alles mit Tastenkürzeln und einem extrem minimalistischen GUI. "The Terminal" gibt es heute noch und es kostet richtig viel Geld.

Comdb2 ist eine relationale Datenbank. Sie unterstützt SQL. Comdb2 wurde in C implementiert. Comdb2 wurde für Replikation und hohe Verfügbarkeit optimiert. Comdb2 unterstützt tatsächliche Transaktionssicherheit. Bei ACID wäre es hier das "A" wie Atomarität (Abgeschlossenheit). Comdb2 unterstützt neben SQL auch Stored Procedures, die in einer Sprache definiert werden, die ähnlich zu Lua ist. Comdb2 unterstützt außerdem Queues nativ. Im Detail unterstützt es "publisher to subscriber"-Queues.

Comdb2 wurde entwickelt, weil eine Notwendigkeit erkannt wurde relationale Datenbank Management Systeme zu haben, die vertikal skalierbar sein sollen. Die Entwickler von Comdb2 haben den Bedarf "newSQL" genannt und sie haben es als Gegenspieler zu "noSQL" betrachtet. "noSQL" bietet nicht die Features, die in gewissen Bereichen gefordert sind: ACID :). Man kann das zwar nicht pauschalisieren, aber so wurde es eben von den Entwicklern von Comdb2 vor ca. 14 Jahren aufgefasst und beschrieben.

Comdb2 verwendet ein OCC Protokol, oder auch Optimistic Concurrency Control Protocol. Dieses Protokoll sorgt bei Comdb2 dafür, dass Transaktionen sicher durchgeführt werden können, ohne dass sich jeder Server mit den anderen Servern koordiniert. Comdb2 unterstützt außerdem live Schema Änderungen, ohne dass die Performance darunter stark leidet. Comdb2 versucht außerdem LOCKS zu vermeiden, wo es nur geht.

Hohe Geschwindigkeit war bei Comdb2 laut den Entwicklern ein wichtiges Ziel. Hohe Verfügbarkeit war aber noch wichtiger bei der Entwicklung von Comdb2.

Comdb2 wirkt sehr interessant. Ich bin mir sicher, dass dieses Projekt viel Aufmerksamkeit bekommen wird. Die Dokumentation ist schon heute extrem gut. Sowas ist sehr selten. Man sollte nach ca. 14 Jahren zwar erwarten, dass eine Software gut dokumentiert ist, aber selbstverständlich ist das nicht :).


Kotlin wird nun offiziell von Android unterstützt


Kotlin...das ist diese Programmiersprache von Jetbrains, dessen Entwicklung angeblich im Jahre 2010 begonnen wurde. Der Öffentlichkeit wurde diese Sprache letztendlich im Juli 2011 vorgestellt.

Du kennst Jetbrains. Das sind die Jungs und Mädels, die diese geniale Java IDE entwickelt haben; IntelliJ IDEA ist immer noch eine der besten Java IDEs, die man für Geld kaufen kann. (imho)! Aber auch in anderen Bereichen wildert Jetbrains aktuell. Für viele Python Programmierer ist PyCharm ein sehr gutes Produkt, so wie PHPStorm das für PHP Programmierer ist. Webstorm, ReSharper, Rider, etc...Jetbrains ist mittlerweile sehr breit aufgestellt.

Aber wie das so ist; wenn man Programmierer ist und eine Editor Komponente baut, welche die Syntax von vielen Programmier- und Skriptsprachen farblich darstellen kann, so ist man nicht mehr weit weg davon eigene Skript- oder Programmiersprachen zu entwickeln. Man meint, dass es trivial ist Sourcecode farblich darzustellen; das ist es erstens nicht und zweitens gibt es so viel mehr Features in einer IDE, dass das Darstellen von farblichen Quellcode keine wirkliche Herausforderung mehr darstellt.

Jetbrains kam also irgendwann auf die Idee eine eigene Programmiersprache zu entwickeln. Sie nannten diese Sprache Kotlin. Kotlin ist eine JVM Sprache. Das bedeutet, dass, alle Erzeugnisse aus Kotlin eine Java Virtual Machine benötigen. Nun war Jetbrains sehr clever und entschied sich dazu, dass Kotlin direkt kompatibel mit der Android "JVM" ist. Wie du sicher mal erfahren hast, nutzt Android eine eigene Java Virtual Machine, die eben für die Smartphones optimiert ist. Als Android Programmierer lernt man recht schnell, dass man seinen Java Code nicht zu .class-Dateien kompiliert, sondern zu .dex-Dateien. Das ist auch mit dem aktuellen Android 7.x der Fall; nur mit dem Unterschied, dass Google mittlerweile die JCL (Java Class Library) des OpenJDK Projekts verwendet und somit weitgehend kompatibel mit dem Rest der Java-Welt ist. Das ändert aber nichts daran, dass man weiterhin .dex-Dateien erzeugt. Es gab bei Google Bestrebungen ein alternatives Class-File-Format zu etablieren: Jack und Jill. Das wurde aber aufgegeben. Denk am besten nicht weiter darüber nach. Aktuell ist weiterhin das "alte" .dex Format.

Java 8 Kompatibilität war für Android immer ein Thema. Jeder Junior, der heute Java in der Schule lernt, wird vermutlich Java 8 lernen, was an sich schon beinahe alt ist, da dieses Jahr Java 9 erscheint, wenn IBM und Redhat nichts dagegen haben. Für Android musste man sich aber bis vor kurzem noch auf die APIs von Java 7 beschränken und nicht nur das. Einige Dinge aus Java 7 gibt es unter Android einfach nicht, so dass man entweder Bibliotheken nutzt, um diese Funktionalität zu erhalten oder es selber re-implementierte. Das Java unter Android ist also als beschränkt zu betrachten. Jeder, der die Grundlagen von Java 7 und 8 kennt, wird sich bei Android eingeschränkt fühlen.

Nun hat Jetbrains mit Kotlin eine alternative Programmiersprache geschaffen, die schon seit Monaten bei den Entwicklern für ständigen Gesprächsstoff sorgt. Diese neue Programmiersprache ist eine Mischung aus Scala und Java. Sie versucht moderne Sprachfeatures auf eine "veraltete JVM" zu bringen. Jetbrains ist der Meinung, dass Java einige Schwächen hat. Mit Kotlin wollen sie die Probleme von Java in einer eigenen Sprache lösen, ohne dabei das Ökosystem von Java aufgeben zu müssen. Bei Kotlin wurde Java Interoperabilität extrem groß geschrieben.

Kotlin war deswegen von Anfang an sehr interessant für Android Programmierer. Mit Kotlin konnte man als Android Programmierer moderne Sprachfeatures auch im Kontext von Android nutzen. Kotlin selbst wurde aber nie offiziell von Google "unterstützt". Das hat sich aber nun geändert. Kotlin ist nun eine offiziell, von Google, unterstützte Programmiersprache für das Android System. Das kommt auch nicht ganz überraschend, da Google schon vor einigen Monaten die Android Entwicklungsumgebung auf Basis von Intellij IDEA neu implementiert hat. Dafür hat Google, mehr oder weniger, die Eclipse Basis aufgegeben. Eine gewisse Sympathie gibt es da also schon seit längerer Zeit.

Jetzt fehlt nur noch Dart ;). Sorry :)!


Archiv nach Kalenderwochen


2017/KW24, 2017/KW23, 2017/KW22, 2017/KW21, 2017/KW20, 2017/KW19, 2017/KW18, 2017/KW17, 2017/KW16, 2017/KW15, 2017/KW14, 2017/KW13, 2017/KW12, 2017/KW11, 2017/KW10, 2017/KW9, 2017/KW8, 2017/KW7


Startseite Podcast RSS Impressum