Programmieren lernen mit Python

  • Ich habe diesen Text von Mihnea Dobrescu-Balaur übersetzt, um zu zeigen wie andere über die Programmiersprache Python denken.
    Der Autor war damit einverstanden und hat mir seine Einwilligung am 22.11.2013 gegeben, mit Bitte um den Verweis zu seiner Seite.


    www.mihneadb.net/post/python-the-best-first-programming-language/


    von Mihnea Dobrescu-Balaur.


    Ich begann die Programmierung in der Schule zu lernen, und habe mit C angefangen. Es war ein bisschen kompliziert, sich mehr auf die Speicherverwaltung als auf Algorithmen zu kümmern, aber ich wusste nicht was ich jetzt weiß und ich war wirklich daran interessiert, also ging ich diesen Weg.


    Danach wurde mir in der Universität im Einsteigerkurs auch C gelehrt. Bis dahin kannte ich andere Programmiersprachen, insbesondere Python, und sah, wie Menschen ohne Vorkenntnisse mit C kämpften begann ich mich zu fragen, ob Python eine bessere erste Sprache wäre. Beim Betreuen einiger Programmierungskurse und Durchführen einiger Python-Workshops, bin ich überzeugt, dass Python die beste erste Programmiersprache ist.
    Lassen Sie mich Ihnen sagen warum das so ist.


    Hier ist ein Vorgeschmack darauf, wie der Pythoncode aussieht:



    def contains(numbers, value):
    for n in numbers:
    if n == value:
    return True
    return False


    nums = [1, 2, 3, 7, 13, -2, 4, 8, 9]
    result = contains(nums, 7)
    print result # True


    Ich zeigte den Leuten ohne Programmiererfahrung diese Code-Snippet und sie haben kein Probleme mit dem Lesen und Verstehen des Verhalten. Ich hörte ihr Feedback und reflektierte es und kam vier wichtigen Aspekte, die ich denke das Python die erste Programmiersprache ist, die jemand lernen sollte. Es ist eine hohe, dynamische (und dynamisch typisierte) Programmiersprache, mit einen Ausdruckskraft, die die Lesbarkeit des Codes verbessert.


    [Blockierte Grafik: http://localhost:8000/python-logo-inkscape.svg]


    Python ist eine Hochsprache. Dies hat nicht unbedingt viel sagen, da C auch als eine Hochsprache bezeichnet wird.Formulieren wir es als "höhere Sprache als C". Dies bedeutet, dass Python eine Abstraktionsebene bietet, in der sie sich sich auf Algorithmen konzentrieren können und was Ihr Programm zu tun hat, versteckt sie die Tatsache, dass der Computer eine dumme Maschine ist, die nur binär versteht. Beispiele hierfür sind viel - Sie müssen nicht den Speicher manuell verwalten, Python sagt, wenn Sie außerhalb der Grenzen auf eine Liste zugreifen, Strings haben eingebaute Unterstützung und die Standard-Bibliothek wird bereitgestellt mit gut dokumentierten Funktionen meist mit dem was du tun will. Außerdem haben Sie Zugriff auf alle Datenstrukturen, die Sie es für das Studium des Programmierens benötigen.


    Die Definition einer dynamischen Programmiersprache ist, wie Wikipedia erwähnt, ein bisschen unscharf, aber der Hauptaspekt, die Python zur einener freundliche Sprache macht,
    ist die runtime. Dank den haben wir dynamische Typisierung, einfach Selbstbeobachtung und Reflexion, alle gebündelt und sind in dem Python-Interpreter zugänglich.
    Dies fördert Newcomer mit Live-Code experimentieren und ermöglicht eine engere Feedback-Schleife bei der Arbeit an Projekten. Keine Ahnung, was die Funktion macht?
    Versuchen Sie es in der Interpreter! Fragen Sie sich, welche Funktionen ein Modul zur Verfügung stellt?
    Nutze die Funktion dir!
    All diese Sachen machen das Experimentieren einfacher und senkt die Zeit für die Erstellung von Prototypen.


    Wie einfach es ist eine Idee auszudrücken und wie knapp Sie es tun können:
    Für mich hängt die Ausdruckskraft einer Programmiersprache von zwei Dingen zusammen.
    Ich fühle, dass Python es Ihnen ermöglicht, eine Menge Sachen in ein paar Zeilen Code zu erledigen,
    ohne die Lesbarkeit (The Zen of Python) darunter leidet.
    Es sind die kleinen Dinge, wie die Möglichkeit zu schreiben



    3 < x < 10


    , die Ihnen ermöglicht, kurze, schöne Code zu schreiben.
    Liste Comprehensions sind ein weiteres Beispiel des mächtige Syntax:


    numbers = [1, 2, 3, 4, 5, 6, 7, 8]
    evens = [x for x in numbers if x % 2 == 0]



    Die Syntax ist ähnlich wie in der Mathematik verwendetet Set-builder Notation, die es zugleich leistungsfähig und lesbar macht.


    Last but not least, ist die Lesbarkeit eine wesentliche Stärke von Python.
    Ich denke, der wichtigste Grund dafür ist, die Vertiefung als Teil der Syntax.
    Python verwendet keine geschweiften Klammern, um Codeblöcke begrenzen,
    es reichen Einrückungen. Für Anfänger bedeutet dies, sie müssen gut gegliederte Code
    für ihre Programmarbeit schreiben, und später, bedeutet dies, dass der Code das Lesen anderer Menschen einfacher wird.


    Außerdem verwendet Worte Python, in denen andere Sprachen Symbole und Zahlen verwenden würden(and , or , True , False etc.), womit es näher an den gesprochenen algorithmischen Code (Pseudocode) ist.


    Versuchen Sie dieses. Lesen Sie die folgenden Code-Schnipsel laut.
    Welcher ist leichter zum Verstehen?
    Anmerkung: Das Beispiel ist natürlich im Englischen besser zu verstehen,
    aber für and = und, or = oder, true = wahr, false = falsch einsetzen gibt es den Sinn wieder.


    is_even = (a % 2 == 0) ? 1 : 0;


    Python
    is_even = True if a % 2 == 0 else False


    Natürlich konnten wir nur den Vergleich als Ausdruck benutzt habe, aber der Punkt war,
    den ternären Konstrukt zu zeigen.


    Da die Syntax dem Pseudocode ähnelt können Anfänger eine Arbeitsimplementierung eines Algorithmus sie ziemlich leicht begreifen.
    Dann dank Python Lesbarkeit und dynamischen Natur können sie frei experimentieren, um sicherzustellen, dass sie den jeweiligen Algorithmus verstehen.


    Für alle genannten Gründen (und mehr), denke ich, Python ist die Programmiersprache für den Unterricht.
    Um diesen Anspruch auf die Probe zustellen hat ROSEdu Py4School ein Programm gestartet,
    in dem Hochschullehrer und Studenten Python, als Alternative zu C zu lernen. Lehrer und Studenten lieben es.


    Zusammenfassend ist Python eine Einsteigerfreundliche, aber mächtige Sprache.
    Die Anfänger konzentrieren sich auf Algorithmen, lassen die systemnahen Implementierungsdetails außer Acht,
    dank einem ausdrucksstarken und gut lesbaren Syntax. Ich denke, das macht Python zu der besten ersten Programmiersprache.


    am 18.11.2013 geschrieben.