Scala - Java =? (或Clojure - Java =?)

时间:2010-06-07 20:20:11

标签: java scala clojure

  1. 开发人员是否可以在不知道Java的情况下使用Scala?
  2. 开发人员是否可以在不知道Java的情况下使用Clojure?
  3. 注意:例如我是C#开发人员,我使用.NET而不知道任何VB(当然WF 4.0使用VB语句,所以我拒绝任何涉及WF 4.0的项目:))。

    总结I:感谢大家的回答。现在我可以告诉人们可以在不知道Java(语言)的情况下使用这些语言。现在我有另一个问题:如何从Java(JVM)生态系统开始?什么是初学者,中级和高级知识库(包!)?老实说,Java生态系统对我来说总是有点混乱,因此为学习(曲线!)JVM提供一些“参考参考”和“事实教程”会非常有帮助。 (好的!我会把它作为另一个问题发布!)

7 个答案:

答案 0 :(得分:14)

Scala和Clojure更是如此,它们与Java完全不同。他们唯一的共同点是它们在Java虚拟机上运行。您不需要知道要在Scala或Clojure中编程的Java编程语言。但是,了解Java生态系统(Java虚拟机和运行时环境)是很有用的。

答案 1 :(得分:4)

当然可以。您最初缺乏标准库的知识,但是当您开始使用新语言时,这不是一个大问题。 Clojure&然而,Scala非常重视Java互操作,并且不会试图隐藏原始的Java内容,因此您可能需要在某些时候更多地了解Java(而不是语言 - Java平台)以便最大限度地利用它语言和底层平台。

答案 2 :(得分:3)

从了解Java和Clojure(但不是Scala)的角度讲,你可以在不知道Java的情况下使用Clojure。您可以访问功能齐全的核心语言和库(例如clojure-contrib)。

然而,使用Clojure(与其他lisps相比)的一大好处是可以访问Java生态系统 - 库,调试器,JVM等。

所以,是的,你可以有效地使用Clojure,我不会让缺乏Java的知识阻碍你,但是如果你最终开始学习足够的Java来利用它,你会增加你的技巧。

答案 3 :(得分:3)

好吧,Clojure已被移植到CLR。由于您是.NET开发人员,因此可能比完全跳转到JVM更容易。 :)

http://github.com/richhickey/clojure-clr

答案 4 :(得分:1)

是的,就是我!

除了当我需要一个愚蠢的简单摇摆gui时,对我来说并没有太大的问题。多数民众赞成我不得不回去看看java。

答案 5 :(得分:0)

Scala与java完全不同。所以是的,你当然可以在不知道java的情况下使用scala(当然你必须首先学习scala)。即使知道java(或任何OO语言)+一些函数式语言,也更容易理解scala。

答案 6 :(得分:0)

您是否考虑过使用f#的可能性?它具有ML风格的功能,具有丰富的类型系统(然后更接近scala而不是clojure)并且它包含在.net中的开箱即用