七周七语言 卷2

七周七语言 卷2 pdf epub mobi txt 电子书 下载 2025

美Bruce,A.,Tate,泰特,Fred ... 著,7ML翻组 译
图书标签:
  • 编程语言
  • 学习
  • 教程
  • 计算机科学
  • 代码
  • 实践
  • 七周七语言
  • 多语言
  • 开发
  • 入门
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115427359
版次:01
商品编码:12080756
品牌:异步图书
包装:平装
开本:16开
出版时间:2016-12-01
页数:270
正文语种:中文

具体描述

编辑推荐

畅销技术图书“七周七”系列新佳作
深入研习对未来编程具有重要意义的7种语言
Lua、Factor、Elixir、Elm、Julia、Idris和MiniKanren
当你深入学习本书所介绍的每一种语言时,你将能够对语言的抽象和原理一窥门径,而这对于你用任何语言编写更好的程序都颇有帮助。
通过“七周七”系列中的这本新图书,你可以按部就班地学习当前重要的编程范型。你将会学习7种令人激动的语言: Lua 、Factor 、Elixir 、Elm 、Julia 、Idris 和miniKanren。

本书将拓展你的视野,教你如何使用多核和分布来解决问题。在每一种语言中,你将使用构成该语言的独特技术来解决一个不寻常的问题。用Elm而不使用一个回调来编写一款功能完备的游戏,用miniKanren编一个写故事的程序,用Lua编写自己的音乐播放程序,用Julia编写一个图像压缩程序,用Idris实现数学中的证明,用Factor编写一个解谜游戏。读完本书,你将会掌握7种完全不同的语言,从其中的每一种语言,都能学到一些重要的技术。

内容简介

本书带领读者认识和学习了7种编程语言,旨在帮助读者探索更为强大的编程工具。
本书延续了同系列的畅销书《七周七语言》《七周七数据库》和《七周七Web开发框架》的体例和风格。全书共8章,前7章介绍了Lua、Factor、Elm、Elixir、Julia、miniKanren和Idris共计7种编程语言,后一章总结回顾了所有的知识点。书中对每一种编程语言的介绍,都为编程开发带来了独特而强大的思路。除此之外,书中还提供了一系列代码示例和在线资源以供参考。
本书适合有一定基础的开发人员阅读,能够帮助读者拓宽思路,激发更多的灵感。

作者简介

Bruce Tate,icanmaketibetter.com的CTO,十多本技术图书的作者(包括《Seven Languages in Seven Weeks》)。也是“七周七”系列图书的编辑。
Fred Daoud 热爱函数式编程,他和Jack Moffitt共同编著了《Seven Web
Frameworks in Seven Weeks》。
Ian Dees 在波特兰市的一家测试设备生厂商从事编码和测试工作。他是《Cucumber
Recipes》一书的合著者。Jack Moffitt是Mozilla Research的高级研发工程师,负责用Mozilla的新的Rust语言编写的一款实验性的浏览器引擎(名为Servo)。

目录

目录

第1章 Lua 1
第一天:开始历险 1
本周日程 2
Lua一览 3
安装Lua 3
交互式开发 3
初窥 4
Lua基础 5
表达式 6
函数 7
具名参数 10
控制流程 10
变量 11
离开REPL 12
第一天我们学了什么 13
轮到你了 13
第二天:深入了解Table 14
Table当作字典用 14
穿着数组外衣的字典 16
metatables 17
自制面向对象系统 21
协程 25
多任务 26
Lua作者Roberto Ierusalimschy
访谈 29
第二天我们学了什么 30
轮到你了 31
第三天:真实世界中的Lua 32
制作音乐 33
为历险做准备 33
创建项目 34
添加声效 36
从音符到歌曲 39
多声道 43
Canon in D 45
第三天我们学了什么 46
轮到你了 46
Lua小结 47
优势 47
劣势 47
终章 48
第2章 Factor 49
第一天:栈,栈 50
第一天我们学到了什么 59
第二天:更进一步 61
运行独立的程序 64
写单元测试 67
Factor的创建者Slava·Factor的
采访 69
第二天我们学到了什么? 70
轮到你了 71
第三天:乘风破浪,搏击长空 72
元组 72
元组构造器 73
为购物车结账 74
把命令组装成流水管道 75
重新回顾FizzBuzz游戏 78
与生俱来以下功能 81
编辑器集成 82
演示 83
第三天我们学了什么 83
轮到你了 84
总结Factor 84
第3章 Elm 86
第一天:掌握基础 87
第二天:驯服回调 97
第三天:一切都是游戏 107
Elm总结 119
第4章 Elixir 120
第一天:夯实基础 121
安装Elixir 121
所以说……它是Ruby++,
对吗 122
不,不是Ruby 122
编写函数 124
使用管道组织程序 125
使用模块 126
命名函数 127
do构造块 127
使用map 129
list 130
for推导 133
keyword List 134
函数语法糖 135
第一天我们学到了什么 135
第二天:控制变化 137
Mix 137
从具体到元 138
使用struct为字段命名 139
创建具体行为 140
为状态机建模 141
添加状态机行为 142
寻找模式 143
编写测试 144
使用宏实现should 145
编写更多的测试 146
编写一个复杂的宏 147
理解编译期流程 148
构造一个骨架 148
理解编译期流程,第2部分 150
使用状态机 152
第二天我们学到了什么 152
第三天:衍生和重生 154
衍生进程 155
构建一个OTP应用 156
在终端中使用OTP 158
可靠性监护 159
第三天我们学到了什么 161
第三天自习 161
Exlir总结 162
优势 162
弱点 163
最后的思考 163
第5章 Julia 164
第一天:无谓的反抗 165
安装Julia 165
内置类型 166
第一天我们学到了什么? 175
轮到你了 175
第二天:吸收 176
控制流 176
用户定义类型和函数 178
并发 182
采访Julia的创始人:Jeff Bezanson, Stefan
Karpinski, Viral Shah, Alan Edelman 185
我们第二天学到了什么? 186
轮到你了 187
第三天:打成一片 187
转换代码而不是数据 188
图像切处和切块 191
第三天我们学到了什么? 196
轮到你了 196
Julia总结 197
优势 197
劣势 198
最后的思考 198
第6章 miniKanren 199
第一天:代码的一致性匹配 199
安装core.logic 200
目标一定要成功 201
使用关系 202
用因子编程 204
平行宇宙 206
咒语的秘密 207
第一天我们学到了什么 208
轮到你了 209
第二天:混合逻辑与函数 210
模式,那里都是模式 210
用上散列图 212
另一种判定 213
对David Nolen的采访 216
第二天我们学到了什么 217
轮到你了 218
第三天:用逻辑来写故事 218
用有限域编程 219
神奇的故事 221
第三天我们学到了什么 228
轮到你了 228
miniKanren的回顾 229
优势 229
劣势 230
写在最后 230
第7章 Idris 231
第一天:基础 232
安装Idris 232
理解基础 233
原生类型和表达式 233
函数 234
定义数据类型 236
第一天我们学到了什么 240
轮到你了 240
第二天:开始使用依赖类型 241
理解依赖类型 241
派生依赖类型 243
闰年里的日期限定 245
第二天我们学到了什么 248
轮到你了 248
第三天:依赖类型实践 249
智能补全 249
证明完毕,亲爱的华生 251
交互式证明 252
下一步 254
证明为我们做了什么 256
现实世界 257
一段乱糟糟的C++代码 257
指称设计 258
回顾 259
改善 260
轮到你了 261
结束Idris 262
第8章 总结 264
起源 264
中央高速公路 265
前沿 267
脏地图 268
最后的挑战 270
《七周七语言 卷2》是一本旨在带领读者深入探索编程世界奥秘的进阶读物。它并非简单罗列各种编程语言的语法特性,而是着眼于语言背后的设计理念、哲学思想以及它们如何影响程序员的思维模式。本书认为,理解语言的“为什么”比单纯掌握“怎么做”更为重要,因为这能帮助开发者构建更具弹性和适应性的解决方案,并能在快速变化的科技浪潮中游刃有余。 本书的架构精巧,选取的七种语言各具代表性,它们在范式、应用领域、设计哲学等方面形成了鲜明的对比,从而为读者提供了一个广阔的视角来审视编程语言的多样性。例如,它会深入剖析函数式编程的纯粹与优雅,展示如何通过不可变数据和高阶函数来编写更安全、更易于推理的代码。读者将学习到,函数式编程不仅仅是一种编程风格,更是一种思考问题的方式,能够有效地减少副作用,提高代码的可维护性。 同时,本书也会探讨面向对象编程的强大封装能力,以及如何通过继承、多态等机制来构建复杂的系统。它会引导读者理解类、对象、接口等核心概念,并进一步阐述如何利用面向对象的思想来模拟现实世界,设计出模块化、可扩展的软件架构。书中的例子将不仅仅停留在语法层面,而是会深入到面向对象设计的原则,如SOLID原则,解释它们如何在实际项目中发挥关键作用。 除了主流的编程范式,本书还将目光投向那些在特定领域或具有独特设计理念的语言。比如,它可能会介绍一种动态类型语言,阐述其在快速原型开发和脚本编写中的优势,同时也深入分析动态类型所带来的潜在挑战以及相应的解决方案。读者将了解到,动态类型并非“不严谨”,而是提供了一种不同的权衡,能够在开发效率和运行时安全性之间找到平衡点。 另一方面,对于静态类型语言,本书不会止步于类型检查的表面,而是会深入挖掘其背后对代码健壮性和可维护性的巨大贡献。它将解释泛型、类型推断等特性如何进一步提升静态类型的表达能力,并帮助开发者在编译阶段捕获大量潜在错误,从而节省大量的调试时间。 本书并非盲目推崇某一种语言或范式,而是鼓励读者保持开放的心态,去理解不同语言的优势和劣势。它会深入分析每一种语言的设计决策,以及这些决策是如何服务于特定的目标。例如,为什么某种语言选择更严格的内存管理机制,而另一种语言则依赖垃圾回收?这些权衡背后都蕴含着深刻的工程考量。 为了让读者更好地理解这些概念,本书将采用理论结合实践的方式。每一章都会精选具有代表性的代码示例,并对这些示例进行详尽的解释,说明其背后的原理和应用场景。这些代码示例将不仅仅是语法演示,而是会展示如何运用所介绍的语言特性来解决实际问题,从而帮助读者将理论知识转化为实际的编程能力。 本书的内容不仅仅局限于语言本身,还会触及软件工程的多个层面。例如,在介绍一门语言时,可能会讨论其在并发编程和并行计算方面的支持,以及如何利用这些特性来构建高性能的分布式系统。读者将了解到,现代软件开发离不开对并发和并行问题的深入理解,而不同的编程语言提供了不同的工具和抽象来应对这些挑战。 此外,本书还会探讨领域特定语言(DSL)的理念,以及如何设计和使用DSL来提高特定领域的开发效率。它会解释DSL的优势,如代码的可读性、表达力以及与通用语言的集成方式。 对于元编程和代码生成等高级主题,本书也会有所涉猎,展示如何通过编程来操纵代码本身,从而实现更高级的自动化和定制化。这将帮助读者突破语言的表面限制,更深入地理解编程的本质。 《七周七语言 卷2》的写作风格力求清晰、流畅,避免使用晦涩难懂的术语,而是用通俗易懂的语言来阐述复杂的概念。书中会穿插一些引人入胜的编程故事和历史轶事,增加阅读的趣味性,并帮助读者更好地理解编程语言的演进过程。 本书的目标读者是对编程有一定基础,希望进一步拓展视野、提升编程思维的开发者。它适合那些不满足于只掌握一门语言,而是希望理解编程世界的多样性,并能根据项目需求选择最合适工具的程序员。通过本书的学习,读者将能够: 深入理解不同编程范式的核心思想: 不再将函数式、面向对象等视为孤立的概念,而是能看到它们之间的联系和区别,以及各自适用的场景。 培养更高级的抽象能力: 学习如何从问题的本质出发,设计出更具表达力和可维护性的代码。 提升解决复杂问题的能力: 掌握运用不同语言特性来应对并发、性能、可伸缩性等挑战的技巧。 增强代码的健壮性和可维护性: 理解类型系统、内存管理等机制如何帮助开发者编写更可靠的软件。 为学习新的编程语言打下坚实基础: 通过理解语言背后的设计哲学,学习新语言将变得更加轻松和高效。 形成批判性思维: 不再盲目追逐潮流,而是能够理性分析各种技术的优劣,做出明智的技术决策。 本书的内容将会引导读者进行大量的思考和实践。它鼓励读者在阅读过程中动手实践代码示例,并尝试将其应用到自己的项目中。通过这样的学习方式,读者才能真正地吸收书中的知识,并将其内化为自己的编程技能。 总而言之,《七周七语言 卷2》是一本充满启发性的读物,它将带领读者踏上一段更加深入、更加广阔的编程探索之旅。它不仅仅是一本技术手册,更是一本关于编程思想、编程艺术的哲学指南。通过对这七种语言的深入剖析,读者将能够更好地理解编程的本质,并在这个不断发展的技术领域中找到自己的定位,不断精进,成为一名更优秀的开发者。本书旨在激发读者的求知欲,鼓励他们不断学习和探索,拥抱编程世界的无限可能。

用户评价

评分

这本书简直太棒了!我一直对学习新语言充满热情,但总是因为各种原因浅尝辄止,尤其是那些看起来遥不可及的语言,像是斯拉夫语系或者更远的东方语言。我之前也买过一些语言学习的书,但大多都是泛泛而谈,要么就是枯燥的语法讲解,让我很快就失去了兴趣。直到我翻开《七周七语言 卷2》,我才发现原来学习语言可以这么有趣,而且还如此系统化!作者的思路非常清晰,他并没有一股脑地把所有语言都堆砌在一起,而是根据语言的特性和学习的难易程度,进行了巧妙的编排。每一章的切入点都让我感到耳目一新,他会从一个有趣的文化背景或者一个实际的应用场景切入,让你在不知不觉中就对这门语言产生了好奇心。而且,我尤其喜欢的是作者对于“为什么”的深入剖析。他不仅仅是教你“怎么学”,更重要的是让你明白“为什么要这样学”,他会解释每种学习方法的背后逻辑,让你真正理解语言的构成和演变。这让我不再是机械地记忆单词和语法,而是能够从更高的维度去理解语言的魅力。我已经迫不及待地想要开始我的语言学习之旅了!

评分

说实话,一开始我看到“七周七语言”这个标题,心里是有些打鼓的。毕竟,要在这么短的时间内掌握七门语言,听起来像是天方夜谭。但读完《七周七语言 卷2》的序言和前几章,我的顾虑立刻烟消云散。这本书的作者显然不是一个只会纸上谈兵的人,他是一位真正懂得如何引导学习者的人。他对于语言的学习路径有着极其深刻的理解,并且能够用最生动、最易懂的方式呈现出来。我特别欣赏他对于“跨语言思维”的培养。他不仅仅是介绍不同语言的词汇和语法,更重要的是让你看到不同语言之间是如何相互影响、相互借鉴的。这就像是打开了一个全新的视角,让我能够从一个更宏观的角度去审视语言的世界。书中的案例分析也非常精彩,他会选取一些实际的例子,展示学习不同语言在实际生活中的应用,这让我对学习语言的动力又增加了一层。我感觉这本书不仅是在教我学习语言,更是在塑造我的一种全新的学习和思考方式,这对我来说是无价的。

评分

我一直以来都对不同国家的文化和风情抱有浓厚的兴趣,而语言无疑是了解一个国家最直接、最深刻的途径。然而,传统意义上的语言学习往往枯燥乏味,让我难以坚持。《七周七语言 卷2》则彻底颠覆了我的认知。它就像一位循循善诱的老师,用最引人入胜的方式,带领我一步步走进语言的奇妙世界。我特别喜欢书中的“知识碎片化”处理方式,它将复杂的语言知识分解成一个个易于理解的小单元,让我可以在碎片化的时间里进行学习,而不会感到压力过大。而且,作者并没有回避学习过程中可能遇到的困难,反而巧妙地将这些困难融入到学习的过程中,通过一些有趣的练习和挑战,让我们在解决问题的过程中掌握知识。让我印象深刻的是,书中的语言选择也颇具匠心,既有大家熟知的,也有一些相对小众但极具文化价值的。这让我感觉仿佛在进行一场跨越时空的语言探险,每一次翻页都充满了惊喜。我已经迫不及待地想将书中的知识运用到我的下一次旅行中了!

评分

这本书的出现,简直就是为我这样“三分钟热度”的学习者量身定做的。我之前尝试过很多次学习外语,每次都雄心勃勃,结果呢?单词背到一半就放弃了,语法规则也看得云里雾里,最后只能看着自己堆积如山的笔记感叹“我太难了”。《七周七语言 卷2》最大的亮点在于它的“循序渐进”和“梯度挑战”。它没有一开始就用那些高难度、生僻的语言来吓唬你,而是从相对容易入门,但又非常有价值的语言入手,让你快速建立起学习的信心。而且,书中的练习设计也十分巧妙,不是那种死板的填空题或者选择题,而是充满了趣味性和互动性,让你在完成练习的过程中,仿佛在玩一个解谜游戏,不知不觉就把知识点给掌握了。我最喜欢的一点是,作者非常强调“实践出真知”,他鼓励我们在学习过程中多去听、多去说,而不是仅仅停留在书本上。这本书提供的资源和建议,让我感觉不再是孤军奋战,而是有一个经验丰富的向导在身边指引我前进。我已经迫不及待地想和书中的语言进行一次深度对话了!

评分

这本书绝对是语言学习者的福音!我曾经被语言学习的“高门槛”吓退过无数次,总觉得要花大量的时间和精力才能掌握一门外语,而且效果还不一定好。《七周七语言 卷2》这本书的出现,彻底打消了我的疑虑。作者的教学理念非常务实,他并没有提倡“速成”,而是强调“高效学习”和“策略性学习”。他会告诉你如何根据自己的优势和兴趣,选择最适合自己的学习方法,并且如何利用已有的知识来迁移到新的语言学习中。我尤其欣赏他对“语言思维”的构建。他不仅仅是教你死记硬背,更是引导你理解语言背后的逻辑和思维模式,让你能够触类旁通。书中的语言实例也选取得非常恰当,既有代表性,又具有一定的趣味性。让我感觉学习过程不再是枯燥的重复,而是一种探索和发现的乐趣。这本书为我打开了一个全新的语言学习世界,我感觉自己终于找到了正确的方向,再也不用在学习的迷宫里徘徊了!

评分

太好了。真心感觉捡到宝了。东西很好,地摊价,高端货。哈哈哈哈

评分

此用户未及时评价,系统默认好评。

评分

书还没看,但是感觉很薄啊?

评分

给力,学习其他语言的捷径

评分

还不错

评分

不错

评分

还不错

评分

其实这里面的语言都比较小众。以玩的心态学习是可以的。要想涨薪水还是看看其他编程语言吧。

评分

一直在京东商城购买,比较放心

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有