Ist der Wechsel von Python zu Ruby einfach?

Ich interessiere mich dafür, Plugins zu entwickeln, aber ich arbeite als KI-Forscher und habe daher nur wirklich gute Erfahrungen mit Python. Und ich habe noch nie etwas mit Ruby gemacht. Deshalb dachte ich, ich frage hier, ob jemand von euch denkt, dass es ziemlich einfach ist, von Python zu Ruby zu wechseln?

Ich habe mit Claude und Perplexity darüber gesprochen, und laut ihnen ist es ziemlich trivial, da die Sprachen sehr ähnlich sind. Aber nichts geht über menschliche Erfahrung, daher wäre ich dankbar für jeden Hinweis/jede Information :wink:

1 „Gefällt mir“

Ein paar Gedanken.

Wenn die Prämisse Ihrer Frage ist, ob Sie von einem Python-Entwickler zu einem Entwickler für Discourse wechseln können, dann ist die Antwort etwas nuancierter.

Wie Sie bereits festgestellt haben, ist der Übergang von Python zu Ruby relativ trivial. Sie können Ruby dazu bringen, das zu tun, was Sie in Python können, indem Sie einfach die semantischen Unterschiede lernen.

Wenn Sie jedoch, wie ich es vor ein paar Jahren tun musste, einfach versuchen, mit Ruby das zu tun, was Sie mit Python können, werden Sie einige der Dinge verpassen, die Ruby zu „Ruby“ machen.

Zweitens, diese Discourse-Nuance.

Während das Backend auf Ruby basiert, liegt ein großer Teil der „Komplexität“ bei der Erstellung von Dingen für Discourse darin, sowohl das Backend (Ruby) als auch den Client (JavaScript/Ember) so zu entwickeln, dass sie harmonisch zusammenarbeiten.

Selbst mit einem gründlichen Verständnis, wie man Ruby verwendet, müssen Sie auch Zeit investieren, um zu verstehen, wie das Discourse-Backend funktioniert. Es gibt ein ausgezeichnetes Ökosystem, das das Backend für Plugins bereitstellt – wie z. B. Datenzugriff/Datenstrukturen, Protokollierung, Interprozesskommunikation, asynchrone Jobs usw. Ich fand es wichtig, ein gutes Verständnis davon zu bekommen.

Ich fand es sehr lohnend, sich Ruby anzusehen, aber ich fand die Frontend-Sachen JavaScript für meine Bedürfnisse zu herausfordernd. Ich bin ein Hobby-Programmierer mit ein paar Jahren Erfahrung, also schreibe ich es dem und dem Mangel an agilem Denken zu.

Das heißt, ich konnte andere JavaScript-Frameworks verstehen – Svelte zum Beispiel. Ember-spezifische Dinge und der starre Instanziierungsfluss / die Koordination und Ordnerstrukturen waren für mich und meine Bedürfnisse etwas komplex.

Meine Lösung war, das ausgezeichnete Custom Wizard Plugin zu verwenden, um Frontend-Interaktionen zu erfassen und sie dann an meinen Ruby-Backend-Code weiterzugeben. Dies funktioniert gut mit Stapelverarbeitungs-ähnlichen Prozessen, ist aber in interaktiven Umgebungen weniger nützlich.

Viel Glück.

7 „Gefällt mir“

Vielen Dank für Ihre ausführliche Antwort – ich weiß das wirklich zu schätzen. Ich werde mich dann wohl durch die Entwicklerdokumentation lesen :smiley: .

Haben Sie zufällig versucht, Discourse-Sachen mit Cline in Visual Studio Code zu programmieren? Mich würde interessieren, wie effektiv das wohl im Discourse-Code sein mag.

Wenn Sie das tun, kann es tatsächlich ziemlich gut funktionieren, besonders wenn Sie eine Entwicklungsumgebung verwenden, da die Entwicklungsumgebung, wenn ich mich recht erinnere, sogar automatisch mit Änderungen neu geladen werden kann.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.