Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
So 8-10 Semester Informatik/Anwendungsentwicklung, danach noch 2-3 Jahre praktische Arbeit in dem Bereich... DAS ist das einzige, was dir da weiter helfen kann.
@ omaliesschen: Mindestens fünf Jahre Erfahrung sind überhaupt nicht (zu) hoch gesteckt, sondern liegen komplett im Rahmen. Eh er erstmal den Sinn und Zweck der Abstraktion inklusive Anwendungsgebiete, Queues, Stacks, Bäume, etc. verstanden hat, geht einige Zeit ins Land. Damit meine ich nicht "Nun wenden wir mal das gelernte an", sondern an einem Praxisbeispiel gemessen, was irgendwann, irgendwo, vielleicht täglich im Produktiveinsatz ist. Weiterhin wurde dort einfach mal Threading vergessen, was einen nicht kleinen Teil ausmachen kann.
Kurzum: Fünf Jahre für "kann mir niemand ein Tutorial zeigen?" sind absolut nicht hoch gesteckt. Würde er die Grundlagen beherrschen, könnte man vielleicht ein bis zwei Jahre abziehen.
Es ist die Menge des Stoffs, nicht nur die Art des Lernens.
Es ist ja nicht so, dass man im Studium die ganze Zeit die Beine hochlegt. Man muss schon was tun, sonst schafft man das nicht. Im Master ist es schlimmer, da weiß man immer gar nicht, wo man die Zeit für die ganzen Projekte herbekommen soll. Und Lernen muss man ja auch noch. O_o
Mal von der Diskussion ab, wie lange man wo was lernen muss und das es darüber unterschiedliche Ansichten gibt
BTT:
Versteh ich das richtig das der OP ein Flash Game hat, das mit einem Server kommuniziert und er den gerammten Server emulieren will. Das "swf gameserver" irritiert mich da einwenig, ich mein ist man da draußen wahnsinnig genug eine Serverapplikation in fucking Flash zu realisieren?
Oh und was dem Thema auch unheimlich helfen würde, wäre der Name des Games damit man sich wenigstens ungefähr ein Bild machen kann von wie viel Komplexität wir hier eigentlich reden.
Ja, das geht durchaus. Jeder darf rumschustern wie er will. Das hat aber mit Nachhaltigkeit nichts zu tun. Das Ergebnis eines solchen Projekts ist zusammengefrickelter, unwartbarer Code, voller bad practices und anti patterns. Das kenne ich zum Beispiel von Projekten wie dem L2Java MMORPG Gameserver (Lineage II, schon etwas älter), den ich auch eine Weile benutzt habe und für den eigenen Bedarf weiterentwickelt habe.
Damals dachte ich auch, dass das der Weisheit letzter Schluss ist. Wenn man bis dato nichts Besseres gesehen hat, hat man auch keinen Vergleich und wenn man nicht professionell in der Branche arbeitet, wird man wahrscheinlich auch nie mit was Besserem in Kontakt kommen und bleibt im Glauben, man hätte es voll drauf. So ein Studium ist schon keine verschwendete Zeit.
Autodidaktische Genies (bzw. solche, die sich dafür halten) habe ich schon einige getroffen. Hybris ohne Ende.
@Thema: neu bauen geht vermutlich schneller als analysieren und nachbauen.
Ja, das geht durchaus. Jeder darf rumschustern wie er will. Das hat aber mit Nachhaltigkeit nichts zu tun. Das Ergebnis eines solchen Projekts ist zusammengefrickelter, unwartbarer Code, voller bad practices und anti patterns. Das kenne ich zum Beispiel von Projekten wie dem L2Java MMORPG Gameserver (Lineage II, schon etwas älter), den ich auch eine Weile benutzt habe und für den eigenen Bedarf weiterentwickelt habe.
Und das soll man sich dann von Leuten anhören die nie über ein einfaches Diplom emporsteigen konnten und deren Code man besser vor der Menschheit verstecken sollte?
und wenn man nicht professionell in der Branche arbeitet, wird man wahrscheinlich auch nie mit was Besserem in Kontakt kommen
Deine Antwort schließt erfolgreiche Autodidakten von vornherein aus was völlig absurd ist. Bei der Menge an Autodidakten würde ich fast behaupten Du könntest einen Großteil der aktuell durch Diplomgelehrte besetzten Stellen im IT Sektor durch bereits vorhandene Autodidakten ersetzen.
Code:
Das Ergebnis eines solchen Projekts ist zusammengefrickelter, unwartbarer Code, voller bad practices und anti patterns.
As said. Halte ich für ein nicht haltbares Argument zumal es Allgemeingültigkeit für sich beansprucht womit die Seriosität in Frage zu stellen ist.
Man lernt halt nie aus, das gilt für Autodidakten ebenso wie für Studierte.
Und spätesten nach einem großen Projekt ist der Autodidakt dem Studierten nicht unterlegen. Das man keine Lust hat ein Programm komplett neu zu schreiben heißt nicht dass man es in der selben Art erneut schreiben würde was meine Meinung zu deinem Beispiel darstellt.
Die Erfahrung, das Wissen, das Know-how was sich studierte ITler mit Berufserfahrung mit harter Arbeit beigebogen haben soll Autodidakten einfach so zufliegen oder wie stellst du dir das vor? Wer soll dich denn aufklären darüber, dass der Code den du fabrizierst Murks ist und dir vor allem noch erklären, wie man es richtig macht? Da nimmt sich doch keiner die Zeit für. Warum auch?
Genies gibt es sicherlich, die sind aber die absolute Ausnahme. Naturtalente eben.
Es gibt soviele Programmierforum, Codebeispiele, Tutorials, Bücher, E-Books, Papers.
Irgendwann versteht man eben was man macht und sieht was man falsch macht oder man wird in einer Diskussion darauf hingewiesen und oftmals geht es dann um Banalitäten anhand derer einem die Kompetenz abgesprochen werden soll...[...]
Es Bedarf keiner Doktorvaterfixierung mehr in der heutigen Zeit. Es ist mehr Fachliteratur über Google Verfügbar als die meisten UNIs überhaupt in der Liste haben.
Du setzt Vorkauen als Notwendigkeit eines Lernfortschritts voraus.
Zu deine Kriterien gibt es reichlich Onlineliteratur.
- BadPractices
- Codestrukturierung
- Wartbarkeit
- CodingParadigmen
[...]
Von zufliegen war bisher nicht die Rede.
In der UNI erklärt die jemand wie etwas funktioniert und zitiert damit häufig Papers die frei zugänglich sind bzw. für die es gleichwertige Alternativliteratur gibt. Dazu ermöglicht der direkte Kontakt zu einem "Mentor" eine aufklärung von aufkommenden Fragen.
Die paar Fragen kannst Du mittlerweile allerdings auch googlen und jeder der ein gewisses Niveau erreicht hat weiß zum einen inwiefern die gelieferten Antworten fachgerecht sind als auch dass es immer bessere Wege gibt und daher keine Antwort die einzig richtige und mit hoher Wahrscheinlichkeit auch nicht die beste darstellt.
Das erwähnen von Genies ist auch nicht zielführend da man kein Genie sein muss um etwas zu lernen. Im Gegenzug muss man schon recht ungeeignet sein wenn man ohne eine direkte Ansprechperson überfordert ist.
Deiner Ansicht nach ist ein Studium ein Garant für HighQuality? Warum sind dann viele trotz Studium ungeeignet um für die Top Unternehmen zu arbeiten?
Um ein anständiger Programmierer zu werden bedarf es in der heutigen Zeit lediglich ein paar Vorraussetzungen:
Internetzugang
Computer
viel Literatur
eigene Projekte
github
und ein paar Austauschplattformen um auftretende Probleme zu klären
Wie man etwas falsch, richtig, besser, anders macht/machen könnte entwickelt sich im Laufe der Zeit selbstständig.
Und zu allem gibt es immer einen der es besser kann.
Was machst Du z.B. wenn du neue Sprachen lernen musst bzw. neue Konzepte etc.? Zurück in die Uni oder kündigen oder den Autodidaktischen Weg gehen? Zweiwöchige Lehrgänge zählen nicht als Studium.
Die Entwickler des von dir erwähnten Programms werden mittlerweile sicher wissen wie man es besser macht.
EDIT: Es gibt auch drastische Unterschiede zwischen den einzelnen Studienteilnehmern. Man muss ja keine 100% erreichen um zu bestehen. Die Qualität des Individuums ist also deutlichen Schwankungen unterlegen.
Ergänzung ()
Wer zu faul oder zu schlecht ist schreibt einen Ausatz und bekommt ein Diplom. In der Welt als Fachmann akzeptiert in Fachkreisen belächelt.
Zu einem gewissen Teil muss ich dir Recht geben, denn sonst würde ich meine eigene Qualifikation in Frage stellen, da ich auch kein reiner ITler bin und den größten Teil meines Wissens selbst erworben habe. Aber das ist für mich der Punkt - ich habe ein Studium durchgezogen und dabei gelernt, wie ich mich effektiv und effizient mit einem Thema beschäftige. Ich möchte behaupten, das kann ein Abiturient nicht, zumindest war mein Erlebnis des schulischen Lernens rückblickend für die Tonne. Ein Studium hat da ein ganz anderes Kaliber.
Vielleicht haben wir auch ein unterschiedliches Verständnis der Persona "der Autodidakt". Die von dir genannten Voraussetzungen passen jedenfalls zu meinem Bild eines Autodidakten. Man hat ein sehr eingeschränktes Blickfeld auf die "Welt" (also das, was man da erforscht), denn man hat nicht ständig Feedback zu dem was man tut. Das was du mit "Austausch über auftretende Probleme" meinst, reicht aus meiner Sicht einfach nicht aus, denn dazu musst du erst einmal etwas als Problem einstufen und das geschieht meistens erst, wenn man wirklich GAR nicht mehr weiterkommt. Dann wird im Netz eine wage Beschreibung des Problems - korrigiere - eines Symptoms geschildert und es werden ein paar Schnipsel Code gezeigt und man doktort eben an solchen Symptomen rum. Das große Ganze wird überhaupt nicht betrachtet.
Sich in große (z.B. Open Source) Projekte einzuarbeiten ist sicher sehr lehrreich, aber man hat doch niemanden, der einen mal einführt und einen groben Überblick verschafft. Man hangelt sich durch Spezialgebiete der Anwendung, ändert mal hier und da Kleinigkeiten, die man sich zutraut. Aber bloß vom Lesen des Codes weißt du doch noch nicht, warum etwas so ist wie es ist und vor allem - ob es gut so ist. Im von mir genannten Beispielprojekt war zum Beispiel alles mit Singletons zugepflastert. Fand ich damals erstmal toll, obwohl ich mehrfach gelesen habe, dass Singletons nicht der goldene Weg sind. Ich fand es erstmal bequem und es fand Einzug in meine eigenen Anwendungen. Wie ich dann endlich mal davon los kam, weiß ich gar nicht mehr. Ich glaube TDD brachte mir die Erleuchtung, warum die Dinger nerven. Aber ich schweife ab.
Und ja - natürlich macht ein Diplom niemanden automatisch zum guten Entwickler. Solche Beispiele kennen wir wohl alle. Das was ich Autodidakten zuspreche ist ein gewisser Biss, den sie dem Studierten voraus haben (können) und der sie immer weiter antreibt sich weiterzuentwickeln, während der Diplomand sich schon zurücklehnt. Aber Äpfel und Birnen. An einen ebenso motivierten Studierten, wird ein Autodidakt erst nach vielen Jahren praktischer Erfahrung rankommen. Was der oben beschriebene Autodidakt aber nicht erwerben wird, sind soft skills. Zur Teamfähigkeit zählt mehr, als in Foren miteinander zu reden und zum gleichen repo zu committen. Ich will damit sagen, wenn der Autodidakt den Absprung aus seinem Kämmerlein nicht schafft, ist all sein Aufwand vergebene Liebesmüh.
ich habe ein Studium durchgezogen und dabei gelernt, wie ich mich effektiv und effizient mit einem Thema beschäftige. Ich möchte behaupten, das kann ein Abiturient nicht
Mein Freund. Ich hab eine Hauptschulabschluss und eine Ausbildung im Handwerk, beziehe meine Infos in der Regel aus Fachliteratur (Papers), bin in der wissenschaftlichen Vorgehensweise bewandert, weiß wie man seine Arbeit formatiert um von Fachmagazinen akzeptiert zu werden und habe selbst schon mehr oder weniger Fachliteratur auf internationale Ebene publiziert.^.^
Man hat ein sehr eingeschränktes Blickfeld auf die "Welt" (also das, was man da erforscht), denn man hat nicht ständig Feedback zu dem was man tut.
Das muss ich mir eigentlich nicht anhören. Bisher konnte mich bzgl. dieses Kriteriums noch keiner dem ich begegnet bin fressen. Im Gegenteil. Oftmals hatte ich Verunreinigungen von Studierten zwischen meinen Zähnen.
Dann wird im Netz eine wage Beschreibung des Problems - korrigiere - eines Symptoms geschildert und es werden ein paar Schnipsel Code gezeigt und man doktort eben an solchen Symptomen rum. Das große Ganze wird überhaupt nicht betrachtet.
Ich persönlich lehne fast alle der zu beginn gelieferten Ergebnisse ab. Da kanns schonmal sein dass ich mich durch 50-100 Topics wühl bis ich eine Antwort auf eine banale Frage als gut befinde und verinnerliche, da ich einiges an gutem Code gesehen habe, und auch einige Perlen kenne vertrete ich die Meinung fähig zu sein annehmbare Beurteilung durchführen zu können.
Sich in große (z.B. Open Source) Projekte einzuarbeiten ist sicher sehr lehrreich, aber man hat doch niemanden, der einen mal einführt und einen groben Überblick verschafft. Man hangelt sich durch Spezialgebiete der Anwendung,
Das gilt auch für studierte die nicht in dem Unternehmen tätig sind welches für das Projekt verantwortlich ist. Du würdest als studierter also ebenfalls nur mit dem Projekt wirklich vertraut sein an dem Du beruflich arbeitest, da hier Bezugspersonen vorhanden sind.
An einen ebenso motivierten Studierten, wird ein Autodidakt erst nach vielen Jahren praktischer Erfahrung rankommen.
Das ist falsch. Beide machen das selbe. Der eine studiert privat der andere an der Uni, wobei ersterer in der selben zeit oftmals mehr Information aufnimmt.
Und ja. ich rede von ernstzunehmenden Autodidakten. Nicht zwingend von Genies aber eben von Leuten die häufig dazu in der Lage sind Diplomgelehrte zu verglühen.
Und ja - natürlich macht ein Diplom niemanden automatisch zum guten Entwickler.
Oh je oh je... also Selbstvertrauen hast du zumindest. Nein, ich habe kein Diplom, weil ich auch nicht übermäßig viel von Papier halte, aber den Gedanken noch eins zu machen (bzw. Master) hege ich schon noch. Mehr des Weges wegen, als wegen des Ziels.
Ich persönlich lehne fast alle der zu beginn gelieferten Ergebnisse ab
weiß wie man sein Arbeit formatiert um von Fachmagazinen akzeptiert zu werden und habe selbst schon mehr oder weniger Fachliteratur auf internationale Ebene publiziert.
Euer Pissing contest in allen Ehren, aber können wir bitte wieder zum eigentlich Thema kommen? Reverse Engineering ist ein spannendes Thema. Es gibt einen Beitrag mit halbwegs brauchbaren Informationen (der OP hat für ein Eingangspost ohne wirklichen Informationen auch einen Preis verdient) und der Rest beschäftigt sich damit, ob das Projekt machbar ist und wenn dem so ist, wo man die dafür nötigen Fähigkeiten erlangt -.-
Dennoch gehört es zu den von dir nur > Abiturient zugesprochenen Vorgehensweisen innerhalb der Erforschung eines Themengebietes.
Kannst Du mit dem Budweiser Operator umgehen?
Da die restliche Argumentation unbeantwortet vorgefunden wurde denke ich dass ich mir jetzt die Zähne putzen gehe.
Nein, ich habe kein Diplom, weil ich auch nicht übermäßig viel von Papier halte, aber den Gedanken noch eins zu machen (bzw. Master) hege ich schon noch.
Das ist streng wissenschaftliches Vorgehen. Ohne verwertbare Daten und Analyse das Ergebnis einer Aktion voraussagen deren Auswirkung im realen Umfeld von Fall zu Fall oftmals komplett unterschiedlich ausfallen können. Die Haltung macht die Wissenschaft fast schon unnötig und wir können uns dem Glauben zuwenden.
Wie kann jemand dessen Beiträge von diesem Vorgehen durchzogen sind wissenschaftliches Arbeiten für sich beanspruchen, speziell dann wenn Ihn ein Hauptschüler, dem er zuvor die Weitsicht aberkennen wollte, darauf hinweisen muss?
PPS: Es findet sich auch ein Freud'scher Versprecher in Deiner Aussage welcher Rückschlüsse auf Dein Ego geben: Dein Beitrag ergibt folgende Schlussfolgerung: jeder der besser ist als ich und nicht studiert hat muss ein Genie sein... -.-
gleich an dich selber richten.
Du denkst wohl auch nur, dass du der beste bist.
Um wieder zum Thema zurück zu kommen:
Ich halte das Nachprogrammieren des Gameservers für illegal. Immerhin muss ja der Client verändert werden, damit der neue Server angesprochen wird. Machst du das für dich privat und nur für dich alleine, ist das ok. Da du das aber anderen zugänglich machen willst (mindestens deinen drei anderen Freunden), ist es verboten. Der Urheber der Software hat das Urheberrecht daran. Das umfasst auch das Recht an Modifikationen und Verteilung. Und beides willst du ohne Erlaubnis machen.
An der Stelle gab es bei meinem Beispiel damals auch einen legalen und einen illegalen weg. Modifizieren des Clients ist tatsächlich in der Regel untersagt. Es gab einige Nutzer der Server-Software, die ihre User anhand von modifizierten (und von NCsoft verschlüsselten) ini files auf ihre privaten Server bekommen haben. Davon sollte man also in jedem Fall absehen.
Eine Alternative gab es allerdings - man stellte den Usern eine Anleitung zur Modifikation ihrer hosts-Datei zur Verfügung. Diese haben dann dort calls zum Login- bzw. Gameserver einfach umgeleitet. Da hier keinerlei Client-Modifikation nötig ist, sollte das legal sein (selbstverständich gebe ich auf diese Aussage keine Gewähr ). So ähnlich könnte das auch bei dem Vorhaben des Threaderstellers klappen. Sowas könnte bei einem Flash-Browser-Game z.B. klappen.
@e-Laurin:
Laut deutschem Recht darfst du dein Gameclient anpassen, so viel du willst. Du darfst auch die Anpassungen (an denen du das Urheberrecht hast), verteilen. Allerdings darf bei deinen Anpassungen kein Material vom Spieleprogrammierer drin sein. (Daher sind die Crack-Exen und ISOs auch illegal, weil dort eben noch kleine Fitzel Orginalcontent dabei ist, wäre es ein diff-File, wäre alles im Butter).