Verfasst: Donnerstag 30. April 2009, 16:31
Wenn man wirklich tief in die Materie will sind Cs Typen unnötige Abstraktion.
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Nach einer quälenden C++-Erfahrung gestern bin ich wirklich froh, normalerweise Python schreiben zu können. Die Sprache an sich ist ja nicht furchtbar, aber es gibt (um auf deinen Kritikpunkt übrigens zurückzukommen) hundertsiebenunddreißig Wege zum Ziel, über verschiedenste Bibliothekten, die einem das Leben leichter machen. Und so hatte sich der Code, den ich anpassen durfte, auch nicht zwischen Qt, C++ STL und C library entschieden, sondern locker alles durchgemischt, mit der entsprechenden Übersicht.ichbinsisyphos hat geschrieben: Die neuen C++-Standards sind relativ jung. Die sind ja nicht nur deswegen noch immer so mühsam um die Leute zu quälen, sondern weil man dadurch eine größere Kontrolle über den Programmablauf hat.
Code: Alles auswählen
tree = parse(filename)
el, = tree.findall('.//foo/bar')
for k, v in (line.split(':') for line in el.text.splitlines()):
if k == 'om':
return float(v.strip())
HerrHagen hat geschrieben:Programmieren heißt nicht einfach nur dem Computer ein paar Befehle geben, die er dann nacheinander abarbeitet - das wäre ein eher naives Verständnis. Programmieren ist vielmehr die Beschreibung einer Problemstellung - und zwar auf eine Art und Weise die ein Rechner letztendlich verstehen kann.
SICP hat geschrieben:Code should be written for humans to read, and only incidentally for machines to execute.
Mal bildlich gesprochen finde ich persönlich es wesentlich angenehmer, auf einer stabilen Brücke zu stehen und zu gucken was unter der Brücke ist, als im Wasser wild rudernd zu versuchen die Brücke zu erreichen.ichbinsisyphos hat geschrieben:Wenn jemand zum Ziel hat ein sehr tiefes Verständnis für die Materie zu entwickeln ist aber wahrscheinlich der zwanghafte, mühsame Weg über C geschickter. Weil die Abstrahierung nicht so stark ist und man sich um das meiste selbst kümmern muss.
Fällt dir auf das wir einer Meinung sind? Die Sache hat einfach zwei Seiten, die man für sich abwägen sollte.BlackJack hat geschrieben:@ichbinsisyphos: Aha, Physiker, der von Leuten die selber nie richtig Programmieren gelernt haben ein Gemisch aus C und C++, zwei sehr verschiedenen Sprachen, gezeigt bekommen hat. Und dann Informatikstudienanfängern Tipps gibt. Argh!
Ich habe selber schon Programme von Physikern gesehen. Da ist es teilweise wichtig, dass man sich wirklich gut mit der Hardware auskennt, die Speicherarchitektur kennt, um Fortran-Code zu schreiben, der bei grossen Datenmengen möglichst wenig "cache misses" verursacht, und die Fliesskommaberechnungen so zu anzuordnen, dass die Rechenungenauigkeiten möglichst klein bleiben. Und nun überleg mal bitte für wieviel Prozent der Software auf diesem Planeten dieses ganze Spezialwissen und die absolute Kontrolle über jedes Prozessorregister nötig ist!? Und wieviel Software von einer abstrakteren Sicht profitiert, die grössere, wartbarere, und stabilere Systeme erlaubt.
Das Problem bei C++ ist ja nicht, dass man sich mit der Hardware und der weitreichenden Kontrolle auseinandersetzen *kann*, sondern dass man es *muss*. Zeit die dabei draufgeht, geht einem vom Lösen des eigentlichen Problems ab.
Das tut mir leid für dich.BlackJack hat geschrieben:Ich habe selber schon Programme von Physikern gesehen.