是的,这是 ruby 的,试了一下,一些功能可以,一些不能用,特别是遇到 python 的元组之类的,我只试了一点点。
在用 python,只是有时觉得 python 缩进比较难受,有时逻辑错了,语法没错不易查出。Julia 也用过。ruby 没用过,觉得 crystal 比 go 方便。 但使用 pycall 时,python 里面的元组等类型有些语言没有,还要转换。而且一些函数变量是元组时,不便输入。crystal 还没有 pycall。
有仁兄能做个 PyCall 吗?使用 Crystal 调用 Python 包,一下解决很多问题。Julia,Ruby 都是这样做的。
刚才尝试了 Pycall, 很多 Python 里面的包在如 Ruby 中都可以调用,这样的话,也许可以调用 pytorch 或者 tensorflow.发现 Julia 也是可以直接 Pycall,这样的话,只要 Python 做好第三方包,其他的都可以用了。
主要是第三方包的支持,相比 Python 而言,gem 包少,更新不及时,造轮子人少,用的人当然也少了。Python 的空格让人崩溃,感觉 Ruby 写起来心里舒服,但没相应的第三方支持,不可能全部从头造。Julia 做科学就算好,结合了很多东西,但第三方包还是不像 Python 那么及时更新而且完整,最合适的就只有 Python 了。Go 也碰到第三方包不兼容的情况。
我浅薄地认为,ruby 的第三方包还是不够丰富,像 Python 能提供 Web 到 DeepLearning 全系列第三方包,而且有丰富的文档和书籍,可 Ruby 没有,即使想用的人也会转向的。如果大家热爱 Ruby,需要大家努力造轮子,写文档,才能吸引更多的人来参与。新出的 Crystal 也一样。
以前没有用过 Ruby,看了 Crystal 后觉得很好,但命运和 Ruby 会不会一样呢?从语法上,我个人喜欢 Ruby 一点,Python 缩进的方式有时让人崩溃,但 Python 人气指数很高。从 RubyGems 来看,很多 Gems 使用没有完整的教程,只有安装指南。看 Python 的第三方包,好多都写成指南,写成书出版了,这就是 Python 能变成生产力,让用户能明明白白使用,Ruby 没有做到,除 Rails 之外。Crystal lang 会不会成为第二个 Ruby 呢?Ruby2.6 就有 Jit 了。