Open Source im professionellen Einsatz

Funktionale Sprachen sind besser als prozedurale

10.11.2014

Forscher der University of California, Davis, haben hunderte Projekte auf Github untersucht und fanden unter anderem Einflüsse der verwendeten Sprache auf die Codequalität.

212

Die Forscher untersuchten 729 Projekte mit zusammen 80 Millionen Zeilen Code in 17 Sprachen von C bis C++, Java bis JavaScript oder Scala bis Clojure. Sie fanden statistisch signifikante  Hinweise dafür, dass strenge Typisierung besser ist als schwache und funktionale Sprachen wie  Clojure, Scala, und Haskell besseren Code ergeben als prozedurale, Diese Einflüsse seien jedoch verhältnismäßig gering angesichts der dominierenden Faktoren wie Projektgröße oder Größe des Teams.

Programmierfehler, so die Forscher, traten zwar in allen Sprachen auf, aber einige sind für bestimmte Sprachen eher typisch als andere. So fanden sie beispielsweise 122 Runtime Errors in Javascript, die es in der typisiserten Abart Typescript nicht gibt, weil sie dort der Compiler bereits in der Entwicklungsphase erkennt. Speicherfehler - verantwortlich für 5,44 Prozent der Bugfix Commits - fanden sich gehäuft in Sprachen, die den Speicher nicht managen, also in C, C++ und Objective-C. In den Sprachen mit verwaltetem Speicher traten Speicherfehler am häufigsten in Java auf. Cocurrency Errors, die häufigste Spielart sind hier Race Conditions, traten ebenfalls unterschiedlich oft auf, von 41 Prozent C++ bis 92 Prozent in Go.Die starke Häufung in Go, erklären die Forscher, liege daran, dass Go mit einem Race-Detection Tool ausgeliefert wird, dass es dem Programmierer erleichtert, diese Fehler zu finden.

Ähnliche Artikel

  • Bücher

    Das Linux-Magazin stellt zwei englischsprachige Bücher vor. Das erste widmet sich dem funktionalen Programmieren in Scala und Clojure. Das zweite überträgt Open Source auf die Kommunalpolitik

  • Unabhängigkeit: Clojure will ohne Spenden auskommen

    Der Erfinder des Lisp-Dialekts Clojure will sein Projekt künftig ohne Spenden weiterführen.

  • Wechsel auf HTTPS nützt Wikipedia

    Der Wechsel auf reines HTTPS Mitte 2015 tat der Erreichbarkeit der Wikipedia offenbar gut: Forscher der Universität Harvard fanden heraus, dass dank HTTPS weniger Zensur stattfindet.

  • Scala

    Die Programmiersprache Scala setzt die Kunst des funktionalen Programmierens pragmatisch um. Mit wenig Schreibarbeit, Funktionen höherer Ordnung und Comprehensions erfreut sie den Entwickler, im Orchester mit Java zelebriert sie bei Twitter & Co. spektakuläre Auftritte.

  • Clojure 1.6 stabilisiert Alpha-Features

    Die funktionale, Java-basierte Programmiersprache Clojure, die sich an Lisp orientiert, ist in Version 1.6 erschienen. Einige vormalige Alpha-Features sind nun den Kinderschuhen entwachsen.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.