Code as Natural Language - korpuslinguistische Untersuchung zur Rolle der Sprache in der Programmierung

Hintergrund

Programmiersprachen gelten zwar als formale oder künstliche Sprachen, tatsächlich lässt sich ihr Gebrauch nach den Regeln und mit den Mitteln der Sprachwisenschaft untersuchen und bewerten.

Zielsetzung der Arbeit

Anhand eines Beispielcorpus relevante linguistische Merkmale des Sprachgebrauchs bei Programmieren erfassen.

Konkrete Aufgaben

Auswahl geeigneter Programmiersprachen Aufbau eines aktuellen Analysekorpus z. B. auf der Basis bekannter Open Source-Projekte Auswahl geeigneter Analysewerkzeuge - z. B. Gate oder Voayant Tools Entwicklung eines Analysemodells (Ebenen: Morphosyntax, Semantik, Pragmatik) Abgleich mit der „präskriptiven Linguistik“ der Stilempfehlungen (z. B. Java Coding Conventions).

Erwartete Vorkenntnisse

Solide Kenntnisse der untersuchten Programmiersprache (d. h. i. d. R. entsprechende Kenntnisse der Medieninformatik) Kenntnisse der angewandten Linguistik und der Corpuslinguistik.

Das Thema ist besonders auch für Studierende mit sprachwissenschaftlichem Hintergrund geeignet.

Weiterführende Quellen

Code Conventions for the Java Programming Language, http://www.oracle.com/technetwork/java/codeconv-138413.html

Green, Robert; Ledgard, Henry (2011). Coding Guidelines: Finding the Art in the Science, ACM Queue, November 2, 2011, http://portal.acm.org/ft_gateway.cfm?id=2063168&type=pdf

Lehr- und Handbücher zur Programmierpraxis (Hunt, Andrew; Thomas, David (2004). „The Pragmatic Programmer“; McConnell, Steve (2004). „Code Complete“. 2. Aufl. Redmont: Microsoft Press)