Scala,未来的java(?)[关闭]

2024-03-23

我试图弄清楚 scala 的受欢迎程度以及有多少 SO 用户实际使用它在办公的地方?

  • 这里有一些 scala 链接 http://giladmanor.com/2009/09/scala-java-of-future.html

我在工作中(金融技术)已经使用 Scala 一年了,根本不想再转回 Java!最初考虑迁移时我最关心的事情是:

  • 工具支持(IDE 是什么样的?)
  • 与现有 Java 库和构建技术的互操作(ant, Spring http://www.springsource.org/,内部编写的东西)
  • 人才库(在哪里可以找到优秀的 Scala 开发人员?)
  • 过渡时间(我写之前多久good Scala?)

我发现IDEA的Scala插件(目前免费 v9 社区版 http://www.jetbrains.com/idea/free_java_ide.html)非常出色:虽然不如 Java 的工具支持那么好,但肯定足以满足我们的需求。它具有基本的重构和调试以及出色的语法突出显示功能。我的经验Eclipse http://eclipse.org/非常令人失望:我了解到 Scala 2.8 预计会有很大的改进,但我看过最近的 Eclipse-nightly,坦率地说,它很糟糕。

与 Java 的互操作性是一流的 - 我没有遇到任何问题,并且仍然大量使用 Spring 和我们定制的(基于 ant 的)构建系统。开发人员池仅是员工流动率中等至较高的大公司的考虑因素;到目前为止,这对我们来说还不是问题,无论如何,受访者都表示有兴趣使用 Scala。

也许最大的问题是过渡时间。我发现需要 2 周的时间才能写出任何合理的东西,3 个月的时间才能写出任何合理的东西start真正“掌握”并需要 6 个月到 1 年的时间开始利用 Scala 的功能和 DSL 方面。那么,对我来说真正最大的收获是什么?

  1. 内置类型推断以及协变和逆变(代码更具可读性和直观性 - 泛型正常工作,不像 Java,它可能会非常痛苦)
  2. 函数式编程风格和闭包(代码更具可读性且编写速度更快)
  3. 参与者并发库(极大地简化了并发编程)

所以得出结论:

  • Scala好用吗?Yes - it's 极好的
  • 准备好了吗?企业 use? Yes- 现在有不少公司在使用它,包括 Twitter、Sony 和 EDF
  • 所获得的收益是否值得付出的成本?是的,一点没错
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala,未来的java(?)[关闭] 的相关文章

随机推荐

  • 如何使用 C# 更新数据透视表数据源?

    我想知道如何更新现有的数据透视表数据源 我在用Microsoft Office Interop Excel并针对使用 Excel 2010 的用户 我目前能够刷新工作正常的数据透视表 但是当添加更多行时 我希望将这些行包含在数据透视表数据源
  • WPF:我可以强制窗口重新评估其所有绑定和验证吗?

    我可以强制窗口重新评估其所有绑定和验证吗 由于某种原因 它似乎在一种奇怪的情况下忽略了 INotifyPropertyChanged PropertyChanged 我正在寻找一种解决方法 直到找到真正的原因 不幸的是 我知道没有办法强制窗
  • 如何在Linux中安装chrome(无头)

    我有一个运行 linux redhad 的 AWS EC2 有没有办法在上面安装最新的 Chrome v59 以便我可以像 PhantomJS 一样以无头模式运行它 我在 google 上能找到的所有资源都是关于如何在有 UI 的 ubun
  • 无法转换“UICollectionViewCell”类型的值

    我在 Storyboard 中使用自定义 CollectionViewCell 当我启动应用程序时 我收到以下消息 无法将 UICollectionViewCell 类型的值转换为 TestProject CollectionViewCel
  • 框架在不同时间绘画? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我的游戏中有一个非常烦人的错误 帧的底部似乎比帧的顶部渲染得更早 我不确定为什么会发生这种情况 我正在使用 JPanel
  • Python 的 bool 值是按值传递的吗?

    我发送了对 bool 对象的引用 并在方法中修改了它 方法执行完毕后 方法外的bool值没有变化 这让我相信 Python 的 bool 是按值传递的 真的吗 还有哪些其他 Python 类型有这样的行为 Python 变量不是 C 意义上
  • Pip 安装日志在哪里?

    为什么 pip 不记录何时安装了哪个版本的库 如果您将库更新为损坏的版本怎么办 你怎么知道哪个版本没有被破坏 那些对此投赞成票的人 你能告诉我你为什么这样做吗 运行 pip 时 您可以指定日志文件 这样您就可以在将来跟踪安装日志 pip i
  • n最大和n最小;堆Python

    这是出于对 python 中 heapq py 模块的 nsmallest 和 nlargest 方法的好奇 我正在读它here https docs python org 2 library heapq html 在文档中 文档没有说明它
  • 按类型组合连续日期时间间隔

    假设我们有这样一个表 declare periods table s date e date t tinyint 日期间隔无间隙 按开始日期排序 insert into periods values 2013 01 01 2013 01 0
  • 如何在 Typescript 中启用 NodeJS 和 ExpressJs

    我希望找到一个适用于 Node 和 Express 的 d ts 文件 这将在打字稿中启用 Intellisense 到目前为止 我已经尝试使用此处提供的 Node d ts 文件 https github com borisyankov
  • Maven 快照到底是什么以及我们为什么需要它?

    我对 Maven 快照的含义以及我们为什么要构建一个有点困惑 Maven 中的快照版本是尚未发布的版本 这个想法是before a 1 0发布 或任何其他发布 完成后 存在1 0 SNAPSHOT 那个版本是什么可能会成为 1 0 基本上就
  • 一台服务器向 Android 和 iOS 设备发送推送通知

    我们的组织有一个 Android 应用程序和一个 iOS 应用程序 我们希望开始向这些应用程序推送通知 安卓有GCM 苹果有APNS 但我们想要创建一个可以在 Android 和 iOS 上运行的 API 设置服务器的最简单方法是什么 以便
  • 反应式香蕉中的动态事件切换导致严重泄漏

    我不确定这种行为是预期的 即我误用了 Reactive Banana Switch 还是错误 假设我有两个类似类型的输入行为 并且我想根据事件在它们之间进行切换 我写了这个函数 switchBehaviors Behavior t a Be
  • 从 WCF 服务抛出FaultException 会导致“此故障的创建者未指定原因”。

    当投掷一个FaultException
  • 从 openapi-generator 生成提示登录时添加行 import openapiclient "github.com/GIT_USER_ID/GIT_REPO_ID"

    我正在使用 openapi 生成器来生成我的其余 api 客户端 它生成行 openapiclient github com GIT USER ID GIT REPO ID 在我的进口中 但我一生都无法理解为什么 运行一个go mod ve
  • CONN_MAX_AGE 在 Django 中如何工作

    有人可以 ELI5 CONN MAX AGE 做什么吗 我认为它是这样工作的 1 请求 1 进入 打开到数据库的连接 1 2 请求 1 使用连接 1 来做一些工作 3 请求 1 完成 由于 CONN MAX AGE 不为零 并且尚未达到期限
  • Typescript 类型的递归子集

    在 Typescript 中是否可以创建与此类似的类型子集 type Schema user name string age number profile isCool boolean const wantedSubset user nam
  • 加速 Google App 脚本/Javascript 和递归

    我正在 Google App Script 中为 Google Sheet 编写一组脚本 我创建了一个用户界面来为 Google Sheet 提供网页体验 充当论坛 我以递归模式将讨论存储在电子表格中 如下所示 ID Parent ID T
  • 什么是 LLDB RPC 服务器? Xcode什么时候会崩溃?为什么会崩溃?

    我在调试器中收到一条消息 LLDB RPC 服务器已崩溃 崩溃日志位于 Library Logs DiagnosticReports 中 并具有前缀 lldb rpc server 请提交错误并附上最新的崩溃日志 就我而言 每次运行应用程序
  • Scala,未来的java(?)[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi