北冥网

 找回密码
 加入北冥

用百度帐号登录

只需两步,快速登录

查看: 3551|回复: 25

[有声/电子书] 【下载】七周七语言- 理解多种编程范型

[复制链接]

99

主题

110

帖子

371

网盘

超级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
573
发表于 2013-12-30 14:00:52 | 显示全部楼层 |阅读模式

是不断搜索还是马上拥有?不要犹豫!

您需要 登录 才可以下载或查看,没有帐号?加入北冥 用百度帐号登录

x
内容简介:

从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。

Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。

在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本《七周七语言》。

从众多语言中,挑出本书包含的几门语言,这一过程也许不像你想得那么复杂。我们只不过发了些调查问卷,向本书的潜在读者请教了一番。调查数据汇总上来时,有八门语言入选希望最大。不过,我先是把JavaScript“踢”了出去,因为它实在是过于热门了,取而代之的是原型语言中热门程度仅次于JavaScript的Io。随后,我又把Python“踢”了出去,因为我只想给面向对象语言一个名额,而Ruby的票数多于Python。同时,这也给一个出人意料的候选者让出了位置——名单上位列前十的Prolog。




下面,我给出成功入围本书的最终名单和挑选它们的理由:
  
   Ruby。这门面向对象语言高票当选,因为它不仅好用,而且好读。我曾经考虑过不介绍任何一门面向对象语言,但我又想在其他编程范型与面向对象编程之间作一些比较,因此,至少介绍一门面向对象语言还是有必要的。相比于大多数程序员的日常用法,我想把它挖掘得更深入一些,以揭示设计者的良苦用心。我最终决定重点介绍Ruby元编程(metaprogramming),因为它可以扩展Ruby的语法。对于Ruby榜上有名的结果,我还是相当认可的。
   Io。和Prolog一样,Io也是本书颇具争议的语言。它虽与商业成功无缘,但其兼具简单性和语法一致性的并发结构,却是十分重要的思想。它的最简语法(minimal syntax)功能强大,与Lisp的相似性也颇能给人留下几分印象。Io不仅和JavaScript一样同为原型语言,还有着独一无二、韵味无穷的消息分发机制,因此在众多编程语言之中,它也占有小小的一席之地。
   Prolog。没错,我知道Prolog年事已高,但它仍然力大无穷。它能轻松解出数独问题,这不禁让我大开眼界。而且用Java或C语言时,有些难题我殚精竭虑方能解决,用它却能干净利落地搞定。承蒙Erlang的发明者Joe Armstrong出手相助,我得以深刻体会到Prolog之妙。同时,也正是深受Prolog影响,Erlang才得以问世。如果你此前从未用过Prolog,我保证,它定会带给你惊喜。
   Scala。作为运行于Java虚拟机上的新一代语言,Scala为Java系统引入了强大的函数式思想,而且也并未丢弃面向对象编程。回顾历史,我发现C++和它有着惊人的相似之处,因为从过程式编程过渡到面向对象编程期间,C++同样起到了举足轻重的作用。当你真正融入Scala社区之后,你就会明白,为什么对于函数式语言程序员来说,Scala是异端邪说,而对于Java开发者来说,Scala是天降福音。
   Erlang。作为名单上历史最悠久的语言之一,Erlang不仅是一门函数式语言,而且在并发、分布式编程、容错等诸多方面都有着优异表现,真是想不火都难。CouchDB(新兴的基于云的数据库)的创始人就选择了Erlang,并且义无反顾地一直用它,只要花上点时间了解这门分布式语言,你就会明白原因所在。在Erlang帮助下,设计带有并发、分布式、容错等特征的应用程序将变得无比简单。
   Clojure。这又是一门Java虚拟机语言,但正是这门Lisp方言,彻底颠覆了我们在Java虚拟机上并发编程的思考方式。它是本书唯一在版本数据库中使用同一种策略管理并发的语言。作为Lisp方言,Clojure或许拥有本书所有语言中最灵活的编程模型,因此绝不缺乏号召力。与其他Lisp方言不同的是,它不会带那么多括号 ,还有众多Java库和在各平台上的广泛部署作为坚强后盾。
   Haskell。它是本书唯一的纯函数式语言,这也意味着,它根本不存在可变状态:只要使用相同的输入参数调用相同的函数,就会返回相同的输出。在所有强类型语言中,Haskell拥有最令人称羡的类型模型。和Prolog一样,它也需要你花一些时间理解,但你得到的回报绝对物超所值。
  
  如果名单上没有你钟爱的语言,我深感抱歉。老实说,还真有语言狂热分子给我发过好几封恐吓信。在本节开始提到的民意调查中,我们总共列出了几十门语言。我挑的这几门语言未必是其中最出色的,但它们特点突出、个性鲜明,都具有重要的学习价值。




链接: http://pan.baidu.com/s/1jGjwuai

游客,如果您要查看本帖隐藏内容请回复

0

主题

6

帖子

18

网盘

软盘

Rank: 1

积分
16
发表于 2014-4-6 22:51:18 | 显示全部楼层
啥也不说了,楼主就是给力!

0

主题

4

帖子

17

网盘

软盘

Rank: 1

积分
4
发表于 2014-4-11 18:14:31 | 显示全部楼层
谢谢分享  

0

主题

13

帖子

16

网盘

软盘

Rank: 1

积分
13
发表于 2014-5-17 21:52:14 | 显示全部楼层
谢谢分享

0

主题

11

帖子

17

网盘

软盘

Rank: 1

积分
16
发表于 2014-6-2 17:26:40 | 显示全部楼层
感谢楼主,学习一下。

0

主题

7

帖子

16

网盘

软盘

Rank: 1

积分
7
发表于 2014-6-4 17:23:42 | 显示全部楼层
xianshoushanglu

0

主题

4

帖子

17

网盘

软盘

Rank: 1

积分
9
发表于 2014-7-9 13:43:54 | 显示全部楼层
谢谢楼主分享

0

主题

38

帖子

18

网盘

软盘

Rank: 1

积分
43
发表于 2014-7-11 08:37:56 | 显示全部楼层
二手房vg

0

主题

29

帖子

17

网盘

软盘

Rank: 1

积分
29
发表于 2014-7-17 09:33:40 | 显示全部楼层
理解多种编程范型

0

主题

51

帖子

18

网盘

软盘

Rank: 1

积分
61
发表于 2014-7-27 13:25:44 | 显示全部楼层
不错
您需要登录后才可以回帖 登录 | 加入北冥 用百度帐号登录

本版积分规则

问问买|手机版|小黑屋|北冥网络

GMT+8, 2016-12-4 03:42 , Processed in 0.703899 second(s), 33 queries .

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表