Zitat Zitat von Mog Beitrag anzeigen
Auch in diesem Fall würde ich erst in einem Gespräch herausfinden, was du dir vom Programmieren erwartest und was du in Zukunft gedenkst zu programmieren. Moment mal: Rekursion?^^

Schießlich geht es nicht darum einfach irgendwie programmieren zu lernen: Es geht dabei gleichzeitig so viel wie möglich davon mitzunehmen. Wie ne Schleife funktioniert, lernt man überall. Aber, nachdem man den absoluten Basis-Kram durch hat - und das geht sehr schnell - geht es ja bereits darum Bibliotheken kennen zu lernen.
Ich kann es mir nicht vorstellen, dass ein Anfänger schon weiß was er in Zukunft programmieren will. Wirklich nicht. Wenn ich mich an meine Anfangszeit zurück erinnere, hatte ich keine Ahnung was möglich ist oder was Programmierung überhaupt bedeutet. Wenn jemand von Bibliotheken sprach, verstand ich nur Bahnhof. Das ist der Punkt auf den ich hinaus will. Als Anfänger möchte man erst nur den "Basis-Kram" lernen und sich erstmal von der Welt des Programmierens ein Bild machen. Von Bibliotheken will man, zumindest meiner Erfahrung nach, nichts wissen. Das erste mal hatte ich mit Bibliotheken zu tun (zumindest bewusst), als ich schon relativ weit mit C++ war.
Du siehst das nun aus einer völlig anderen Perspektive, du bist routiniert, hast Erfahrung und Überblick, ich kann auch deine Gedankengänge nachvollziehen. Ich finde nur, dass du etwas übers Ziel hinausschießt, bei einer simplen Frage eines Anfängers nach einer einsteigerfreundlichen Programmiersprache, und eine Analyse der Vorstellungen des Anfängers hier nicht zwingend nötig ist. Jede simple Programmiersprache (VB, JS, Python, etc) wird für den Anfang ausreichen und sobald man den "Basis-Kram" durch hat, kann man gezielter vorgehen und sich eine Programmiersprache suchen, die auf die Bedürfnisse besser zugeschnitten ist und die dann auch anspruchsvoller ausfallen darf.

Naja, wie dem auch sein, es soll ja Menschen geben, die anderer Meinung sind.

Zitat Zitat von Mog Beitrag anzeigen
systemspezifische ifdefs brauchst du nur, wenn du Abstraktionsbibliotheken schreibst. Ich möchte behaupten, dass die Meisten leute die das machen eine schlechte Bibliothekswahl getroffen haben, oder eben eine grundlegende schreiben.
Bei C/C++ brauche ich #ifdefs sobald ich den ANSI Standard verlasse. Filesystem, Netzwerk, Compiler, Betriebssystem, um Beispiele zu nennen wo ich in der Vergangenheit abstrahieren musste. Wobei der Fakt, dass viele Betriebssysteme auf POSIX aufbauen, bzw. es unterstützen schon einiges erleichtert.
Der Punkt ist jedenfalls, dass die mitgelieferten Module in Python mir diese Arbeit schon im Großen und Ganzen abnehmen.
Um es nochmal zu sagen: Ich schreibe einmal den Code und kann ihn auf den vielen unterstützten Betriebssystemen ausführen ohne irgendwas zu ändern, mich um Third-Party-Bibliotheken kümmern zu müssen oder sonstwas.
Das habe ich mit portablem Pythoncode gemeint und nur deswegen angesprochen, da ich dachte, du hättest mich missverstanden. Wenn das nicht der Fall ist, ist die Sache gegessen.

Zitat Zitat von Mog Beitrag anzeigen
C-Entwickler achten einfach automatisch auf Dinge, die mans sonst gerne ignoriert.
Was mir hierzu spontan einfallen würde, wäre rein optimierungsbezogen, basierend auf mehr Hintergrundwissen im Kontrast zu dem Otto Normal-High-Level-Programmierer.

Zitat Zitat von drunken monkey Beitrag anzeigen
Das wird dir für eine Library aber nichts nützen. o_O' Sie werden auf jeden Fall weiterhin Python-spezifisch sein, während sie in C nicht nur (meist) bezogen aufs OS, sondern dank Bindings auch auf die Sprache portabel sind.
Dass man außerdem gerade bei Bibliotheken halbwegs auf Perfromance achten wird/sollte, und daher C von Natur aus geeigneter ist als Python, kommt noch dazu. Also gerade bei Bibliotheken hat C eindeutig die besten Karten.
Ich habe seinen ausgeklammerten Satz nur deswegen kommentiert, weil ich annahm, er bezog sich dabei auf meine Aussage, dass Pythoncode portabel ist und ich dachte er hätte mich missverstanden. Ich bezog mich dabei nicht auf Bibliotheken, sondern auf den Programmcode an sich.