You are here: Foswiki>DeutschesEUDWiki Web>EudPattern>NaturalProgramming (27 Feb 2007, MarkusHofmann)Edit Attach

Natural Programming, Natürliche Programmierung

  • Definition

    Natural Programming beschäftigt sich mit generellen Prinzipien, Methoden und Programmiersprachen, welche den Aufwand zum Erlernen der Programmierung für nicht professionelle Programmierer signifikant senken sollen. Durch Studien an Nicht-Programmierern soll herausgefunden werden, wie diese Aufgaben formulieren, die ein Computer für sie bearbeiten soll. Dadurch sollen mehr "natürliche" Programmiersprachen entwickelt werden, welche dann erheblich leichter zu erlernen sind.
  • Problembereich

    Natural Programming adressiert Anwendungsbereiche, in denen von Menschen, die keine professionellen Programmierer sind, erwartet wird, dass sie programmieren.

    • Programmieren für Kinder: Entwicklung von neuen Programmiersprachen, welche es Kindern und ihren Lehrern erleichtern Spiele oder Lern-Simulationen zu erstellen.
    • Anpassbare Systeme: Anpassung wird hier definiert als die Tätigkeit der Veränderung einer Computer-Anwendung im Kontext deren Nutzung. Anpassung adressiert somit zwei Felder: Zum Einen die Entwicklung, zum Anderen die Nutzung. Anpassung ist somit beides, im Sinne von Entwicklung während der Nutzung, um Anforderungen gerecht zu werden, die während der Entwicklung nicht berücksichtigt wurden oder nicht bekannt waren. Eine gut definierte und benutzbare Programmiersprache ist der Schlüssel für effektive Anpassbarkeit.
    • General scripting: Es gibt viele Situationen, in denen wiederkehrende Aktionen ausgeführt werden müssen. Das Schreiben eines Skripts oder eines Makros, um diese wiederkehrenden Aufgaben zu erledigen, erlaubt es dem Benutzer effektiver zu arbeiten. Solche Script-Sprachen sind bekannt von der Unix-Shell oder aus diversen Office-Produkten. Microsoft-Office-Produkte nutzen Visual Basic als Skriptsprache. Die Fähigkeit, solche wiederverwendbaren Skripte zu schreiben, kann für den Benutzer sehr hilfreich sein.
    • World-Wide-Web: Eine Reihe von interaktiven Tools zum Erstellen von statischen Web-Seiten sind auf dem Markt vorhanden (z.B. Microsoft-Powerpoint, Macromedia Dreamweaver, Adobe PageMill). Dennoch ist es für die Erstellung von dynamischen interaktiven Web-Inhalten nach wie vor erforderlich Skriptsprachen wie Perl, Java-Script, PHP, usw. zu erlernen. Das Vorhandensein von besser benutzbaren und leichter erlernbaren Sprachen würde es einer größeren Spannweite an Menschen ermöglichen, solche dynamischen Webseiten zu konstruieren.

    Weitere eher speziellere Anwendungsfelder sind:
    • Simulation setup
    • Multimedia authoring
    • Educational software
    • Controlling robots and process control
    • Intelligent Agents

    "Tatsächlich, alle Anwender würden von der Möglichkeit profitieren, durch Scripting ihre repetetiven Aufgaben zu automatisieren und ihre Anwendungen an ihre Anforderungen anzupassen." (vgl. Natural Programming: Project Overview and Proposal, Brad A. Myers)

    Lösung

    Beispiele für Natural Programming finden Sie im Demonstratorbereich.

    Konsequenz

    Mit mehr natürlichen Programmiersprachen und -Umgebungen ist ein steigende Zahl von Menschen zu erwarten, welche in der Lage sein werden, zu programmieren.
    Mit mehr natürlichen Programmiersprachen ist ein schnellerer und effizienterer Implementierungs-Prozess zu erwarten.
    Die so erstellten Programme sind weniger fehlerbehaftet und leichter lesbar und damit wartbar, als Programme, welche in heutigen Programmiersprachen programmiert wurden. Somit können auch Laien in Open-Source-Communities integriert werden.
Topic revision: r4 - 27 Feb 2007, MarkusHofmann
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback