Bauen Sie Ihre Fähigkeiten und Ihr Portfolio auf
Meiner Meinung nach wäre das eine sehr gute Lernerfahrung.
- zwinge dich, unter die Motorhaube zu schauen ,
- führen Sie zu lernen, wie die Dinge intern gemacht werden ,
- ermutigen Sie, andere Implementierungen zu betrachten und zu vergleichen ,
- Halten Sie Ihre algorithmischen Fähigkeiten auf dem neuesten Stand,
- machen Sie Code (und hoffentlich dokumentieren ) eine Menge, die auch nicht schlecht ist,
- Sie erhalten ein umfangreiches Projekt und eine Codebasis, die Sie online für alle zugänglich machen können.
- persönlicher Genuss und Befriedigung ,
- potenziellen Arbeitgebern Ihre Fähigkeiten zu präsentieren ,
- mit Gleichgesinnten kommunizieren und sich austauschen ,
- potenziell lassen Sie es in etwas mehr wachsen ...
Ich sehe dies als produktiv, nützlich und insgesamt "wert".
Loslegen
Jetzt können Sie verschiedene Ansätze verwenden, je nachdem, wie viel Zeit Sie dafür einplanen ...:
- Wenn Sie einen begrenzten Zeitrahmen haben, würde ich sagen, tauchen Sie ein und kodieren Sie das Ding.
- Wenn Sie einen größeren Zeitrahmen haben, können Sie in der Tat den langwierigen Weg gehen und Spezifikationen, Tutorials, Handbücher usw. schreiben.
Fangen Sie klein an
Ich würde Ihnen eher empfehlen, klein anzufangen . Niemand, von dem ich weiß, hat jemals direkt eine großartige Sprache so geschrieben. Sie stolpern und fallen und scheitern und scheitern und scheitern . Dann gelingt es dir, dass es zwar funktioniert, aber trotzdem nervt, also fängst du noch einmal von vorne an. Und wenn Sie neue Funktionen hinzufügen, wird es endlich cool, aber plötzlich stellen Sie fest, dass es ein grundlegendes Konzept gibt, das Sie am Anfang vermasselt haben. Also fängst du noch einmal von vorne an ...
Scheint mir sehr lehrreich.
Fahren Sie fort (und teilen Sie den Link mit uns).
Klein wie "kurz"
Aber auch hier würde ich empfehlen, dass Sie klein anfangen . Haben Sie keine Angst, wenn die Leute sagen, es wird viel Code und Zeit in Anspruch nehmen. Nicht unbedingt, wenn Sie keine komplizierte Sprache anstreben. Alan Kay und andere
Xerox PARC Ingenieure angeblich eine frühe Version entwickelt
Smalltalk , dass fit auf einem einzigen Blatt Papier , als Ziel für Prägnanz (lesen Xerox PARC: Händler von Blitz für Details über die Geschichte des PARC ). Scheint ein guter, lehrreicher und eingeschränkter Ansatz zu sein (solange er die Lesbarkeit nicht einschränkt).
Klein, wie in "eingeschränkt"
Sie müssen nicht sofort ein erweitertes Typsystem, Funktionen höherer Ordnung und eine Mischung aus 42 verschiedenen Paradigmen unterstützen. Es könnte nur eine mathematische Ausdruckssprache sein.
Das Wissen anderer wiederverwenden (und einsehen)
Vielleicht möchten Sie sich auch die Tools ansehen, mit denen Sprachen von Grund auf neu geschrieben werden. Sie können alles selbst neu implementieren, aber vielleicht lohnt es sich auch, sich zum Beispiel vorhandene Lexer und Parser-Generatoren anzuschauen.
Und natürlich möchten Sie vielleicht mehr über die Compilerkonstruktion im Allgemeinen erfahren .
Wenn wir Ihre Frage dahingehend ändern, dass sie "die produktivste Nutzung Ihrer Zeit ist"? es wird ein ganz anderes Thema :)
Es gibt Unmengen anderer Lernprojekte, die Sie angehen könnten, und die Ihre Fähigkeiten ebenso gut trainieren und präsentieren würden, wenn nicht sogar besser. Es kommt darauf an, was Sie anstreben.