BlackJack hat geschrieben:@ichbinsisyphos: `short integer` ist in C nicht 16 Bit lang. Das mag auf vielen Plattformen so sein und ist im neuesten Standard wohl auch die Mindestlänge (?), aber keine generelle Aussage die man so über C treffen kann.
Natürlich kümmerst Du Dich in Python auch um Datentypen. Du wählst ja bewusst den Typ "ganze Zahl" und Du versuchst doch auch nicht über Fliesskommazahlen zu iterieren, weil Du weisst, dass der Typ das nicht unterstützt. Python befreit einen nicht davon sich über Typen Gedanken zu machen, man muss sie nur nicht alle naselang deklarieren.
Man muss auch nicht die genaue interne Datenstruktur auf Maschinenebene kennen, um gute Programme zu schreiben, es reicht die O()-Notation für den Speicherverbrauch von Typen und das Laufzeitverhalten von Operationen zu kennen.
Ja die Länge der Datentypen ist plattformabhängig, aber das ist nicht wirklich der Punkt.
Du wählst in Python zu Beginn den Datentyp nicht explizit. Du schreibst zum Bsp. "x = 2", oder "x = 2.5". Der Anfänger denkt er speichert die "Zahl" in der Variablen und wundert sich oft über die Resultate. Ich bin mir sicher ihr hattet schon viele Typen hier, die den Unterschied zwischen floating point und integer nicht verstanden haben.
In C heißts "int x = 2", "float x = 2.5" und "int x = 2.5" liefert x als 2 zurück, jeder Datentyp hat eigene Rechenoperationen. Da kanns von Anfang an keine Verwechslungen geben.
Python ist sehr stark abstrahiert und verbirgt die Vorgänge auf der Maschinenebene. Es ist nicht unmöglich sie herauszufinden, aber halt nicht naheliegend.
Jemanden der z.B. vorhat später mal Informatik zu studieren würd ich auf alle Fälle C empfehlen.
Ich benutzt Python seit 2 Jahren oder so, hatte dabei einen learning-by-doing Ansatz. Es hat auf alle Fälle gereicht um schön langsam alle Probleme zu bewältigen, für die ich den Computer brauche, aber die C/C++-Vorlesung im letzten Semester hat mir ordentlich die Augen geöffnet. Und ich denke nicht, dass ich wesentlich dümmer bin als der durchschnittliche Python-Anfänger.