Est-il facile de passer de Python à Ruby ?

Je souhaite me lancer dans le développement de plugins, mais je travaille en tant que chercheur en IA et, à ce titre, je n’ai vraiment qu’une bonne expérience en Python. Et je n’ai jamais rien fait avec Ruby auparavant. J’ai donc pensé demander ici si certains d’entre vous pensent qu’il est assez facile de passer de Python à Ruby ?

J’ai discuté de cela avec Claude et Perplexity, et selon eux, c’est assez trivial car les langages sont très similaires. Mais rien ne vaut l’expérience humaine, donc je serais reconnaissant pour tout conseil/information :wink:

1 « J'aime »

Quelques réflexions.

Si la prémisse de votre question est de savoir si vous pouvez passer du statut de développeur Python à celui de développeur pour Discourse, la réponse est un peu plus nuancée.

Comme vous l’avez découvert, le passage de Python à Ruby est relativement trivial. Vous pouvez faire en Ruby ce que vous pouvez faire en Python en apprenant simplement les différences sémantiques.

Cependant, comme j’ai dû faire le même saut il y a quelques années, si vous essayez simplement de faire en Ruby ce que vous pouvez faire en Python, vous passerez à côté de certaines choses qui font de Ruby “Ruby”.

Deuxièmement, cette nuance de Discourse.

Bien que le backend soit basé sur Ruby, une grande partie de la “complexité” de la création de choses pour Discourse réside dans le développement du backend (Ruby) et du client (JavaScript/Ember) pour qu’ils fonctionnent en harmonie.

Même avec une compréhension approfondie de la façon d’utiliser Ruby, vous devez également investir du temps dans la compréhension du fonctionnement du backend de Discourse. Il existe un excellent écosystème que le backend fournit aux plugins - tels que l’accès aux données / les structures de données, la journalisation, la messagerie inter-processus, les tâches asynchrones, etc. J’ai trouvé qu’une bonne compréhension de cela était importante.

J’ai trouvé très gratifiant d’examiner Ruby, mais j’ai trouvé que le frontend JavaScript était trop difficile pour mes besoins. Je suis un codeur amateur avec quelques années d’expérience, donc je mettrais cela sur le compte de cela et du manque d’agilité mentale.

Cela dit, j’ai réussi à maîtriser d’autres frameworks JavaScript - Svelte par exemple. Les spécificités d’Ember et le flux d’instanciation rigide / la coordination et les structures de dossiers étaient un peu complexes pour moi et mes besoins.

Ma solution a été d’utiliser l’excellent Custom Wizard Plugin pour capturer les interactions du frontend, puis de les transmettre à mon code Ruby backend. Cela fonctionne bien avec les processus par lots, mais est moins utile dans les environnements interactifs.

Bonne chance.

7 « J'aime »

Merci beaucoup pour votre réponse détaillée — j’apprécie vraiment cela. Je suppose que je vais commencer à lire la documentation du développeur alors :smiley: .

Avez-vous par hasard essayé de coder des choses pour Discourse en utilisant Cline dans Visual Studio Code ? Je suis curieux de savoir à quel point cela pourrait être efficace dans la base de code de Discourse.

Si vous faites cela, cela pourrait en fait très bien se passer, surtout si vous utilisez un environnement de développement, car, si je me souviens bien, l’environnement de développement peut même se recharger avec les modifications.

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