我最近开始使用 Elixir,一些模式让我想起了 Python,它广泛用于数据科学项目。例如列表推导或匿名函数。
考虑到 Elixir 的高性能以及运行多个进程和处理异步任务的能力,我觉得它非常适合数据科学项目。
我错过了一点吗?有人有这方面的经验吗?
我最近开始使用 Elixir,一些模式让我想起了 Python,它广泛用于数据科学项目。例如列表推导或匿名函数。
考虑到 Elixir 的高性能以及运行多个进程和处理异步任务的能力,我觉得它非常适合数据科学项目。
我错过了一点吗?有人有这方面的经验吗?
我提倡使用正确的工具来完成这项工作。做数据科学通常有两个要求:
Python 和 R 是正确的工具。它们提供了最多数量的高质量库,虽然它们本身速度很慢,但由于使用 C 和 Fortran 等快速语言编写和优化的库,它们表现良好。
有些人喜欢 Julia 和 Scala 等替代方案。这些语言本身速度更快,并且有大量的库,尽管您可能仍然会遇到一些情况,在 Python 或 R 中提供合适的库,但在 Julia 或 Scala 中没有。
使用像 Elixir 这样的语言,你大部分时间都是靠自己的。数据科学专用库的数量是有限的,而 Elixir 社区——虽然很棒——主要关注分布式计算和 Web 开发,所以不要指望那里有很多支持。
简而言之,可以吗?从技术上讲是的,并且进行实验并没有什么害处,但是您正在使您的生活变得更加艰难。
还要记住,与流行的看法相反,Elixir在单线程性能方面并不是一种快速的语言。根据手头的任务,您会发现 Ruby 在某些情况下同样快,甚至更快。
不要误会我的意思,Elixir 是一门很棒的语言,它最擅长的地方令人惊叹,只是它不是我首先接触到的用于数学计算的语言。
数据科学是一个非常广泛的话题,涉及很多事情,我想补充一下我的 2 美分,你肯定可以在 elixir 中做数据科学,但它可能不像其他一些工具那样做得很好,但你可以走得很远我使用 elixir 进行数据清理和数据格式化。
还有其他人正在使用 elixir/erlang https://moz.com/devblog/moz-analytics-db-free/做与数据相关的事情,并且有允许您在 erlang https://github 中运行 MapReduce 作业的迪斯科。 com/discoproject/迪斯科