android - Scala 适合我吗? (专注于功能/OOP 风格的 C# 开发人员)

标签 android scala functional-programming

我想学习一门新的编程语言并为 Android 平台开发。

我是一名全职 C#/F# 开发人员,我也尽可能以最实用的方式使用 C#(因为我喜欢这种范例,远胜于旧的 skool 风格“让我们重复并向酒保描述如何制作鸡尾酒“,引用微软的话)。

但是,我非常不喜欢 Java,因为在我看来它已经过时了,嗯,就像一只恐龙——它缺少我最喜欢的 C# 和 F# 的特性。

另一方面,Android 平台的开发需要使用 JDK。

那么,您会推荐 Scala 吗?还是 JDK 的东西根本不适合我?

最佳答案

Scala 的表现完全符合您对构建在 JVM 上的函数式语言的预期。与 C# 相比,对我来说唯一的缺点(我没有使用过 F#)是 IDE 还没有完全完成重构。这还不错。我正在使用 IntelliJ 的 Scala 插件;这似乎工作得很好。

当然,您从 Scala 中获得的主要好处是能够利用那里的所有许多 Java 库,因为它们(大部分)可以互换使用。这对于 Android 平台来说可能并不重要,因为在 Android 平台上您的应用程序将是小型且独立的,但对于商业开发而言,这意味着 Scala 已经是一种严肃的企业语言。因此,学习 Scala 将在未来为您提供更多的工作机会。我肯定会推荐 Scala。

我的一个大金融客户正在使用它作为他们的服务器端语言,而且它工作得很好。例如:Scala 和 Java 列表、Scala 和 Java bool 值之间存在一些有趣的冲突,所有这些都有详细的记录,但其他方面都很顺利。

祝你好运!

关于android - Scala 适合我吗? (专注于功能/OOP 风格的 C# 开发人员),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845023/

相关文章:

scala - 为什么在查看隐式转换时类型推断只选择目标引用的最特定类型?

JavaScript 回调和函数式编程

android - Android 中 ListView 的 setBackgroundDrawable

java - 从 android 发送图像到 php 服务器时出现 OutOfMemoryError

android - 如何在 SQLITE 中使用 JOIN 从 2 个表中删除数据

scala - 是纯函数吗?

python - 有没有办法检查函数输出是否分配给 Python 中的变量?

android - 使用 activityresult 调整图像大小

scala - SBT 范围可以用于特定代码块的自定义 libraryDependencies 吗?

scala - 理解抽象方法重写具体方法时的逻辑