Content from 2013-11
Die letzten Tage habe ich das Buch ARM Assembly Language – an
Introduction von J. R. Gibson
gelesen. Es ist eine Anleitung wie man ARM-Prozessoren in Assembler
programmiert. Geschrieben wurde das Buch als Lehrbuch an der Universität
Liverpool. Das merkt man, am Ende jeden Kapitels stehen Übungsaufgaben zum
Einprägen und Verständnis überprüfen.
Das Buch ist perfekt für Einsteiger in der Assemblerprogrammierung. Der Leser
erhält einen ausführlichen Überblick wie er in dieser Sprache programmieren
kann. Wird der Einstieg mit einer begleitenden Vorlesung und Übungen
unterstützt, so funktioniert das Buch noch besser. Es hilft aber auch, ein paar
Grundlagen der Zahldarstellung und der Bit-Manipulation schon zu kennen.
Im Buch wird die ARM-7-Architektur behandelt. Vor allem wird der Prozessor
ARM7TDMI betrachtet. Details zu den Prozessoren oder anderer Hardware findet man
aber nicht. Dadurch ist das Buch auf für die allgemeine ARM-Programmierung
interessant. Wer allerdings die Cortex-M-Prozessoren programmieren möchte, hat
mit diesem Buch nicht das richtige. Es behandelt nicht die THUMB-Befehle, die
der Cortex-M ausschließlich unterstützt.
Meine Bewertung: 5 von 5 Punkten für den Leser, der Assembler auf einem
ARM-Prozessor lernen möchte und motiviert sind auch die Übungsaufgaben zu
bearbeiten. Lesen alleine reicht nicht aus.
Endlich wissen was in C++11 neu ist, deswegen habe ich „C++11, Der Leitfaden
für Programmierer zum neuen Standard” von Rainer
Grimm gelesen. Ein dickes Buch mit
500 Seiten beschreibt was sich in der neuen Version seit 1998 geändert hat oder
neu ist. – Und das ist eine Menge.
Immer wieder war ich erstaunt über ungewöhnliche neue Konstrukte und neue
Syntax. Solch große Änderungen hatte ich einer reifen Sprache nicht
zugetraut. Meine Highlights in C++ sind:
- C++ iteriert Container jetzt mit einer for-each-Schleife. In neueren Sprachen
für uns schon lange Standard, können wir dies auch in C++11 nutzen;
- mit Lambda-Funktionen unterstützt uns C++ jetzt in der funktionalen
Programmierung – das funktioniert auch mit Templates;
- ganz verrückt sind rvalue-Referenzen und die Move-Semantik, übergebene Werte
werden nicht kopiert sondern zum Empfänger verschoben (das heißt wer das
Objekt in einem Funktionsaufruf übergibt hat es hinterher nicht mehr);
- ganz besonders mag ich, die neuen Datentypen wchar16_t und wchar32_t für
UTF-16 und UTF-32, im gegensatz zum bisherigen wchar_t wurde hier explizit
die Datenbreite definiert (wchar_t unter Linux hat 32 Bit, unter Windows nur
16 Bit);
- reguläre Ausdrücke existieren endlich auch in C++ und
- Smartpointer wurden sehr viel handlicher und einfacher zu verwenden.
Sehr mutig ist die Spezifikation auch weil sie eine neue Syntax für Funktionen
einführt. Bisher definieren wir eine Funktion in der Reihenfolge „Rückgabetyp,
Funktionsname und Parameterliste“. In C++ können wir den Rückgabetyp auch
hinter die Parameterliste schreiben:
auto fac(int n) -> int {
return n > 0 ? n * fac(n - 1) : 1;
}
Rainer Grimm geht die Änderungen leicht verständlich an: in drei Durchgängen
zeigt er zuerst nur was es neues gibt, im zweiten geht er weiter in die Tiefe
der Erweiterungen und im dritten geht er ins Detail. Er Leser kann sich so
schnell einen Überblick verschaffen und stolpert in den Details nicht darüber,
wenn in Beispielen auch eine andere Neuerung als die gerade erklärte schon
benutzt wird. Einziges Manko: im dritten Durchgang bei den Details wurde mir
etwas langweilig. Trotzdem ein großartiges Buch dem ich vier von fünf Punkten
gebe.
Seré en Maastricht el próximo julio. Acabo de comprar dos entradas para un
concierto de André Rieu en la plaza Vrijthof en Maastricht.
Maastricht es el lugar de nacimiento de André Rieu y todos los veranos hay
conciertos de el allí. He le visto un concierto en la televisión holandesa. Es
un ambiente grandioso con mucha gente que tiene mucha diversión.
Hay conciertos de este artiasta en otros lugares también - incluso en Múnich.
Pero creo que es una cosa diferente verlo en Maastricht. Tengo mucho alegría
previa por este concierto. Y soy europeo. Tengo que ver lugares diferentes en mi
continente, ¿no?
Para mí es un compromiso para sentir la cultura y amar europa. A ver quien
acompagñará a mí.