编程语言Scala一般用于做啥样的项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程语言Scala一般用于做啥样的项目相关的知识,希望对你有一定的参考价值。

Scala有交互式命令行(REPL), 可以在上面快速的试各种语法和代码。这对学习新特性,或者实验新想法非常有用。(第1章)
一致性: 尽管Scala融合了静态类型系统、面向对象、函数式编程等语言特性,但却很少能看出融合的痕迹。Scala是我见到融合最多语言特性而又不显得杂乱的编程语言之一。
类型安全:Scala创始人是教授,他先带领创建了Java 5编译器,而后觉得Java有太多羁绊而发明了Scala。 Scala编译器和类型系统非常强大,它的目标是尽量把软件错误消灭在编写过程中。 Scala类型系统是图灵完备的,甚至可以在编译期间解决问题。
面向对象: Scala是面向对象的编程语言,所有的变量和方法都封装在对象中,可以把信息封装起来供外部使用。(第2章)
函数式编程:Scala同时又是函数式编程语言,函数可以独立存在,可以定义一个函数作为另一个函数的返回值,也可以接受函数作为函数的参数。这给组合函数带来了很大的便利。如何把面向对象编程形容成搭积木的话,函数式编程就像拼线条,更灵活和更有创意。(第3章)
异步编程: 由于函数式编程提倡变量不可变,使异步编程变得非常容易。同时Scala提供的Future(第5章), 和akka类库(第9-11章),使得异步编程变得非常容易。
基于JVM: Scala会被编译成为jvm bytecode,所以Scala能无缝集成已有的Java类库。你可以非常自然的使用已经存在的非常庞大且稳定的Java类库,比如小巧好用的apache.common.*, 或者Java上的各种工具类库。

因为如此众多特性,用Scala可以优雅地编写简洁的代码,同时又能减少很多低级错误;能快速进行开发,又能保证系统性能、团队协作和长期维护。
参考技术A 用在数据处理的工具比较多。功能编程比迭代程序开销少,更适合云平台计算。 参考技术B 用在数据处理的工具比较多。功能编程比迭代程序开销少,更适合云平台计算。本回答被提问者采纳

好的现代 c 代码是啥样的? [关闭]

【中文标题】好的现代 c 代码是啥样的? [关闭]【英文标题】:What does good, modern c code look like? [closed]好的现代 c 代码是什么样的? [关闭] 【发布时间】:2010-11-21 03:09:49 【问题描述】:

我主要是一名 c#/.NET 程序员,但我即将接手的 hobby project 将涉及 c 编码。

我知道那里有大量的 c 代码,但是如果您没有“长大”使用该语言,那么很难将结构良好的 c 项目与结构不良的项目区分开来。谁能指出一个更新的、非平凡的(但不是巨大的)项目,该项目被认为是如何构建 c 代码的一个很好的例子?

编辑

如果您找不到项目,请随时用语言讨论您认为 c 项目应该如何构建。

【问题讨论】:

ziglang.org, 不是 Rust 不是 D 不是 Go 不是 Jai 不是 C++ 不是 Ada 不是 Pascal 不是 Modula 不是 ATS 不是 BitC 不是 还有什么? 不是 Nim 也不是 Fortran 【参考方案1】:

这完全是轶事,但我听说SQLite 项目被认为是好的代码。

【讨论】:

【参考方案2】:

查看 git 源码:http://github.com/git/git/tree/master

【讨论】:

125,000 行代码适合新的 C 程序员?你确定吗? 一切都与结构和风格有关。不过,您不必阅读每一行。【参考方案3】:

我认为 Steve Dekorte 的 IO language 实现是干净实用的现代 C 的一个很好的例子。

【讨论】:

我同意,这是非常好的代码。我喜欢它,我能理解它;-)【参考方案4】:

Dave Hanson 的C Interfaces and Implementations 是一个非常精心设计的库,包含大约 7000 行代码。如果你能负担得起,这本书很棒。

Lua 编程语言和库的实现大约有 17,000 行 C 代码,做得非常好,但在某些地方相当复杂——如果没有这些领域的背景,编译器和垃圾收集器就不太容易理解。但代码设计精美。

Git 有超过 125,000 行代码。我不建议任何人将其作为如何设计 C 代码的示例进行研究。只是设计和公共接口,更不用说实现,很难理解——这就是为什么有这么多 git 教程。

【讨论】:

+1 用于 Lua。当我深入了解它是否在我所从事的嵌入式软件项目中的性能和质量方面可以接受时,我感到非常惊喜。 Git 具有一致的风格和结构,因此它是学习的好材料。您不必准备好每一行! @Norman 看起来这本书在 Safari 上可用。我一定跳过了它,因为它已经有 13 年历史了(假设它不是“现代代码”),但我会根据你的建议检查一下;谢谢! 125,000 行 GIT 与 17,000 行 Lua 在这种情况下没有太大区别,因为他不会(可能)阅读每一行... @git 倡导者:OP 如何知道从哪里开始?有什么想法吗?【参考方案5】:

怎么样:

“C 编程语言”,第 2 版,Kernighan 和 Ritchie

习题答案

http://users.powernet.co.uk/eton/kandr2/

【讨论】:

【参考方案6】:

以下书籍(附有代码示例)可以稍微缓解您的范式转变:

斯蒂芬·科坎

C 语言编程,第三版

http://www.kochan-wood.com

【讨论】:

【参考方案7】:

C: A Reference Manual 包含各种示例代码用法,其实现以标准 C 为中心;一个明确的文件,可能与 C 标准一起研究。

【讨论】:

【参考方案8】:

SVN 项目完全用 C 语言编写,并且维护良好:风格一致、cmets 良好、代码气味低。我推荐perusing它。

【讨论】:

以上是关于编程语言Scala一般用于做啥样的项目的主要内容,如果未能解决你的问题,请参考以下文章

好的现代 c 代码是啥样的? [关闭]

python是啥样的编程语言?

操作系统是用啥样的 C 语言编写的?

lotus domino是啥样的计算机技术?是一门编程语言么?

易语言程序在啥样的环境才能运行

大家知道这个少儿编程python真的适合孩子来学习吗?学习方式是啥样的啊?