Programmieren (Programmieren), Artikelsammlung, Seite 722509
https://www.purl.org/stefan_ram/pub/programmieren (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Programmieren

Das Programmieren

Programmieren heißt, mit einem Text  genau zu sagen, was man will. Man zeigt beim Programmieren nicht mit dem Finger auf das, was man will, sondern beschreibt es mit einer Folge von Schriftzeichen.

Beispielsweise könnte jemand eine Datei von einer fernen Quelle abrufen und danach kopieren wollen. Beide Schritte könnten eine Stunde dauern. Würde dies durch direkte Bedienung eines Computers erledigt werden, müßte nach einer Stunde ein Bediener anwesend sein, um den Kopiervorgang zu starten. Wird hingegen ein Programm dafür geschrieben, so kann dies automatisch den Kopiervorgang starten, nachdem das Abrufen abgeschlossen wurde, so daß kein Bediener mehr anwesend sein muß.

Im allgemeinen enthalten Programme nicht einfach nur Anweisungen, der hintereinander abgearbeitet werden, sondern mehr oder weniger abstrakte Regeln dafür, was das Programm tun soll und wie es dies tun soll. Beispielweise könnte das Abrufen einer Datei durch ein Programm scheitern, und das Programm könnte eine Regel dafür enthalten, wie es sich in diesem Fall verhalten soll.

Diese Artikelsammlung behandelt ausgewählte Grundlagen und Themen des Programmierens, welche nicht direkt mit einer bestimmten Programmiersprache verbunden sind. Die Artikelsammlung ist weniger zum Lesen von vorne nach hinten gedacht, sondern mehr dazu, bei Interesse einzelne Artikel herauszugreifen.

Kann jeder programmieren lernen?

Wir nehmen einmal an, daß mit „jeder“ jemand gemeint ist, der schon lesen und schreiben kann und über ausreichend viel Zeit zum Lernen verfügt.

Die meisten Menschen können das Lesen und Schreiben trivialer  (also sehr einfacher) Programme erlernen. Um eine Programmiersprache darüber hinausgehend richtig gut beherrschen zu können, ist es aber oft nötig, viel Zeit zum Lernen zu investieren und eine gewisse Begabung mitzubringen. Und nur wenige Programmierer erreichen das Niveau, welches erforderlich ist, um auf vordere Plätze auf Programmierwettbewerben, wie dem ICFP Contest, zu gelangen.

Das Erreichen höherer Niveaus in der Kunst des Programmierens, etwa um als Programmierer arbeiten oder eigene Ideen umsetzen zu können, ist also leider nicht jedem  möglich.

Manche Sprecher machen es sich leicht, indem sie proklamieren: „Jeder Mensch kann programmieren lernen!“ – das klingt gut und und schmeichelt dem Hörer (der Sprecher will sich beliebt machen), aber es ist falsch und kann sogar Menschen dazu verleiten, Zeit mit der Beschäftigung mit einer Sache zu vergeuden, für die sie gar nicht geeignet sind. Im Grunde ist es sogar menschenfeindlich, da solche Sprecher alle, die nicht programmieren lernen können, – im Umkehrschluß – nicht als Menschen ansehen.

Besonderheiten einiger Programmiersprachen

In diesem Abschnitt finden sich Texte, die sich auch an Leser richten, die noch keine Programmiersprache erlernt haben.

>723888 Besonderheiten einiger Programmiersprachen
>723691 Einzelne Programmiersprachen (Vergleichsmatrix)

Allgemeines zum Programmieren

>721677 Was ist eine Programmiersprache?

Stilregeln

>721530 Numerierung sollte bei 0 beginnen, nicht bei 1

Gültigkeitsbereiche sollten möglichst klein sein, weil dadurch die Wahrscheinlichkeit von Namenskollisionen abnimmt (Wie wahrscheinlich ist es, daß es zwei „Paul“ in einer Schulklasse gibt? Wie wahrscheinlich ist es, daß es zwei „Paul“ in der Bundesrepublik gibt?)

Algorithmen

Zufallszahlen

Wie können Zufallszahlen durch eine Berechnung mit festgelegten Werten erzeugt werden? Es ist möglich, daß eine berechenbare Folge von Werten ein so kompliziertes Bildungsmuster hat, daß die nächste Zahl als nicht vorhersehbar, und damit als „zufällig“, erscheint, obwohl sie tatsächlich vorherberechnet ist. Beispielsweise könnte die Folge „4 1 6 2 7 4 0 5 2 6 “ als zufällig erscheinen, tatsächlich handelt es sich um das abgerundete Drittel der Uhrzeit (Stunde), die man abliest, wenn man nach jeder Ablesung vierzehn Stunden wartet.

Die iterierte logistische Abbildung

x = 0.7

for i in range(100):

x = 4*x*(1-x)

print( x )

Paradigmen

Objektorientierte Programmierung

>723125 Was ist objektorientierte Programmierung?
>721911 Warum objektorientierte Programmierung?

Zu Programmiersprachen

Hier werden einzelne Aspekte von Programmiersprachen behandelt.

Literale

>721344 Übungen zu Literalen

Aufrufe von Unterprogrammen

Ein Unterprogramm  ist ein Program, das sich aus einem Program heraus starten läßt. Das Programm, welches den Start veranlaßt nennen wir in diesem Zusammenhang das Hauptprogramm. Ein Unterprogramm wird oft synchron  gestartet, indem die Ausführung des Hauptprogramms beim Start des Unterprogramms suspeniert wird. Falls der Ablauf des Unterprogramms endet, wird das Hauptprogramm dann wieder fortgesetzt. Oft besteht auch noch die Möglichkeit, beim Start des Unterprogramms Informationen an das Unterprogramm zu übergeben  oder beim Beenden des Unterprogramms Informationen aus dem Unterprogramm zu erhalten.

Festlegungen von Unterprogrammen

Durch eine Deklaration eines Unterprogramms wird ein neues Unterprogramm erstellt und mit einem Namen versehen.

>724535 Vorteile von Festlegungen von Unterprogrammen

Schleifen

>720345 Iterationen, Schleifen, *Schleife
>721248 jf — Verantwortung und Schleifen

>720899 Aufgaben zu Schleifen

Modulo

>720902 Weitere Übungsaufgaben

Software-Fehler

Mariner In einer Planung fand sich »ʀ̅̇« für den Mittelwert der Ableitung einer Größe »ʀ«. Beim handschriftlichen Übertragen in die Spezifikation wurde der Strich vergessen und nur »ʀ̇« geschrieben.

Lernmöglichkeiten

>724345 Bootcamps

Quellen

>720304 Programmieren-Quellen [sweref]

>724188Windows -Vorkenntnisse in Programmierkursen

The Elements of Programming Style, by Brian W. Kernighan and P. J. Plauger, is the fundamental reference about programming style.

Sonstiges

major ˈmeɪdʒɚ (sd)

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722509 stefan_ram:722509 Programmieren Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722509, slrprddef722509, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/programmieren