Bücher, Netzwelt und Stimmen in meinem Kopf

Beiträge mit Schlagwort ‘code’

Rezension: Programmieren lernen – Bücher für Anfänger

Habt ihr für 2016 gute Vorsätze gefasst? Zum Jahresende empfehle ich euch mit meinem letzten Blogbeitrag des Jahres in dieser Rezension nicht nur Bücher, sondern auch gleich den dazugehörigen guten Vorsatz für das neue Jahr: Lernt Programmieren! Es ist nicht nur sinnvoll, ein paar digitale Grundkenntnisse zu erwerben, sondern kann auch noch prima vom heimischen Sofa aus gelingen. Ich habe mir zwei Bücher angeschaut, die sich eigentlich an Kinder und Jugendliche richten, aber egentlich allen absoluten Anfängern einen motivierenden Einstieg bieten. Ich studiere Informatik im Nebenfach und weiß, welche Stolpersteine angehende Programmierer frustrieren können. Aber ich kann euch Mut machen: Mit diesen beiden Büchern könnt ihr ganz einfach in das Thema Computer einsteigen und euch neue Ideen holen.

Guter Vorsatz: Programmieren lernen

„Programmieren supereasy“ ist im Verlag Dorling Kindersley erschienen und für Kinder ab 10 Jahren empfohlen. Das großformatige Sachbuch erklärt mit vielen bunten Bildern, wie ein spielerischer Umgang mit Programmbausteinen ein erstes Verständnis für Algorithmen fördern kann.  Die Programmiersprachen Scratch und Python werden im Buch an einfachen Aufgaben erklärt und eignen sich sehr gut für einen intuitiven Zugang zur Arbeit mit Code. Auf den 224 Seiten wird mit ersten kleinen Programmen und Spielen an leicht verständlichen Beispielen gezeigt, wie Probleme aus unserer Welt in Computersprache übersetzt werden können. Dazu gehören aber auch Kapitel, die ganz grundlegende Fragen klären, die auch Erwachsene interessieren dürften: Wie funktioniert ein Computer? Und wie funktioniert das Internet? „Programmieren supereasy“ ist nicht nur ein elektronisches Bastelbuch für Kinder, sondern ist meine Empfehlung für alle, die endlich verstehen wollen, wie die Technik grundlegend funktioniert, die so ein wichtiger Teil unseres Alltags ist. Die einfachen Erklärungen sind ideal für Anfänger, die bei Null anfangen und Grundlagen brauchen.

Hier werden grundlegende Fragen ganz einfach beantwortet

Hier werden grundlegende Fragen ganz einfach beantwortet

„Hack’s selbst – Digitales Do It Yourself für Mädchen“ von Beltz & Gelberg richtet sich an Jugendliche ab 13 Jahren. Allein die Bonbon-farbene Covergestaltung und der Titel des Buches haben mich erst einmal misstrauisch gemacht, ob die stereotypische Ausrichtung überhaupt praktische Informationen abseits von Selfies und Online-Shopping zulässt. Da lag ich mit meinem Urteil allerdings deutlich daneben, denn dieses Sachbuch für Mädchen begeistert für unterschiedlichste Themen rund um Technik. Hier geht es neben Sicherheit und Verschlüsselung auch um Ideen aus den Bereichen Elektrotechnik, Informatik, Design und Netzpolitik. Wer sich online ausprobieren und die technischen Möglichkeiten von Computern besser verstehen will, findet in diesem Buch einfache Erklärungen für ganz konkrete Ideen. Mit der Programmiersprache Ruby werden ganz einfache Code-Beispiele erklärt, die einen guten Einstieg zum Programmieren Lernen sind. „Hack’s selbst“ macht richtig Lust aufs digitale Basteln und kann Mädchen tatsächlich motivieren, technische Probleme selbst anzupacken und sich neuen Herausforderungen zu stellen.

Mit Ruby werden Grundlagen der Programmierung erklärt

Mit Ruby werden Grundlagen der Programmierung erklärt

 

Mein Fazit: Verschenkt diese Bücher an eure Kinder, Geschwister, Neffen und Nichten! Zu „Medienkompetenz“ gehört auch, die technischen Hintergrundprozesse in Grundzügen zu verstehen und die Möglichkeiten, die ein Computer bietet, zu kennen. Die beiden Sachbücher sind aber auch für Erwachsene geeignet, die sich endlich der Herausforderung stellen wollen und verständliche Erklärungen ohne technische Fachvokabeln brauchen. „Hack’s selbst“ empfehle ich vor allem neuen Bloggern, weil das Buch voller interessanter Anregungen steckt. Also: Lernt Programmieren! Mit diesen Büchern gibt es keine Ausrede mehr.
Und jetzt seid ihr dran: Welche Aufgaben habt ihr euch für 2016 vorgenommen? Was sind eure Erfahrungen beim Programmieren, auf welche Schwierigkeiten seid ihr gestoßen und welche Erfolgserlebnisse hattet ihr? Ich freue mich auf eure Kommentare und wünsche euch einen guten Rutsch ins neue Jahr!

Code-Battle: Ein Vergleich zwischen JSON und XML für Buchmenschen

Wer sich ein bisschen für E-Books interessiert, ist bestimmt schon über XML gestolpert. Es ist ein wichtiger Baustein für die Herstellung digitaler Inhalte im heutigen Verlagswesen. In den Praxis-Seminaren der Buchwissenschaft an der LMU schwören die Dozenten einheitlich auf XML als wichtige Grundlage für moderne Verlagsarbeit.

Wer sich hingegen etwas mit Programmierung auskennt und auch schon mit JSON gearbeitet hat,  setzt seit dem Lesen des vorangegangenen Absatzes schon einen wütenden Leserbrief auf, um mir klar zu machen, dass das Wort „modern“ und der Begriff „XML“ seit zehn Jahren nicht mehr im gleichen Satz verwendet werden sollten. Euch sage ich: Besser nicht hinsehen, gleich ist es vorbei.
Ich habe in meinem Studium in beiden Sprachen herumgestümpert und ziehe einen kleinen Vergleich für interessierte Buchmenschen. Ist JSON ansteckend? Kann man XML essen? Ich versuche hier einen kleinen Einblick zu geben, damit ihr hinterher hoffentlich die richtigen Fragen stellen könnt. Die Informationen habe ich teilweise aus meinen Einschätzungen, meinen Vorlesungsaufzeichnungen und einer Linksammlung zusammengestellt, die ich unten beigefügt habe. Einige Aspekte habe ich ausgeklammert, um jemanden ohne Vorkenntnisse nicht zu verwirren.

Merkmale von XML

XML ist keine Programmiersprache im eigentlichen Sinn. Die Abkürzung steht für den Ausdruck „Extensible Markup Language“. Es ist eine Auszeichnungssprache, die Informationen maschinenlesbar erfasst, indem sie die Daten in einzelne Elemente aufteilt und hierarchisch strukturiert. Die Auszeichnungen erfolgen durch sogenannte „Tags“, die die Bezeichnung der Information in spitzen Klammern enthalten. Die Tags markieren den Anfang eines Elements, wenn sie vor der Information stehen und signalisieren das Ende eines Elements, wenn sie mit einem Schrägstrich vor dem Elementnamen einer Information nachgestellt sind. Dadurch entstehen sogenannte Knoten im XML Dokument. Die Bezeichner dürfen jedoch nur ebenentreu verschachtelt werden. Tags, die innerhalb eines anderen Elementes geöffnet werden, müssen auf der gleichen Ebene auch wieder geschlossen werden. Auf diese Weise wird jede Information streng logisch kategorisiert und benannt.

Zum Beispiel:

<student>

<matrikelnr>12345678</matrikelnr>

<vorname>Popita</vorname>

<nachname>Pixel</nachname>

</student>

Die genauen Regeln, wie die Informationen erfasst werden, legt ein vom Anwender vorher definiertes Schema fest, das genau bestimmt, welche Tags und Datentypen verwendet werden. Durch dieses definierte Schema als Blaupause für alle anzulegenden XML Dokumente können die Dokumente sehr gut validiert und auf Korrektheit geprüft werden.

Der Code von XML ist durch den Menschen im Vergleich zu anderen Programmiersprachen mit spezieller Syntax sehr gut lesbar. Primär wurde XML jedoch entwickelt um einen präzisen Datenaustausch zu ermöglichen und als Metasprache ohne Komplikationen von anderen Programmen benutzt werden zu können. Programmiersprachen wie C++, Java und Python haben eine Schnittstelle, um XML Dokumente zu lesen und zu verarbeiten. Sie müssen diese Dokumente jedoch erst einlesen und abspeichern. In der XML Familie gibt es zudem noch eine große Zahl anderer Sprachen, die mit den Daten eines XML Dokuments arbeiten können.

Die Verwendung von XML im Verlag

Ein wichtiger Anwendungsbereich liegt derzeit noch im Verlagswesen. XML ist ein wichtiger Pfeiler für die Erstellung für E-Books und die Speicherung von Metadaten, denn das E-Book Dateiformat „Epub“ basiert auf XML und seiner Unterform XHTML. Dabei wird der Buchinhalt in Kategorien wie Überschriften und Bereiche mit spezieller Schriftformatierung gekennzeichnet. Die eigentliche Formatierung übernehmen sogenannte CSS-Dateien, die in eigener Programmiersprache das „Aussehen“ der gekennzeichneten Bereiche beschreiben. Auf diese Weise können E-Reader, Lese-Apps oder andere Darstellungsprogramme durch die aufgesetzte Software die Bereiche identifizieren und die hinterlegte Formatierungsanweisung umsetzen. XML speichert die Daten also medienneutral ab und ermöglicht so eine vielfache Nutzung durch verschiedenste Software.
XML kann aber auch für Datenbanken eingesetzt werden, deren Ziel es ist, Dokumente abzuspeichern. Diese dokumentenorientierte Datenbanken ermöglichen durch die XML-basierte Abfragesprache „XQuery“, die Dokumente zu durchsuchen und bestimmte Informationen herauszufiltern. Da Verlage mit großen Datenbeständen arbeiten, ist die Wahl einer entsprechenden Speicherung ein wichtiger Aspekt der Arbeit mit diesen Daten. Wenn bereits Buchinhalte und Metadaten in XML vorliegen, bietet es sich an, über die Verwendung einer XML-basierten Datenbank nachzudenken.

Merkmale von JSON im Vergleich

JSON ist eine Abkürzung für „JavaScript Object Notation“ und ist ein textbasiertes Datenformat, das 2001 auf der Basis von JavaScript entwickelt wurde. Die Programmiersprache JavaScript ist Bestandteil der meisten Browser und wird von den meisten Homepages verwendet. Im Bereich Datenaustausch zwischen Server und Web-Applikationen hat JSON das veraltete XML zu großen Teilen verdrängt. Denn JSON-Dokumente sind gleichzeitig ein ausführbares JavaScript und können sehr einfach und schnell geparst werden. Trotzdem ist JSON unabhängig von der Programmiersprache einsatzfähig und kann auch von anderen Technologien sprachunabhängig effizient verarbeitet werden. Vergleichbar mit XML werden mit JSON Informationen maschinenlesbar erfasst. Dabei werden die Informationen Namen zugeordnet und so Name-Wert-Paare gebildet. Außerdem spielen geordnete Wert-Listen eine große Rolle für die Struktur von JSON.

Das vorherige Beispiel des XML Codes könnte in JSON so aussehen:

„student“: {

„matrikelnr“: „12345678“,

„vorname“: „Popita“,

„nachname“: „Pixel“

},

Die gleichen Informationen aus den vorherigen Beispielen werden hier mit deutlich weniger Syntax beschrieben. Auch hier werden Daten ihren Bezeichnungen zugeordnet. Doch die Start-Tags und End-Tags, die in XML Beginn und Ende eines Elements kennzeichnen, werden hier eingespart. In JSON ist der vorangestellte Bezeichner für die Information gültig, die in Anführungszeichen bis zum nächsten Komma folgt. Diese Einsparungen erhöhen nicht nur die Lesbarkeit für den Menschen, sondern verkleinern zum einen den Schreibaufwand für die gleiche Menge an Information und zum anderen wird der Speicherbedarf verringert. Man spricht bei XML vom sogenannten „Overhead“ der durch die Tags entsteht und das Dokument in die Länge zieht.

Die Verwendung von JSON im Verlag

Da viele Content-Management-Systeme mit Skriptsprachen arbeiten, ist die Wahl von JSON als Output-Format sinnvoll, wenn die Inhalte in Feed-Dienste oder über Programmschnittstellen in andere Technologien integriert werden soll. In Hinblick auf den Online-Bereich kann JSON verwendet werden, um die Daten auf den Homepages, Apps und anderen Diensten einzuspielen. Durch die Nähe zu JavaScript und dem geringeren Speicherbedarf ist es auf dieser Ebene ein effizientes und unkompliziertes Datenaustauschformat.
Während E-Books wie oben bereits beschrieben mit XML, XHTML und CSS erstellt werden, könnte ein E-Book auf Basis von JSON mit Hilfe von Skriptsprachen erstellt werden. Diese Praxis hat sich, meiner Kenntnis und Recherche nach, jedoch noch nicht durchgesetzt. JSON ist also für die Herstellung von E-Books derzeit irrelevant.

Fazit

Da sich viele heutige Standards auf der Basis von XML gebildet haben, ist die Verwendung von XML für die maschinenlesbare Erfassung von Daten noch immer von großer Bedeutung. Weil das Epub-Format den E-Book Markt neben Mobipocket und PDF dominiert, wird XML vorerst die wichtigste Basis für die Herstellung digitaler Inhalte bleiben. Die einfache Validierung zur Überprüfung der Korrektheit der Dokumente ist eines der vorteilhaftesten Features von XML.

Allerdings wurde XML von JSON als Datenaustauschformat online bereits verdrängt. Eine Ablösung durch modernere Formate ist auch in anderen Bereichen denkbar. Realistisch betrachtet ist JSON zwar kompakter und übersichtlicher als XML und wird von vielen anderen Programmiersprachen unterstützt, wird aber die historische Bedeutung von XML so schnell nicht brechen können. Trotzdem sollten Verlage nach den Jahren der Einführung von XML den Aufwand nicht scheuen, sich mit JSON vertraut zu machen.

 

Linksammlung

Die offizielle Homepage von JSON: json.org

In diesem Beitrag wird auch ein Vergleich gezogen, der zu ähnlichen Ergebnissen kommt, die aber qualifizierter dargestellt werden: http://www.predic8.de/xml-json-yaml.htm

Falls ihr wissen wollt, wie man genau ein E-Book mit JSON und PHP herstellt: http://www.sitepoint.com/building-epub-with-php-and-markdown/