bwbg hat geschrieben:Manche Dinge muss man sich einfach schönsaufen ...



bwbg hat geschrieben:Manche Dinge muss man sich einfach schönsaufen ...
Leonidas hat geschrieben:Habe auch letztens festgestellt dass ich knapp 10 Jahre dabei bin, ...
Ich bin definitiv zu früh geborenLunar hat geschrieben:Ach, das waren noch Zeiten… kann mich noch gut daran erinnern, wie viel Überwindung es mich gekostet hat, von „ordentlichen“ Sprachen [...] zu diesem komischen „Python“ zu wechseln…
Code: Alles auswählen
10 print "Sabine ist doof"
20 goto 10
So gesehen lebt jeder in einer unglaublich spannenden Zeit! Allein die Vorstellung kann einem den Atem nehmen...lunar hat geschrieben:Ich freue mich schon auf die Zeiten in 25 Jahren, in denen ich das dann zu jungen Nachwuchs-Programmierern sagen kann
Definitv. Verglichen mit früher ist der Zugang zu Informationen heute sehr viel leichter.mutetella hat geschrieben:Ist es nicht so, dass z. B. dieses Forum und unzählige andere Community-Zugänge, kostenlose hochwertige Informationen an jeder Ecke, günstigste Hardware und so weiter Dinge sind, die in den 80ern/90ern in umgekehrter Form eher Hürden darstellten?
Das aber gilt heute für uns alle; schön, dass Du auch auf der pyCon warst.mutetella hat geschrieben:Ich möchte damit nicht sagen, dass die Jungs (wo sind eigentlich die programmierenden Frauen??), die ich z. B. während der letzten beiden PyCon's erleben durfte, heutzutage weniger ehrgeizig, begabt und kreativ sein müssten. Aber sie haben es einfacher und kommen durch heutige Selbstverständlichkeiten wesentlich schneller voran.
Dem würde ich (mit Einschränkungen) zustimmen. Obwohl ich im wesentlichen kein Assembler programmiere, hat mir die Auseinandersetzung mit Assembler durchaus auch was gebracht, etwa habe ich dort zum ersten mal den Sinn von Pointern in C richtig verstanden.BlackJack hat geschrieben:@lunar: Ich denke wenn sie gute Programmierer werden wollen, werden sie es nachvollziehen *müssen*. Dabei meine ich nicht unbedingt das sie Assembler schreiben müssen, sondern sich irgendwie das Wissen aneignen müssen, welches man dabei erlangt. Ich finde schon, dass das hilfreich ist. Zum Beispiel Speicherlayout und Bitmanipulationen wenn man mit Dateiformaten oder Kommunikationsprotokollen zu tun hat. Oder wenn man sich ein Laufzeitverhalten nicht so ganz erklären kann und deshalb das `dis`-Modul her nimmt. Oder halt auch bei anderen Sprachen in denen es einen Assembler-ähnlichen Bytecode gibt. Dann gibt es auf höherer Ebene die ganzen „best practices” deren Wert man IMHO besser einschätzen kann, wenn man selbst mal mit viel unstrukturiertem Spaghetticode in einem einzigen Namensraum zu tun gehabt hat.
Kein Problem. Passend zum Thema kann ich da nur sagen: In meinem Alter ist man schon froh, wenn es nur ein Beitrag war, der verloren ging.Leonidas hat geschrieben:Ich glaube beim abtrennen hab ich einen Beitrag von dir verloren.
Das ist mir zu pauschal. Ein guter Programmierer muss IMHO nicht nur guten Code schreiben. Genauso wenig wie ein guter Musiker nur richtig spielen sollte. Für mich ist auch der ein guter Programmierer, der ein gut bedienbares UI bzw. sinniges API umsetzen kann.BlackJack hat geschrieben:Ich denke wenn sie gute Programmierer werden wollen, werden sie es nachvollziehen *müssen*. [...]
Für Dich als Programmierer ist das ein Massstab, ja. Nicht aber für die in den letzten ~ 30 Jahren rasant gewachsene Zahl an Nutzern. Und die setzen auch Massstäbe, an die sich ein (guter) Programmierer halten muss. Zu präcommodorschen Zeiten lag die Zahl der Softwarenutzer und -entwickler wahrscheinlich um die 60:40. Und Nutzerfreundlichkeit war sicher kein Kriterium, das ein Softwareentwickler auf seinem Radar hatte.BlackJack hat geschrieben:Die neuen Kriterien sehe ich nicht. Der Massstab wird weiterhin bleiben ob jemand es schafft verständlichen, wart-, und erweiterbaren Quelltext zu schreiben.
Sollte diese Diskussion dazu beitragen, dass das, was jemand tut besser wird, so ist sie durchaus wichtig. Alles, was wir gut machen, wird gutes hervorbringen.lunar hat geschrieben:Lesson Learned: Wir haben eigentlich ganz andere und viel wichtigere Probleme als diese Diskussion…
Dem kann ich zustimmen. Man kann guten Code schreiben, ohne die Details seiner Verarbeitung zu kennen. Für mich persönlich hatte es aber immer seinen Reiz, alles bis zu seinen Ursprüngen zurückzuverfolgen. Als ich begonnen habe, brauchte man Assembler kaum mehr, ich hab's mehr aus Freude an der Sache gelernt. Leider aber ist in den letzten rund 20 Jahren viel Wissen verloren gegangen, was ich sehr bedaure.Ich halte es auch nicht für notwendig, sich durch alle „Schichten“ zu arbeiten, um zu einem guten Programmierer zu werden.
Das ist einfach der Zeitgeist... Ich kann mich noch gut erinnern, wie der erste Fernseher meiner Eltern, so alt wie ich selbst, über 20 Jahre durchgehalten hat. Mittlerweile ist es aber so, dass man ja alle zwei Jahre spätestens wieder ein neues Gerät braucht, um auf dem neusten Stand zu sein. Mit Applikationen ist das kaum anders.Die riesige Masse an Nutzern mit ihren teils sehr kurzlebigen und beliebigen Anforderungen an die Software.
Ist ja alles richtig. Auch sollte man zum Beispiel wissen, dass Zugriffe auf Daten aus dem Arbeitsspeicher in der Regel wesentlich schneller sind als Festplattenzugriffe. Generell können IO-bezogene Kenntnisse beim Programmieren nicht schaden. Das alles sind aber IMHO reine *Konzepte*. Man muss dafür nicht die darunterliegende Hardware genauer kennen.BlackJack hat geschrieben:Wenn ein Programmierer das Laufzeitverhalten oder den Speicherverbrauch seines Programms nicht erklären kann, also im Ernstfall nicht sagen kann, dass es normal ist, sprich einfach nicht besser geht, oder aber weiss wie er das Programm umformulieren muss, damit sich das Verhalten verbessert, dann gibt es IMHO entweder ein Problem mit dem Programmierer oder der verwendeten Sprache.
Das Problem würde ich eher beim Programmierer verorten als Zeichen mangelnder Kenntnis von Algorithmen. Und damit befinden wir weniger auf hardwarenaher Ebene als vielmehr am Schreibtisch mit Bleistift und Papier (und großem Radiergummi). Allerdings finde auch ich, dass ein grundlegendes Verständnis der verwendeten Hardware vorhanden sein sollte - ob dies bis auf Registerebene heruntergehen muss, halte ich für fragwürdig; es schadet aber auch nicht.BlackJack hat geschrieben:Wenn ein Programmierer das Laufzeitverhalten oder den Speicherverbrauch seines Programms nicht erklären kann, also im Ernstfall nicht sagen kann, dass es normal ist, sprich einfach nicht besser geht, oder aber weiss wie er das Programm umformulieren muss, damit sich das Verhalten verbessert, dann gibt es IMHO entweder ein Problem mit dem Programmierer oder der verwendeten Sprache.
Es sei den du benutzt eine Sprache die keine strikte Ausführung hat wie z.b. Haskell. Die Geschwindigkeit oder den Speicherverbrauch eines Haskell Programms auch nur abzuschätzen, dürfte für Leute die nicht an einer Haskell Implementation arbeiten nahezu unmöglich sein. Ob man da Ahnung von der Hardware oder den Algorithmen hat und wie viel ist da vollkommen irrelevant.kbr hat geschrieben:Das Problem würde ich eher beim Programmierer verorten als Zeichen mangelnder Kenntnis von Algorithmen. Und damit befinden wir weniger auf hardwarenaher Ebene als vielmehr am Schreibtisch mit Bleistift und Papier (und großem Radiergummi).BlackJack hat geschrieben:Wenn ein Programmierer das Laufzeitverhalten oder den Speicherverbrauch seines Programms nicht erklären kann, also im Ernstfall nicht sagen kann, dass es normal ist, sprich einfach nicht besser geht, oder aber weiss wie er das Programm umformulieren muss, damit sich das Verhalten verbessert, dann gibt es IMHO entweder ein Problem mit dem Programmierer oder der verwendeten Sprache.