目前我询问大模型,有哪些可以做的开源项目,大模型说 prism 这个 ruby 解析器比较新,可以依靠它,用 rust 来实现一个 ruby 的格式化工具,我听大模型说目前市面上主流的格式化工具效率比较低下,想问下各位 ruby 开发者,你们是怎么看待这个问题的呢?目前的工具是否能够忍受,是否需要一个更高效的解决方案呢?或者是否能接受用其他语言来开发的工具呢?还有一个问题,那就是我为这个项目起名叫“gemcut”是否合适呢?感谢大家,我对 ruby 知之甚少,很想听听你的想法
祝大家新年好
目前我用到的格式化工具只有编辑器调用 ruby-lsp 时的自动格式化。没感觉到有效率问题。
新的格式化工具最大的问题是我不会专门去用。
现在都不手写代码了,提交前用一下 bin/rubocop -f github -a
bin/rubocop -f github -a
写库 rubocop 在 rake 执行流程里 ide lsp 也可以实时的提醒代码风格问题
所以执行速度是全部 ruby 应用的问题 编译速度是 crystal 应用的问题
crystal 还没有开箱即用的像 prism 的 lexer paser 你可以看看这方面 或者 crystal 的编译缓存优化
你的意思是说,Ruby 工具生态成熟,不太需要新的工具,而 Crystal 的工具生态是可以考虑的发展方向吗?
写 ruby 有个很大的问题是,ruby 源码是 C,你没法参考源码写 ruby,或者改变不了内部行为 类型系统也不现代,实现思路也没有 PEPS 这种参考,我对 ruby 有点失望了,有 ai 还好点,给你找网页,之前纯靠猜吗?
crystal 源码精炼优雅,既能用又能学,如果出了杀手级应用,或可以把 crystal 推到全平台支持,这是我乐于看到的 很多语言都只提供主流平台架构支持,crystal 不算特别劣势,但它一脉相承的优雅语法,绝对可以减少许多的选择内耗
end 结束语法是对复杂逻辑分支的视觉引导,对大型代码库的可读性保持, 低特异符号是对编程流畅度,代码易读性的坚持 选择 crystal 是为了我对编写可读的代码的坚持
我现在有个想法,crystal 是编译型语言,它没有 gem 这种预安装的 lib 存储库,所以不能简单的像 ruby 一样随便写,然后 gem 引入依赖。 这是 crystal 生态缺失的地方,你可以看看有没有兴趣。它的作用就是用更好的标准库替代 ruby 写脚本。
关于用 rust 提速,我觉得没什么必要,高度相似的语法,使得 ruby 重写到 crystal 就能简单的获得性能提升。
而迈入 rust,就是另一种编码体验了,单态类型的标准库,会让编程也充斥样板代码。 生命周期这种复杂的东西,我觉得就该是 Runtime GC 做的事。所以 rust 真正的优势领域在系统编程,而非效率工具。 不要温柔的走入那良夜,rust 坚持 zero cost,而我的坚持就是 no pointer programming.
至今還沒用過格式化工具,除了一些很基本的用 rubocop 檢查,寫 ruby 就講究一個自由