我前几天开始学习Scala。就语言本身而言,我认为它很棒,没有任何问题。为了帮助我的学习过程,我设定了一个任务,即从HTML页面下载、解析和索引文本。
在上述过程中,我发现自己不断地深入研究现有的Java库。我发现我不得不使用Java库来:
1)打开连接 - java.net.URL
2)解析HTML(TagSoup - 因为普通的XML解析器无法处理大多数格式不良的HTML)
3)索引文本(Lucene)
考虑到我不得不依赖Java库来完成相当多的重活,我开始怀疑是否值得我使用Scala,除了作为一项学习练习之外。这部分是由于需要进行额外的心理努力来映射两者之间的关系,例如,在Scala中byte[]的类型不是直观的,因为Scala中的所有东西都是对象。正是这种额外的心理处理可能使整个过程显得有些笨拙。 是否有其他人认为Scala在商业项目中使用的第三方库比Java少是一个障碍? 如果您可以调用现有的Java库,那还有什么关系,或者在代码库中跨越两种不同的语言会让它变得更加困难?
在上述过程中,我发现自己不断地深入研究现有的Java库。我发现我不得不使用Java库来:
1)打开连接 - java.net.URL
2)解析HTML(TagSoup - 因为普通的XML解析器无法处理大多数格式不良的HTML)
3)索引文本(Lucene)
考虑到我不得不依赖Java库来完成相当多的重活,我开始怀疑是否值得我使用Scala,除了作为一项学习练习之外。这部分是由于需要进行额外的心理努力来映射两者之间的关系,例如,在Scala中byte[]的类型不是直观的,因为Scala中的所有东西都是对象。正是这种额外的心理处理可能使整个过程显得有些笨拙。 是否有其他人认为Scala在商业项目中使用的第三方库比Java少是一个障碍? 如果您可以调用现有的Java库,那还有什么关系,或者在代码库中跨越两种不同的语言会让它变得更加困难?