去斯卡拉去!主要区别是什么?

我刚刚发现此网页比较了一些用Scala,C#和Go编写的代码。我很惊讶地看到Scala和Go代码看起来多么接近,比起Scala代码和C#代码而言,要多得多。

所以我的问题是:Scala和Go之间最显着的区别是什么?


慕码人2483693
浏览 245回答 3
3回答

慕姐8265434

我不这么认为,至少在概念上它们是非常不同的。Go比C#更像C ++并且面向“低级”,C#仅具有一些功能,而Scala允许您编写典型的“功能”代码(比OCaml或Haskell更冗长,但类似)。Scala的类型系统相当复杂,但是仍然基于类似Java / C#的基础。另一方面,Go的面向对象部分看起来完全不同。我没有尝试过Go,因为我发现它太像C了,太底层了。作为Java程序员,我知道C#在技术上处于领先地位,并且Java中缺少许多不错的功能。在学习Scala时,它扩大了我的视野,为我提供了功能代码的优势和功能,而又没有失去面向对象世界的好处。

慕桂英546537

坦白地说,Scala代码以极其命令式的风格编写。我不是功能纯粹主义者,但是将该页面的Eratosthenes筛子代码与在Scaladoc的Stream类开头的更短,更易读的Eratosthenes筛子示例进行对比。该页面的代码到处都有大量的vars和while循环,更不用说bitshift了。现在,我不知道关于什么是惯用的Scala代码有多少共识,但这绝对是遥不可及的。因此,除了Scala和Go都是C的后代之外,它没有说其他任何有关Scala和Go的相似之处。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go