Hello, Guest the thread was viewed3.4k times and contains 61 replies

last post from atomcode at the

Warum werden Projekte nicht zu Ende gebracht und kann Open Source dagegen helfen? [aus: Mario Kart ähnlicher Racer]

  • atomcode

    Sorry aber ich werde dazu nichts mehr sagen. Und zwar nicht weil ich vor irgendetwas "ausweichen" will oder "Heimlichtuerei" betreibe oder es "zu eng" wird oder was auch immer. Sondern weil ich bereits alles gesagt habe, was ich zu dem Thema zu sagen habe, und weil ich auch meine Meinung/Sichtweise nicht im Ansatz fuer so eine grosse und wichtige Sache halte, wie Du sie hier darstellst (das meine ich mit "reinsteigern"). Ich habe meine Meinung geaeussert, meine Sichtweise beschrieben, wenn Du eine andere hast dann ist das voellig ok. Aber hier werden Zusammenhaenge geschaffen - meinetwegen nicht "unterstellt" aber doch sehr suggestiv gefragt - z.B. zwischen einer angefangenen Engine-"Codebase" und einer Website, die "Codebase64" heisst, die aber beide nichts miteinander zu tun haben und zwei voellig unterschiedliche paar Schuhe sind. Und deshalb halte ich es auch fuer sinnlos, in solch eine Diskussion ueberhaupt einzusteigen, weil das, wie ich schon mehrfach sagte, ueberhaupt nichts mit dem zu tun hat, wovon ich gesprochen habe. Das ist doch absurd, dass ich mich da jetzt zu irgendwelchen Details rechtfertigen soll, zu Dingen die auf einem konstruierten Zusammenhang basieren.

  • Wenn z.B. die Kandidaten, die hier schon was Fortschrittliches vorzeigten, sofort ihren Quellcode veröffentlicht hätten, bin ich mir sicher, dass so manch einer sich das näher angesehen, irgendwelche programmtechnischen Verbesserungsvorschläge unterbreitet oder sogar direkt eine neue Engine-Version herausgebracht hätte.

    Ich weiß nicht... Es ist sicher kein Nachteil, wenn man zumindest den Source veröffentlicht, statt das Projekt nur bei sich liegen zu lassen.


    Andererseits gibt es mit Habitat ein richtiges Monsterprojekt und einigen motivierten Entwicklern auf der Server-Seite. Den C64-Client hat allerdings bislang noch niemand wirklich angegriffen, dabei könnte man da einiges optimieren und ihn vielleicht mit WiC64, Swiftlink/Ultimate+ kompatibel machen. Ich bin mir aber auch nicht sicher, in welcher Form hier die Sourcen vorliegen, aber ich bin ja auch nur Basic-Programmierer.


    Also in Summe bleibt es schon ein riesen Glück, wenn jemand andere Sourcen angreift.

  • Es ist sicher kein Nachteil, wenn man zumindest den Source veröffentlicht, statt das Projekt nur bei sich liegen zu lassen.

    Wenn Quellcode zu einer ersten Engine hier im Forum (damit sind keine großen Projekte aus vielen Dateien auf Github gemeint) veröffentlicht wird, gibt es eine gewisse Wahrscheinlichkeit, dass sich früher oder später damit der nächste befasst und damit weiterarbeitet und es verbessert oder zumindest einen Vorschlag macht, wie man es verbessern kann. Und das kann aufeinander aufbauen; dafür gibt es im Forum Beispiele. Wäre das nicht so, dass öffentliche Algorithmen und Snippets Sinn ergeben, bräuchte es eben keine Codebase udgl. Genau das hatte ich oben ja schon mehrfach gesagt, ist aber leider bis zum Schluss (siehe Beitrag vor Dir) nicht verstanden worden.


    Ich sage ganz sachlich, wenn es dies nicht bräuchte, bräuchte es das andere ja auch nicht, und daraus wird ein vermeintlicher persönlicher Angriff gezaubert; kann man sich nicht ausdenken.


    Fest steht, die oben erwähnte Wahrscheinlichkeit bzw. die Chance ist und bleibt bei Nichtveröffentlichung von Lösungen auf jeden Fall Null. Ein ausschließliches Angebot über PM ist auch nicht mit öffentlichem Code vergleichbar, weil es dann gerade mal ein Gehirn mehr ist, das eventuell zu Verbesserung und Komplettierung beiträgt.


    weil ich [..] "Heimlichtuerei" betreibe

    Sag mal ZeHa, warum eigtl. willst Du absolut alles, was ich sage, falsch verstehen? Lies doch mal richtig, was ich schreibe! Die "Heimlichtuerei" bezog sich doch wohl ganz eindeutig auf die ersten Engine-Entwickler hier und nicht auf Dich! Und dennoch tust Du wieder so, als hätte der pöse atomcode Dich damit angegriffen. Deine Liker verstehen offenbar auch nicht, dass dem gar nicht so ist und fallen auf diese Spielchen herein. Das nennt man dann wirklich Suggestion. Immer wieder stelle ich fest, dass Du Dich bei jedem Furz angegriffen fühlst. Nur, ob Du persönlich etwas doof oder unnötig findest, ist mir tatsächlich schnurzpiepegal; ist doch Deine Meinung. Mir geht es allein um das, was ich hier in diesem Beitrag im ersten Absatz nochmal geschrieben habe (wie oft jetzt eigtl. schon?) Das ist sachlich. Aber darauf gehst Du leider nicht sachlich ein, sondern kommst ständig nur mit diesem Gejammer, als wenn ich Dir persönlich was wollte; meine Güte.

    weil ich auch meine Meinung/Sichtweise nicht im Ansatz fuer so eine grosse und wichtige Sache halte, wie Du sie hier darstellst

    Ich habe Deine Meinung überhaupt nicht "dargestellt", sondern eine Aussage von Dir mit Hintergründen und Beispielen widerlegt. Das ist ein großer Unterschied.

    Soll ich Dir mal zeigen, wie das aussieht, wenn jemand die Meinung von anderen absichtlich verfälscht und negativ darstellt, um damit zu suggerieren, das wäre so gemeint gewesen? So:

    "i don't like what you are doing please do something else thank you"


    doch sehr suggestiv gefragt

    Die "Suggestion", dass man keine Snippets, Beispielcodes und einbaufähige Routinen bräuchte/gebrauchen könnte, zum Einbauen oder zum Weiterentwickeln, kam doch nicht von mir, sondern von dir selbst, und zwar mit den Sätzen "dann haetten wir ja jetzt 69 Mario Kart Clones" (also als ob jeder eben nur für sich allein arbeiten müsste/sollte/könnte/würde) und vor allem "wer Bock auf das Entwickeln eines MarioKart-Clones hat, der braucht dazu keinen Thread, [...], sondern derjenige macht das einfach und zieht es dann auch durch." Und dazu habe ich Dich eben gefragt, wofür man dann die Codebase braucht. Eine sachliche Antwort darauf blieb bis jetzt aus. Nur permanentes Geweine, ich hätte angeblich unterstellt, dass Du die Codebase (u.ä.) doof finden würdest.


    Sinnvolle Antworten wären stattdessen gewesen:


    Ja, da hast Du recht, mein Fehler. (etwas eingestehen, in freier Wildbahn selten)

    Das kann man nicht vergleichen, weil ... (die Begründung würde mich interessieren)

    Genau, die Codebase braucht man genauso wenig wie einen Quellcode im Forum! (eigenwillige Meinung, immerhin schlüssig, aber nicht hilfreich)


    Alles andere, insbesondere das unnötige Herunterziehen auf die persönliche Ebene, ist nicht zielführend, wie man hier die letzten zwei Seiten sah. Die Posts sind alle noch da, und jeder kann nachlesen, dass ich einfach nur sachlich gefragt hatte, warum das eine gebraucht wird, aber das andere angeblich nicht! Und, anstatt diese simple Frage einfach mal genauso sachlich zu beantworten, wurde es gleich als pöse Ehrverletzung wahrgenommen.


    die aber beide nichts miteinander zu tun haben und zwei voellig unterschiedliche paar Schuhe sind

    Du hast Deine Begründung vergessen, warum das angeblich so gar nichts miteinander zu tun haben soll. Die Begründung, warum das eben sehr wohl vergleichbar ist, habe ich zuvor schon mehrfach erwähnt; danke fürs Ignorieren! In beiden Fällen findet man eben nützliche Quellcodes vor, brauchbare Snippets, Routinen, Erkenntnisse, Algorithmen und Engines, um sie einzubauen oder daran weiterzuarbeiten. Das ist der Zusammenhang.


    Jemand möchte ein Spiel entwickeln, braucht - mangels eigener Idee oder Kompetenz oder Lust auf die Neuerfindung des Rades - dazu einen Algorithmus und schaut nach: auf Codebase, privaten Heimseiten und eben Foren, ob es dafür schon was gibt. Das hat es miteinander zu tun. Und das habe ich und sicherlich viele andere schon zigfach getan, von PHP über C++ bis BASIC.

    Erst neulich noch hatte ich das Forum als Nachschlagewerk benutzt, weil ich nicht mehr wusste, wie Mike das mit dem Nachladen in BASIC machte. Und so kommt das öfter mal vor, dass man einen Thread sucht, um ihn zu lesen und daraus zu lernen.

    Hätte Mike das nicht hier veröffentlicht, hätte ich eben in der Codebase gesucht, oder bei Lemon, oder in der einschlägigen Literatur. Letztendlich läuft es aufs Selbe hinaus.


    weil das, wie ich schon mehrfach sagte, ueberhaupt nichts mit dem zu tun hat, wovon ich gesprochen habe

    Doch, hat es sehr wohl; habe ich Dir jetzt zigfach erklärt und begründet, in diesem Beitrag hier schon wieder. Danke fürs Ignorieren und intensive Nicht-darauf-Eingehen! Begründungen von Dir wiederum, warum meine Nachfrage denn nichts mit Deinen Aussagen zu tun haben soll, sucht man stattdessen vergeblich. Du behauptest einfach, es wären "zwei Paar Schuhe", und damit ist es für Dich erledigt.

    dass ich mich da jetzt zu irgendwelchen Details rechtfertigen soll

    Nirgends hatte ich verlangt, dass Du Dich für irgendwas "rechtfertigen" sollst. Ich hatte Dir lediglich einfache Fragen gestellt, warum das woanders gebraucht wird, aber hier angeblich nicht. Das hättest Du einfach beantworten können. Wenigstens hast Du es ja nach langem Gezeter jetzt schon bis zu den vermeintlichen zwei Paar Schuhen geschafft. Immerhin eine Aussage, die Du auch hättest gleich bringen können, anstelle des Genörgels. Dabei geht es auch nicht darum, dass ein Archiv kein Forum ist, und ein Forum kein Buch, etc., sondern eben um die Funktion und den Nutzen in Bezug auf Quellen, wie vorhin bereits erklärt und mit Beispielen belegt.


    Fazit: Bei einer Frage kann man diese ganz einfach mal beantworten, ohne in diese Frage jedes Mal irgendwelche Unterstellungen oder sonstige persönliche Angriffe hineininterpretieren zu müssen. Im Zweifelsfall kann man nachfragen, wie es gemeint war. Beispielantworten, wie das ohne Eskalation aussehen könnte, habe ich oben auch gezeigt. Auf solch eine Antwort geht dann der andere (oder ein anderer) wieder ein, idealerweise alles begründet, vor allem bei einem kontroversen Thema, und das nennt sich dann Diskussion.


    Diskussion kommt sprachlich von Untersuchung. Und hier soll untersucht werden, ob eine offene Arbeit an einem Algorithmus helfen kann, diesen zu perfektionieren, zu Ende zu bringen und ggf. zu einem entsprechenden Programm verhilft. Dass dies durchaus so sein kann, hatte ich mit dem Renumber-Thread belegt. Wer denkt, "es braucht keinen Thread, denn wer Bock hat, macht es einfach", trägt zu dieser Untersuchung nicht wirklich bei. Das kann zwar oftmals zutreffen, wahrscheinlich sogar überwiegend (ich mache die meisten Algorithmen ja auch ganz allein, jedoch nicht alle!), aber man kann das eben nicht pauschalisieren. Je schwieriger und rechenintensiver die Aufgabe ist, desto sinnvoller kann eine Gemeinschaftsarbeit sein.


    Die Frage ist eben nicht, ob ein potenzieller Entwickler einen offenen Quellcode generell braucht, sondern ob ein vorhandener Code bei der Entwicklung helfen kann, und sei es nur die Zeitersparnis, weil man das Rad nicht selbst erst neu erfinden muss. Und meine Aussage dazu ist eben: Wenn das nicht so wäre, bräuchte es auch keine offenen Quellcodes auf Codebase und Co. Ich wette, so manch einer bedient sich bei den fertigen Sprite-Multiplexern, anstatt ihn selbst zu entwickeln, wenn er ein Spiel mit vielen Sprites produzieren will. Warum sollte das bei einer fiktiven Mode7-Engine anders sein? Und dabei ist es doch egal, ob man das hier findet oder eben in der CodeBase, von wegen "völlig unterschiedliche Paar Schuhe".

  • Ich vermute das die Motivation dazu am wichtigsten ist. Ich habe z.B. bei einigen Modprojekten zu bekannten Titeln mitgearbeitet. Aber als die große Community zu den Spielen zerfallen ist hatten einfach immer weniger Lust noch mitzuwirken.


    Besonders aufgefallen ist mir das bei einem Sudden Strike Projekt. Als Sudden nicht mehr ohne Bastelei unter Windows 10 lief war es quasi vorbei. Vorher hatte man ein recht großes Publikum, Facebook Foren, Fachforum, IRC Chat, diverse Mod Plattformen.


    Ist eben ein anderes Gefühl wenn man täglich 100 neue Personen mit den Inhalten versorgt und danach nur noch rückläufige Nutzerzahlen da sind.


    Der zweite Faktor waren die verschiedenen Ansichten der Beteiligten zum Projekt. Nicht immer ist das beste ideal um es auch umzusetzen. Da braucht es dann auch eine straffe Führung die klare Vorgaben macht um Nutzer zu generieren und nicht zu überfordern. Ein paar mal mussten wir da auch einen Strich ziehen, Ideen ablehnen und damit waren dann natürlich einige Emotional überfordert.


    Ein wenig mangelt es da in Europa auch an der Erziehung. Demokratie und Miteinander ist nett wenn man wählen geht, bei einem Projekt braucht es klare Vorgaben und Ansagen sowie eine Filterung von Ideen und Vorschlägen.

    Mit Mitarbeitern aus den USA war es da oft wesentlich leichter als mit Deutschen Sturschädeln die bei jeder Ablehnung gleich die beleidigte Leberwurst spielten.

    Auch habe ich so ein Projekt einmal bei Japanern beobachtet. Unglaublich wie da bei "Arbeit" sofort und fast militärisch effizient etwas umgesetzt wird. Fast so als würde man bei einem Fehlverhalten sein Gesicht verlieren.


    Bei der C64 Community ist natürlich auch noch das Problem das diese an sich schon recht klein ist. Hier einen Hype zu generieren der zur Mitarbeit anspornt ist schon schwer, sich auf eine Umsetzung zu einigen noch schwerer und letzten Endes reicht schon aufgrund der kulturellen Eigenarten ein Fehler oder falsches Wort und man wird überspitzt gesagt zur Hölle gejagt.


    Ich für meinen Teil würde empfehlen im Alleingang soweit wie möglich zu gehen und dann konkret nur noch bei der Finalisierung um Hilfe zu bitten, dann aber klar und deutlich Aufträge formulieren. Ansonsten wird man in einer frustrierenden Endlosschleife enden die am Ende kein finales Produkt beinhaltet, dafür aber im frühesten Alpha Status schon auf 20 verschiedenen Konfigurationen läuft wovon es auch nur ebenso viele Besitzer gibt. 😉


    Open Source finde ich daher indem Bereich eher unsinnig. Wer sich beteiligen will dem sollten Erwähnungen in den "Credits", Ruhm, Ehre und der ewige Dank der Spieler winken. 😄


    Was ich seinerzeit auch immer eingerichtet habe war ein PayPal-Konto wo Supporter dem Team, das ja unentgeltlich arbeitete immer etwas spendieren konnten. Beim erwähnten Sudden Strike Mod waren das um die 1000€ die dann aufgeteilt wurden. Da habe selbst ich, der eher nur organisatorisch und bei Grafiken aktiv war, mich einmal motiviert hingesetzt und 2 bekannte Filme zum Spielthema spielerisch als Single Player Maps umgesetzt.

  • Meine letzten ordentlichen Projekte dürften um die Jahrtausendwende gewesen sein. Irgendwann saß ich heulend im Büro, weil mit die Arbeit über den Kopf gewachsen war, und danach war das Programmieren als Hobby praktisch tot. Schon Asembler-Quelltexte ansehen ging nur noch mit Widerwillen. Ich hab zwar noch kleinere Sachen fertiggemacht, aber das war "zäh" und hat keinen Spaß gemacht. Dieser Flow, wo man stundenlang seitenweise programmiert und aus Instinkt immer weiß, was man tut, der war einfach weg.


    Ganz losgelassen hat es mich nicht, da sind immer wieder interessante Diskussionen, Ideen, Träume und Grübeleien, ob und wie man was umsetzen könnte. Praktisch kommt dann aber auch oft das Leben dazwischen, und so hat meine Ausdauer bisher nur für ein paar Tage gereicht. Nach dem einrichten der Tools und ersten Tests war dann wieder Schluß. Und so ist es bisher bei den guten Vorsätzen geblibene, die alten Projekte zu Ende zu bringen und Ideen umzusetzen.


    Teamarbeit kann hilfreich für die Motivation sein, wenn man zusammensitzt und gemeinsam Spaß hat und sich unterstützt. Schwierig wird es, wenn es zum Abliefern von Arbeitsleistung verkommt oder man als einziger Arbeitet.

    *furz*

    Das war jetzt ein Leiser. Erst merkt man nix, aber dann!

  • Quote

    Warum werden Projekte nicht zu Ende gebracht und kann Open Source dagegen helfen?

    Natürlich kann Open Source hier helfen. Muss es nicht, aber kann, weil man dann eben bei Bedarf auf vorhandenen Code zugreifen kann.


    Wenn nichts an Code veröffentlicht wird, dann hilft es definitiv niemanden weiter, weil man es eben nicht einsehen kann. ;)

  • Natürlich kann Open Source hier helfen. Muss es nicht, aber kann, weil man dann eben bei Bedarf auf vorhandenen Code zugreifen kann.


    Wenn nichts an Code veröffentlicht wird, dann hilft es definitiv niemanden weiter, weil man es eben nicht einsehen kann. ;)

    Mit einem Disassembler ist alles "Open Source" :whistling:

  • Natürlich kann Open Source hier helfen. Muss es nicht, aber kann, weil man dann eben bei Bedarf auf vorhandenen Code zugreifen kann.


    Wenn nichts an Code veröffentlicht wird, dann hilft es definitiv niemanden weiter, weil man es eben nicht einsehen kann. ;)

    Mit einem Disassembler ist alles "Open Source" :whistling:

    Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert.


    Ich habe auch keine Lust in fremdem Open Source Code rumzuwühlen, welbst wenn der kommentiert ist. Ich nutze aber gerne fertige Libraries, und wenn die Open Source sind, dann vermittelt mir das das Gefühl der Sicherheit, dass ich da doch mal selber Hand anlegen kann, wenn Not am Mann ist. Auch wenn ich das in der Regel nicht tun werde.

  • Gerade das Thema find ich vielseitig und spannend, wenn man da vielleicht ein oder zwei neue "Handgriffe" lernt, die man so noch nicht kannte. Und dabei möchte ich mich nicht nur auf Open Source konzentrieren: In (kommentierten) Disassemblies gibt es viele spannende Entdeckungen zu machen.


    In der ROM Hacking-Szene habe ich eine ganze Zeit lang das Thema verfolgt, wo der disassemblierte Code von Super Mario Bros. (NES) nicht nur um Bugs/Quirks – die zum Teil von Nintendo selbst in späteren Neuauflagen (SNES/GBC) – gepatcht, sondern auch an vielen Stellen in Bezug auf Größe und Zyklen optimiert wurde, ohne vom Originalverhalten abzuweichen.


    Für Lernzwecke fast unabdingbar – ob nun Open oder Closed Source. Viele Tricks findet man nicht in Fachbüchern. Sicherlich auch nicht nur bedingt hilfreich für die Problemfindung bei eigenen Projekten, wenn man mal anderen Entwicklern über die Schultern – bzw. in den Code – schaut für den Funken Inspiration.

  • Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert.

    Öhm... dann hast du also um 1978 herum *nicht* das ROM des PET 2001 disassembliert und dir angeguckt, wie Bill Gates sein Basic gecodet hat und dabei viel gelernt? :huh:

  • Mit einem Disassembler ist alles "Open Source" :whistling:

    Der Vorteil gegenüber dem Binary davon ist immerhin, dass man ihn weiterbearbeiten könnte, vor allem mittendrin etwas einfügen, was mit dem Monitor so nicht geht.


    Aber, man hat keine aussagekräftigen Bezeichner und keinerlei Erklärungen, was da passiert. Und je nachdem, wie verworren der Code ist, ist das Entschlüsseln und Analysieren eines solchen Programms so schwierig und langwierig, dass man besser neu anfangen kann, oder man lässt es eben und macht was anderes.


    Ich schrub® ja neulich schon, dass mir das sogar mit eigenem Code so erging. => Heute so gecodet...

    Selbst in dem Sourcecode sind die Bezeichner oft nur zwei Zeichen lang, weil das eine direkte Umsetzung aus BASIC V2 ist. Dann hatte ich auf meinen Disketten die BASIC-Version gesucht, auch alles ohne Datum, hab dann die wahrscheinlich richtige gefunden, allerdings nur Pass1 davon; Pass2 war verschwunden. Und sogar für dieses BASIC-Programm habe ich lange gebraucht, um es zu analysieren und meine daaamaligen Gedanken nachvollziehen zu können.


    Bei fremdem (Quell-) Code sehe ich zwei Bedingungen, von denen mindestens eine erfüllt sein muss, noch besser aber beide:


    1. Er hat sprechende Bezeichner, ist einigermaßen strukturiert und gut dokumentiert, sodass man den selbst anpassen kann.

    2. Er ist einsatzbereit, und die Anwendung samt benötigter Register ist gut beschrieben. Typisches Beispiel: SID-Play-Routine.

  • Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert.

    Öhm... dann hast du also um 1978 herum *nicht* das ROM des PET 2001 disassembliert und dir angeguckt, wie Bill Gates sein Basic gecodet hat und dabei viel gelernt? :huh:

    Da war er noch jung und brauchte das Geld hatte Zeit :)

  • Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert..

    Besonders dann, wenn es um optimierte mathematische Algorithmen geht.

    Genau. Da versteht man dann in Assembler gar nichts mehr. Sich lieber die Original-Algorithmen anschauen und neu machen.

  • Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert.

    Öhm... dann hast du also um 1978 herum *nicht* das ROM des PET 2001 disassembliert und dir angeguckt, wie Bill Gates sein Basic gecodet hat und dabei viel gelernt? :huh:

    Doch habe ich. Das ist über 40 Jahre her und war reiner Selbstzweck. Hier ging es jetzt aber um Disassemblieren als Ersatz für Open-Source. Immer den Kontext beachten.


    Das mit dem Kontext schafft ChatGPT übrigens inzwischen besser als so mache Forenuser, die Aussagen immer wieder aus dem Zusammenhang reißen. ;)

  • Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert.

    Öhm... dann hast du also um 1978 herum *nicht* das ROM des PET 2001 disassembliert und dir angeguckt, wie Bill Gates sein Basic gecodet hat und dabei viel gelernt? :huh:

    Doch habe ich. Das ist über 40 Jahre her und war reiner Selbstzweck. Hier ging es jetzt aber um Disassemblieren als Ersatz für Open-Source. Immer den Kontext beachten.

    "Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert."


    Bist du ganz sicher, dass diese Aussage irgendetwas mit "Disassemblieren als Ersatz für Open Source" zu tun hat? Really?


    Na dann...

  • Doch habe ich. Das ist über 40 Jahre her und war reiner Selbstzweck. Hier ging es jetzt aber um Disassemblieren als Ersatz für Open-Source. Immer den Kontext beachten.

    "Bevor ich fremden unkommentierten Assemblercode verstanden habe, habe ich das doch dreimal neu programmiert."

    Bist du ganz sicher, dass diese Aussage irgendetwas mit "Disassemblieren als Ersatz für Open Source" zu tun hat? Really?

    Na dann...

    Ok, wenn ich dir das alles nochmal erklären muss, gerne.


    Open Source hat ja den Zweck, das, was schonmal programmiert wurde, öffentlich zu machen. Damit man darauf aufbauen kann und das Rad nicht immer wieder neu erfinden muss. Da bekommt man in der Regel dokumentierten Quellcode, mit dem man arbeiten kann (auch sowas fasse ich ungerne an, aber das hatte ich weiter oben schon geschrieben).


    Beim Disassamblieren bekommt man undokumentierten Assembler-Code. Den man erstmal mühsam analysieren und verstehen muss.

    Deswegen ist Disassemblieren sinnlos, wenn es um ein konkretes Projekt oder konkrete Routinen geht. Neuprogrammieren ist schneller.


    Und deswegen ist Dissassemblieren kein Ersatz für Open Source. War das jetzt so schwer zu verstehen, dass das nochmal einer extra Erklärung bedurfte?

  • Beim Disassamblieren bekommt man undokumentierten Assembler-Code. Den man erstmal mühsam analysieren und verstehen muss.

    Deswegen ist Disassemblieren sinnlos, wenn es um ein konkretes Projekt oder konkrete Routinen geht.

    Ich würde da eine Ausnahme machen: Wenn es um die ganz exakte Nachprogrammuerung des Programmverhaltens geht, kann diese Mühe schon sehr sinnvoll sein.