È facile passare da Python a Ruby?

Sono interessato a sviluppare plugin, ma lavoro come ricercatore di IA e come tale ho solo una discreta esperienza con Python. E non ho mai fatto nulla con Ruby prima. Quindi ho pensato di chiedere qui se qualcuno di voi pensa che sia abbastanza facile passare da Python a Ruby?

Ho parlato con Claude e Perplexity di questo, e secondo loro è abbastanza banale poiché i linguaggi sono molto simili. Ma niente batte l’esperienza umana, quindi sarei grato per qualsiasi suggerimento/informazione :wink:

1 Mi Piace

Alcune riflessioni.

Se la premessa della tua domanda è se puoi passare da uno sviluppatore Python allo sviluppo di cose per Discourse, allora la risposta è un po’ più sfumata.

Come hai scoperto, il passaggio da Python a Ruby è relativamente banale. Puoi far fare a Ruby ciò che puoi fare in Python semplicemente imparando le differenze semantiche.

Tuttavia, come ho dovuto fare lo stesso salto qualche anno fa, se provi semplicemente a fare ciò che puoi fare con Python in Ruby, ti perderai alcune delle cose che rendono Ruby “Ruby”.

In secondo luogo, quella sfumatura di Discourse.

Mentre il backend è basato su Ruby, gran parte della “complessità” nel creare cose per Discourse risiede nello sviluppo sia del backend (Ruby) che del client (JavaScript/Ember) affinché lavorino in armonia.

Anche con una comprensione approfondita di come utilizzare Ruby, devi anche investire del tempo per capire come funziona il backend di Discourse. Esiste un eccellente ecosistema che il backend fornisce ai plugin, come accesso ai dati / strutture dati, logging, messaggistica inter-processo, processi asincroni, ecc. Ho trovato importante acquisire una buona comprensione di questo.

Ho trovato molto gratificante dare un’occhiata a Ruby, ma ho trovato il frontend JavaScript troppo impegnativo per le mie esigenze. Sono un programmatore per hobby con un po’ di esperienza, quindi lo attribuirei a questo e alla mancanza di una mente agile.

Detto questo, sono stato in grado di afferrare altri framework JavaScript, ad esempio Svelte. Le specificità di Ember e il rigido flusso di istanziazione / coordinamento e le strutture delle cartelle erano un po’ complesse per me e per le mie esigenze.

La mia soluzione è stata utilizzare l’eccellente Custom Wizard Plugin per catturare l’interazione del frontend e poi passarla al mio codice Ruby backend. Questo funziona bene con processi di tipo batch ma è meno utile in ambienti interattivi.

Buona fortuna.

7 Mi Piace

Grazie mille per la tua risposta dettagliata, la apprezzo molto. Immagino che inizierò a leggere la documentazione per sviluppatori allora :D.

Hai per caso provato a programmare cose di Discourse usando Cline in Visual Studio Code? Sono curioso di sapere quanto possa essere efficace nel codebase di Discourse.

Se fai così, potrebbe effettivamente andare abbastanza bene, specialmente se stai usando un ambiente di sviluppo, dato che, se ricordo bene, l’ambiente di sviluppo può persino ricaricarsi automaticamente con le modifiche.

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