Autor: Christine Haite

Moderne Werkzeuge für die rechnergestützte Statistik, Teil 2

Statistische Datenauswertung lebt vom Zusammenspiel zahlreicher Kompetenzen, Werkzeuge und Hilfsmittel. In Teil 1 dieses Artikels habe ich skizziert, welchen Anforderungen sich eine Statistiksoftware aus meiner Sicht heute stellen muss. In Teil 2 nun stelle ich verschiedene textbasierte Formate vor, die als Datenquellen eine relevante Rolle spielen. Textbasierte Datenformate & Auszeichnungssprachen Daten müssen vor der Analyse in der Regel auf irgendeine Weise aufbereitet, umgeformt und in geeignete(re) Speicherformate überführt werden. Speicherformate spielen auch in den Ausnahmefällen eine Rolle, in denen der Analyst bereits auf die elektronische Erfassung Einfluss nehmen kann. Jeder Arbeitsschritt, der in Handarbeit erledigt werden muss, zieht typische und nur begrenzt kontrollierbare Probleme nach sich (die u.a. mit der Vigilanz, mit Figur-Grund-Problemen und mit sensomotorischen Fehlleistungen zusammenhängen). Bei solchen Aufgaben können wir uns heute allerdings von einer Vielzahl leistungsfähiger und oft kostengünstiger Werkzeuge und Technologien unterstützen lassen. Sobald Daten ins Spiel kommen, arbeite ich nach zwei einfachen Prinzipien: (1) Handarbeit im Umgang mit Daten ist auf ein absolutes Minimum zu reduzieren; (2) maschinelle Verarbeitung der Daten muss so früh einsetzen, wie es das jeweilige Szenario zulässt, und …

Moderne Werkzeuge für die rechnergestützte Statistik, Teil 1

Dieser Beitrag ist der erste in einer kleinen Serie locker zusammenhängender Artikel rund um die Themen Datenanalyse, rechnergestützte Statistik und die exzellente universelle Statistikumgebung R. Rückblick Es ist noch nicht so lange her, 10 oder 15 Jahre, da reichte es für die Durchführung einer gewöhnlichen Datenanalyse, Zugriff auf eine  Statistiksoftware zu haben und mit einer Textverarbeitung umgehen zu können. In der zweiten Hälfte der 90er Jahre hatten SPSS und SAS den Wechsel von den Großrechnern auf die Windows-Plattform vollzogen und sich dort gemütlich eingerichtet. Den Steuersprachen waren GUIs übergestülpt worden, was vor allem für Gelegenheitsanwender und Technophobe praktisch war, weil es sie von der Aufgabe befreite, syntaktisch korrekte Anweisungen schreiben zu müssen – nicht immer eine triviale Aufgabe, da in diesen Systemen neben eigentlich einfachen Syntaxregeln teils komplexe Einschränkungen und nicht immer intuitive Randbedingungen zu beachten sind. Mit Einführung der GUIs war damals dem Anschein nach viel gewonnen; auf jeden Fall aber war die Vertracktheit besagter Steuersprachen erfolgreich der Wahrnehmung der Anwender entzogen worden – Statistik ließ sich jetzt auf Knopfdruck betreiben. Mit der Frage, …

Das Zauberwort: Hybrid – Besuch der iPhone DevCon 2010 in Köln

Kinder, Kinder, leben wir in dynamischen Zeiten! Nun zum dritten Mal fanden sich am 1. und 2. Dezember Entwickler und Entscheider zur iPhone Developer Conference zusammen. Ja, erst zum dritten Mal – und was hat sich seit der Premiere alles getan! In der Keynote der ersten Konferenz (mit einer Handvoll Vortragender vor einem überschaubaren Haufen von Pionieren) im Dezember 2008 in München wurde noch die Frage in den Raum gestellt „Wer braucht die nächsten 2000 Apps?“. Da war es seit einigen Monaten überhaupt erst möglich, mit dem SDK eigene Programme fürs iPhone zu entwickeln und an den Endkunden zu bringen. Und nun findet die Konferenz im Kölner Gürzenich statt, zum iPhone sind das iPad sowie Android und andere Plattformen gekommen, allein im App Store von Apple sind 225 000 Apps verfügbar – und niemand stellt mehr die Frage nach dem „Ob“, sondern nur noch nach dem „Wie?“. Aquarius-Medizin-Software Auf Basis welcher Technologien möchte ich meine Apps entwickeln? Soll die App nur im App Store verfügbar sein oder will ich verschiedene Märkte bedienen? Kann ich Android, …

Was ist Scala?

Scala ist eine funktionale, objektorientierte Programmiersprache, die sich durch einen kompakten und prägnanten Programmierstil auszeichnet. Entstanden ist sie unter der Leitung von Martin Ordesky an der École Polytechnique Fédérale de Lausanne. Scala läuft auf der Java Virtual Machine (JVM) und ermöglicht Programmierern, die dort verfügbaren Bibliotheken zu nutzen und mit den dort beheimateten Sprachen, insbesondere Java, zusammenzuarbeiten. Im Vergleich mit Java ist Scala aber wesentlich weniger gesprächig, d.h. benötigt weniger Codezeilen, ist typsicherer, unterstützt die Funktionale Programmierung (FP) und übertrifft aber gleichzeitig Java in Sachen OOP – in Scala ist wirklich alles ein Objekt. Abgeleitet von SCAlable LAnguage (skalierbare Sprache), ist Scala tatsächlich für alle Anwendungsdimensionen geeignet: von kleinen, interpretierten Skripts bis zu verteilten  Enterprise-Applikationen und Middleware-Implementierungen. Diese Skalierbarkeit, ein modernes Objektmodell, das fortgeschrittene Typsystem und die Wiederverwendbarkeit der Java-APIs machen Scala für Programmierer so ungemein attraktiv. Scala ist aber auch eine Sprache für Profis und erfordert einiges an Reflexion. Im O’Reilly Verlag ist soeben das Buch “Programmieren mit Scala” erschienen. Die beiden Autoren zeigen, was Scala so verführerisch macht, erklären die Sprache von der …

Mit welcher Programmiersprache fange ich an?

Über viele Jahre war die Sache klar: Die ersten Schritte ins Neuland der Programmierung macht man in einem BASIC-Kurs in der Schule. Manche beginnen auch mit TurboPascal. Die Ergebnisse unserer Umfrage vor einigen Monaten haben schön gezeigt, wie populär diese Programmiersprachen als “Lernsprachen” waren. Und ihr Vorteil liegt ja auch auf der Hand: Die Syntax ist einfach, klar und streng, die Prinzipien und Konzepte der (imperativen) Programmierung lassen sich damit leicht vermitteln und verstehen. Besonders oft wird man diese Sprachen dann aber im späteren Leben eher nicht mehr brauchen. Da sind dann Java, C# und andere gefragt. Die wiederum sind als erste Programmiersprache wegen ihrer Komplexität und Unübersichtlichkeit nur bedingt geeignet. Muss das also so sein: Ich lerne das Programmieren anhand einer “Übungssprache” und gehe dann zu den professionelleren Sprachen über? Die Autoren von “Programmieren von Kopf bis Fuß” wählen einen anderen Weg: Ihr Fahrzeug in die wunderbare Welt der Programmierung ist Python. Und das aus gutem Grund: Die Syntax ist einfach und übersichtlich, der Code mit seinen Einrückungen und wenigen Grundkonstrukten ist leicht lesbar …