成为合格的Scala程序员是否需要您成为合格的Java程序员?
从美学的角度来看,我是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库,我的个人准则是:
- 如果Spring可以做到,请使用Spring
- 如果Spring太重,请使用Spring所使用的。
- 如果Spring无法做到,请检查github项目
- 如果github上没有任何内容,请检查Apache项目
- 如果Apache没有任何内容,请检查sourceforge(t)。
- 最后,谷歌随机或只是自己构建。
这有点荒唐可笑,但这是我在过去十二年中使用Java以后对第三方库的成熟性和稳定性的印象。
-
如果您想成为Java / C ++程序员,是否必须学习数据结构?
2021-01-29 关注 0 浏览155 1答案
-
作为学习Python的Java程序员,我应该注意什么?
2021-01-30 关注 0 浏览68 1答案
-
将“ Java School”程序员转变为C或C ++程序员有多难
2021-01-30 关注 0 浏览132 1答案
-
为什么Java程序员喜欢将变量命名为“ clazz”?
2021-01-30 关注 0 浏览113 1答案
-
Java EE程序员不写入文件
2021-01-30 关注 0 浏览112 1答案
-
程序员写程序所使用的地址是?
2022-03-03 关注 0 浏览41 1答案
-
你是如何看待女程序员的?
2021-01-11 关注 0 浏览138 1答案
-
你是如何看待男程序员的?
2021-01-11 关注 0 浏览164 1答案
-
每个JavaScript程序员应该知道什么?
2021-02-02 关注 0 浏览104 1答案
-
适用于Perl程序员的Python
2021-01-29 关注 0 浏览63 1答案