4.这书真是一本非常好的书 虽然这本书可真够贵的,中文版不到300页,码洋近60元。但是这书是我见过的计算机教程中信息密度最高的一本。作者很淡定的说,你会google我也会google,没必要写一些你随便搜搜就能找到的东西。于是就有这种三十页就包括一门语言的书。而且每个语言又分三段,大概就是语法入门,高级特性,高级特性与实践结合。完全没有安装指南,做得好!很多语言书的安装指南过时又错误百出(这不完全是作者的错,很多书引进之后,对应的软件版本已经过时了),最后还是靠google到的文档解决问题,索性没有也是一件好事。如果读者靠里面的语言吃饭,就完全没有必要读这书。但是如果没接触过,读完这书里一门语言之后就能比读完这语言的其他教程多知道一点东西,此可谓多元化的犒赏。 这书类似于我母校某老师宣称的一种理论,计算机教学应该不走寻常路,应该去模仿学自行车的过程,把人扶上车座,然后对准车屁股一脚踹上去。然后能学会的人自然摇摇摆摆的就上路了。这书里面第一天大概类似于扶人上车座,然后第二三天就是猛踹的过程。 里面反复提到DSL,可见DSL毕竟是解决大多数实际问题的大势所趋。 此外这书很有趣,把每个语言都用经典电影里的角色做比,让人很轻松的记住每种语言的特点,有些电影我看过,有的还没看。本来打算找来一一看过,但是发现最后一门语言对应的是Star Trek,就打消了这个念头。 作者:肥小满 5.推荐 书中的每一种语言都有各自的特色,每一中语言代表着一种编程范式。知晓这些语言,了解和理解这些语言所蕴含的知识,对于软件开发者而言是非常有必要的。这会开阔他们的眼界、开拓他们的思维,让他们在实际工作中更容易和更愿意去探索解决问题的不同方法。我推荐每一个软件开发人员都来读一读这本书,尤其是从业三年以上的开发人员。 作者:特价萝卜 6.读《七周七语言》有感 前一段时间看完了《七周七语言》,这本书的书写风格有点像教材,会要求你回家做作业。 但说实在的,不做作业真的无法理解里面的全部内容。 或许抽空我也应该再看一遍并且把里面的作业做一遍。 之前对 C# 最熟悉,所以难免会把里面的各种编程模型和 C# 进行比较了。 约束—逻辑编程(Prolog) Prolog出身于一个专用于约束-逻辑编程的语言家族。我们用Prolog编写各种应用,全是为 了解决一小类问题。然而,解决这一小类问题获得的成果却蔚为壮观。简单地说,这类问题为某 个已知问题域定义一些逻辑约束,然后就可以用Prolog求出这类问题的解。 当我看到 Prolog 这门语言的时候,实在是让我眼前一亮!简单的来说, Prolog 就是用来做规则引擎的。 前一段时间,部门的另一个项目组在 C# 中利用 Ruby 实现了规则引擎。本来对这块还不是很理解,但是看完 Prolog 的介绍后,对规则引擎的基本概念了解得更深入了。 还记得高中的时候想:老师是怎么排课表的呢?能不能用一个算法来排一个课表? 现在回想起来,如果老师们有 Prolog,那这一切是不是就太简单了? 用 Prolog 编程,其实不是在编程,而是告诉程序一条条规则,也就是逻辑约束。 Prolog 就会在内部利用相关的算法进行高效的运算,然后告诉你满足条件的结果。 或许以后再遇到这样的问题,就不要去编写复杂的算法了,交给规则引擎吧~ 函数式编程(Scala、Erlang、Clojure、Haskell) 你已经了解到,函数式编程语言通常比面向对象语言有更强的表达能力。用它们写的代码显 得比面向对象语言更短小精悍,因为它们用来编程的手段要丰富得多。 看到各种函数式编程语言,和 C# 比较后发现,C# 真的很好地把函数式编程融入了自身。Java 在这块差距就很大了,Java 8 中才刚刚引入了 lambda 表达式… 书中的 Scala 正式为了在 Java 中实现函数式编程而产生的,它运行在 JVM 之上,可以直接使用现有的 Java 资源。 最后不得不佩服 C#,在面向对象的强类型编程语言上,优雅地实现了函数式编程。 更佩服的是,C# 在函数式编程的基础上,把它扩展为了 Linq,开发者可以使用同样的一套语法,实现两种功能(便捷地处理内存中的数据 & 便捷地处理远程数据)。 两种功能虽然在语法上完全一样,但在底层却截然不同(一个是 lambda 表达式,一个是表达式树)。 可惜 C# 出自微软之手,是一门商业化地语言,在开源社区不受待见。但如果抛开偏见,作者也应该把 C# 写入这本书~ 并发 并发是面向对象编程语言永远的痛。函数和数据捆绑在一起了,所以调用函数的时候就必须额外小心。 而在书中介绍的许多语言都是变量不可变、函数同样的输入就有同样的输出。这些规矩让这些语言在并发操作的时候变得格外简单了。 当然,它们也会有自己的局限性… 微软在 .net 的几个最新版本中,不断的改善着并发体验。书中介绍了几种并发模型,会让你有眼前一亮的感觉,但是目前我也没吃透,还需多读才能深刻地理解。 想想以前,一提到并发只知道 lock,真是井底之蛙啊! 范型演进之路 如果你下定决心,以后多用函数式语言来编程,那么有几条路可供你选择,你既可以彻底与 OOP决裂,也可以选择较为温和的渐进策略。 我们学这七门语言花了不少心力,但也见识到了叱咤风云四十余载的几门语言,以及多种编 程范型。但愿你现在已经对编程语言的演化有了一个正确认识。你可以看到三条截然不同的范型 演进之路。 在没有闭包、没有 lambda 地 Java 中,某些时候的开发效率真的是低了好多好多。 而 C# 在这条路上走得还是蛮快的。 2.0 泛型;3.0 lambda+扩展方法;3.5 Linq… 三大版本,几年的努力,最终对函数式编程有了一套优雅的实现方案。 4.0 并行;4.5 async+await 改善并行编写方式… 希望 C# 最终能有一套优雅的并行模型! Java 君在这块你要加油了! 赞助
赞助地址:Dozer Zone 7.书看完了,学习才刚开始 这不是一本教我每种语言写一个Hellow World的书,虽然只有不到三百页,还是尽力展现了每种语言的特质。 因为只有很短的篇幅,又要介绍很酷的语言特性,这本书采用和不同的叙述方法,基本不会介绍语法的全貌,而是通过自己语言的特性和相邻语言的关联性,来直击要害。 我感觉这种方法非常有趣,但同时对作者、译者和读者都是种挑战,当然,几种语言互相联系其实也有助于理解一些概念。不过,我觉得如果读者有几种语言的一些初步了解,或者对函数式编程有点了解的话,还是会容易读一些,否则,曲线就比较陡了。 这本书的另一个要点是,书看完了,学习才刚开始。这本书向读者展示了语言最酷的地方,让读者决定是不是喜欢或需要这门语言,但要想真正掌握一种语言,必须要进一步学习很多知识 。 8.微博评论: 一个老IT编辑:今天仔细研究了下《七周七语言》这本书,发现本书真是市场空白,但同时也有一定的高度,不是一般读者能学好的,必须对语言研究到了一定高度的人才能看。又看了看各个网站对它的点评,我想可能它销售上没有一本普通C语言入门书销量高,但实际上它将Coder带入一个更高的领域,让Coder的视野更宽。 |