当前位置: 首页 > 面试题库 >

成为合格的Scala程序员是否需要您成为合格的Java程序员?

郁宾鸿
2023-03-14
问题内容

从美学的角度来看,我是Scala的忠实拥护者,并且喜欢将其投入打字系统和库之类的许多概念性工作。

但是,当我开始修改Scala(并看到我的一些同事在修改它)时,我发现自己不得不挖掘越来越多的Java知识(尤其是以库的方式)。

这给我带来了一些问题:

  • 从未成为Java程序员的我对Java标准库或其他流行的库(例如Apache Commons)不熟悉或不满意。
  • 我在Java领域的google-fu很弱。很难知道要寻找什么-大量的无关紧要的Java初级编程教程使问题变得更加严重。

不过,在这一点上,我不确定我是否应该咬紧牙关,尝试通过Java找到最快,最全面的教程来赶上Java的20年发展,还是不确定继续尝试逐步修补我的Java是否合理我在scala周围徘徊时的知识。

斯卡拉领导我们之间提供的任何智慧将不胜感激。

PS我毫无疑问会熟悉Scala语法,我对函数式编程和scala社区中的范例感到非常满意和满意。但是,程序员的能力不仅取决于自己的自学能力,而且还取决于他从其他人那里学习和采用工具与技能的能力。


问题答案:

您应该采取一种lazy学习Java 的方法。在需要时学习它。

我认为,许多旧的Java知识已经过时,许多新的教程都是多余的。例如,您当然不想打扰Java的过时Collections。许多基于Java的框架可以安全地忽略。而且,可以安全地绕过重量级的JavaEE堆栈,直到您被迫使用其中的一部分。

Java中的许多常见模式在Scala中要简单得多,前者的工作繁琐。核心逻辑应始终在Scala中实现。我相信您可以直接在Scala中完成大部分工作,并且在构建诸如Swing或与Spring集成之类的东西时仅需要使用Java。

关于选择和使用Java库,我的个人准则是:

  1. 如果Spring可以做到,请使用Spring
  2. 如果Spring太重,请使用Spring所使用的。
  3. 如果Spring无法做到,请检查github项目
  4. 如果github上没有任何内容,请检查Apache项目
  5. 如果Apache没有任何内容,请检查sourceforge(t)。
  6. 最后,谷歌随机或只是自己构建。

这有点荒唐可笑,但这是我在过去十二年中使用Java以后对第三方库的成熟性和稳定性的印象。



 类似资料:
  • 做一个好的程序员,困难而高尚。将一个软件工程集体愿景变为现实,最困难的地方在于与你的同事和顾客相处。编程很重要,这需要强大的智力和技能。 但在好的程序员看来,相比构建一个让客户和各种各样的同事都满意的软件系统,(纯粹的)编程真的只是小孩子的玩意。在这篇文章里,我尝试尽可能简洁地总结那些当我21岁时,希望别人告诉我的事。 这可能很主观的,所以,这篇文章注定不适用于所有人,并且有的内容有点武断。我尽量

  • 问题内容: 那么,我真的需要了解它们吗?有没有一种有趣的方法来学习堆栈,链接列表,堆等?我觉得这很无聊。 **发布此问题时,它显示了一些警告。我不可以发布这样的问题吗?管理员请澄清,我将其删除:/ 警告::您要提出的问题似乎很主观,很可能已被关闭。 好吧..我明白了,学习它们的最好方法是什么?我要看什么书?什么网站? 问题答案: 如果您想成为一名程序员,则必须学习数据结构。数据结构是您的基础,如果

  • 问题内容: 我一点都不熟悉ASP.NET成员资格/角色。这是我第一次使用它,也是我第一次尝试使用ASP.NET MVC。当我为MVC创建第一个项目时,它为我提供了一个可爱的模板来创建帐户。我很高兴看到我不必手动执行此操作。但是,它失败了,因为它无法连接到SQL Server。我没有SQL Server,我有MySQL。有什么简单的方法可以使该系统改为使用MySQL,还是必须创建自己的身份验证? 问

  • 问题内容: 是编写Java程序所需的主要方法吗? 这是我的代码: 它显示了编译时的错误: 问题答案: Java程序不需要main方法。正如其他人指出的那样,Web应用程序不使用main方法。 在独立应用程序中甚至不需要它。考虑 我编译并运行并获得以下结果: 对于独立应用程序,您必须具有 主要方法或 静态初始值设定项。 Main是首选。

  • 问题内容: 是否可以将简单成员资格提供程序与mysql一起使用(也可以使用实体框架) 如果是,如何实现。 任何文档/链接都非常感谢 预先感谢 问题答案: 我在GitHub上创建MySqlSimpleMembershipProvider并制作示例项目。 https://github.com/xyz37/MySqlSimpleMembershipProvider 就这样。 感谢您对这个问题的回答。 单

  • 你能帮忙找出哪一部分错了吗,多谢。:)