PythonからRubyへの移行は簡単ですか?

プラグイン開発に興味があるのですが、AI研究者としてPythonしかまともに扱ったことがなく、Rubyは全く経験がありません。そこで、PythonからRubyへの移行は比較的容易だと思いますか?

ClaudeやPerplexityにも聞いてみましたが、両言語は非常に似ているため、ごく簡単なことだそうです。しかし、やはり実際の経験に勝るものはないので、何かヒントや情報があれば幸いです :wink:

「いいね!」 1

いくつかの考えがあります。

質問の前提が、Python開発者からDiscourseで動作するものを開発する分野に移行できるかどうかということであれば、答えは少しニュアンスがあります。

あなたが発見したように、PythonからRubyへの移行は比較的簡単です。意味論的な違いを学ぶだけで、PythonでできることをRubyでも行うことができます。

しかし、数年前に私も同じような移行をしなければならなかったのですが、単純にPythonでできることをRubyでやろうとすると、Rubyを「Ruby」たらしめている要素の一部を見逃してしまうでしょう。

第二に、そのDiscourseのニュアンスです。

バックエンドはRubyベースですが、Discourse向けのものを開発する際の「複雑さ」の多くは、バックエンド(Ruby)とクライアント(JavaScript/Ember)の両方を調和させて動作させることにあります。

Rubyの使用方法を十分に理解していても、Discourseのバックエンドがどのように機能するかを理解するために時間を投資する必要があります。バックエンドは、プラグインにデータアクセス/データ構造、ロギング、プロセス間メッセージング、非同期ジョブなどの優れたエコシステムを提供しています。この理解を深めることが重要だとわかりました。

Rubyを学ぶことは非常にやりがいがありましたが、フロントエンドのJavaScriptは私のニーズには難しすぎると感じました。私は経験豊富な趣味のコーダーなので、それは私のせいであり、機敏な思考力の欠如だと考えました。

とはいえ、Svelteのような他のJavaScriptフレームワークを理解することはできました。Ember固有の機能や、厳格なインスタンス化フロー/調整、フォルダ構造は、私と私のニーズには少し複雑でした。

私の解決策は、優れたCustom Wizard Pluginを使用してフロントエンドのインタラクションをキャプチャし、それをバックエンドのRubyコードに渡すことでした。これはバッチ処理タイプのプロセスではうまく機能しますが、インタラクティブな環境ではあまり役に立ちません。

幸運を祈ります。

「いいね!」 7

詳細なご回答ありがとうございます。大変感謝しております。開発者ドキュメントを読み始めることにします :smiley:

ところで、Visual Studio CodeでClineを使ってDiscourseのコードを記述したことはありますか? Discourseのコードベースでどの程度効果があるのか興味があります。

そうすれば、特に開発環境を使っているなら、かなりうまくいくかもしれません。というのも、確か開発環境は変更時に自動リロードもできるはずだからです。

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