为了提高数据科学应用程序的工作效率,已经发布了专门的IDE
> R(例如RStudio)和
> Python(例如Spyder或Rodeo,见Is there something like RStudio for Python?).
Scala有类似的东西吗?
解决方法
这基本上是一个带有输出窗口的文本编辑器,可以根据需要随时更新. Eclipse有类似的东西,我更喜欢IntelliJ.
优点:
>支持IntelliJ奇妙的代码完成,错误检查和sbt / maven集成.
>您可以在与实际开发系统相同的项目设置中进行原型设计(如果有的话).
缺点:
>我不知道任何缓存/选择性评估,因此每次您想要答案时都会对整个工作表进行评估,如果您有一些需要很长时间才能完成的操作,您可能不需要这样做.
>没有工作区变量窗口或绘图集成.
Jupyter笔记本是iPython笔记本的概括,现在支持dozens of interpreted languages(新内核一直在添加).
优点:
> Scala和Spark Scala内核相当容易安装,都能够添加maven / sbt依赖项和JAR.
>笔记本电脑中的单元可以单独运行(例如,您可以训练一次模型并多次使用它).
>单元格支持markdown(使用LaTeX!),可以自行渲染(a github example),允许您将笔记本用作报表/演示.
>笔记本电脑服务器支持笔记本电脑,因此您可以轻松地使用功能更强大的计算机作为笔记本电脑服务器,然后从其他位置与笔记本电脑进行交互
>某些内核具有自动完成功能.
>看起来有一些情节整合(example),但它并没有完全抛光.
缺点:
>并非所有内核都是完美的,有些内核有缺陷或功能有限.
>没有工作空间变量窗口.
>你真的需要小心细胞的排序,否则会导致很多混乱.
对于大多数数据技术的东西,我使用Jupyter,但它远非完美.为了让Scala真正接管数据科学语言,它真的需要更多的数据科学库(scikit-learn在这里遥遥领先)并且它需要一个可靠的绘图库(有一些选项,但我没有看到它们都使用惯用的Scala,能够在没有服务器的情况下运行).我认为只要它具有这两个元素,它就会变得更受欢迎,并且希望有人能够创建一个不错的RStudio风格的IDE.