我对开发插件很感兴趣,但我是一名人工智能研究员,因此我只在 Python 方面有不错的经验。而且我以前从未接触过 Ruby。所以我想在这里问问大家,你们是否认为从 Python 转向 Ruby 很容易?
我曾与 Claude 和 Perplexity 讨论过这个问题,根据他们的说法,这相当简单,因为这两种语言非常相似。但没有什么比人类经验更宝贵了,所以我很感谢任何建议/信息 ![]()
我对开发插件很感兴趣,但我是一名人工智能研究员,因此我只在 Python 方面有不错的经验。而且我以前从未接触过 Ruby。所以我想在这里问问大家,你们是否认为从 Python 转向 Ruby 很容易?
我曾与 Claude 和 Perplexity 讨论过这个问题,根据他们的说法,这相当简单,因为这两种语言非常相似。但没有什么比人类经验更宝贵了,所以我很感谢任何建议/信息 ![]()
几点想法。
如果你的问题前提是能否从 Python 开发人员转变为开发与 Discourse 相关的东西,那么答案会有点微妙。
正如你所发现的,从 Python 到 Ruby 的转变相对容易。你只需学习语义上的差异,就可以用 Ruby 做你在 Python 中能做的事情。
然而,正如我几年前也经历过同样的转变一样,如果你只是试图用 Ruby 来做你在 Python 中能做的事情,你就会错过 Ruby 的一些“Ruby”之处。
其次,关于 Discourse 的细微差别。
虽然后端是基于 Ruby 的,但为 Discourse 创建东西的“复杂性”很大程度上在于开发后端(Ruby)和客户端(JavaScript/Ember)以协同工作。
即使对如何使用 Ruby 有透彻的了解,你还需要投入一些时间来理解 Discourse 后端的功能。后端为插件提供了一个极好的生态系统——例如数据访问/数据结构、日志记录、进程间消息传递、异步作业等。我认为对这一点有很好的理解很重要。
我发现学习 Ruby 很有价值,但我发现前端的 JavaScript 对我来说太难了。我是一个业余编码者,经验丰富,所以我想这是因为我缺乏敏捷的思维。
话虽如此,我也掌握了其他 JavaScript 框架——例如 Svelte。Ember 的具体细节以及僵化的实例化流程/协调和文件夹结构对我来说有点复杂,不适合我的需求。
我的解决方案是使用出色的 Custom Wizard Plugin 来捕获前端交互,然后将其传递给我的后端 Ruby 代码。这对于批处理类型的进程效果很好,但在交互式环境中用处不大。
祝你好运。
非常感谢您提供详细的回复——我真的很感激。我想我将开始阅读开发人员文档了
。
您是否尝试过在 Visual Studio Code 中使用 Cline 为 Discourse 编写代码?我想知道它在 Discourse 代码库中的效果如何。
如果你这样做,效果可能会相当不错,尤其是当你使用开发环境时,因为据我所知,开发环境甚至可以自动重新加载更改。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.