畅销技术图书“七周七”系列新佳作 深研习对未来编程具有重要意义的7种语言 Lua、Factor、Elixir、Elm、Julia、Idris和MiniKanren 当你深学习本书所介绍的每一种语言时,你将能够对语言的抽象和原理一窥门径,而这对于你用任何语言编写更好的程序都颇有帮助。 通过“七周七”系列中的这本新图书,你可以按部就班地学习当前重要的编程范型。你将会学习7种令人激动的语言: Lua 、Factor 、Elixir 、Elm 、Julia 、Idris 和miniKanren。
售 价:¥
纸质售价:¥43.90购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
译者简介
对本书的好评
前 言
Bruce Tate
概述
本书的团队和语言
Bruce Tate(Elixir和Elm)
Elixir
Elm
Fred Daoud(Factor)
Factor
Ian Dees(Lua和Idris)
Lua
Idris
Jack Moffit(Julia和miniKanren)
miniKanren
Julia
本书的目标读者
本书不是安装指南或支持渠道
本书有4种写作风格
本书不会很枯燥的
最后
在线资源
致谢
语言
Lua
Factor
Elm
Elixir
Julia
miniKanren
Idris
作者感言
Bruce Tate的致谢
Fred Daoud的致谢
Ian Dees的致谢
Jack Moffitt的致谢
本书的写作团队集体致谢
第1章 Lua
第一天:开始历险
本周日程
Lua一览
安装Lua
交互式开发
初窥
Lua基础
表达式
函数
灵活的参数
尾递归
多个函数返回值
具名参数
控制流程
变量
离开REPL
第一天我们学了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第二天:深入了解Table
Table当作字典用
穿着数组外衣的字典
metatables
读和写
自制面向对象系统
原型
继承
语法糖
协程
协程VS线程
单个任务:生成器
多任务
Lua的发明者Roberto Ierusalimschy访谈
第二天我们学了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第三天:真实世界中的Lua
制作音乐
良友相伴
为历险做准备
Windows
Mac
Linux
创建项目
小小解释器
构建项目
添加声效
让这里有声音吧
更新工程文件
从音符到歌曲
多声道
Canon in D
第三天我们学了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
Lua小结
优势
劣势
最后的思考
第2章 Factor
第一天:栈,栈
安装Factor
使用监听器
开始入栈
Factor数学
数据类型
Quotations(引用)
Conditionals(条件)
不要忘了空格!!!
栈重排(Stack Shuffling)
带有组合器的高阶命令
第一天我们学到了什么
轮到你了
第二天:更进一步
定义命令
返回多个值
获取帮助
使用命令表
运行独立的程序
小心factor工具集冲突
写单元测试
运行一组测试
Factor的创建者Slava Pestov的采访
第二天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第三天:乘风破浪,搏击长空
元组
元组构造器
为购物车结账
把命令组装成流水管道
重新回顾FizzBuzz游戏
与生俱来以下功能
编辑器集成
演示
第三天我们学了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
Factor小结
优势
劣势
最后的思考
第3章 Elm
第一天:掌握基础
安装Elm
简单表达式
条件语句
构造代数数据类型(Algebraic Data Type)
使用Records
使用函数
模式匹配(Pattern Matching)
函数与类型
第一天我们学到了什么
轮到你了
找出
练习(容易)
练习(中等)
练习(困难)
第二天:驯服回调
克服回调地狱
用lift和信号来避免回调
组合信号
维持状态
处理文本输入
绘制形状
第二天我们学到了什么
轮到你了
找出
练习(容易)
练习(中等)
练习(困难)
第三天:一切都是游戏
定义骨架
定义模型
用信号和foldp来做循环
步进和展现游戏
描述语言头
为语言头建模
构造游戏信号
步进(stepping)游戏
显示游戏
第三天我们学到了什么
轮到你了
找出
练习(容易)
练习(中等)
练习(困难)
Elm小结
优势
劣势
最后的思考
第4章 Elixir
第一天:夯实基础
安装Elixir
所以说……它是Ruby++,对吗
不,不是Ruby
编写函数
使用管道组织程序
使用模块
命名函数
do构造块
使用map
list
for推导
keyword List
函数语法糖
第一天我们学到了什么
第一天自习
轮到你了
练习(简单)
练习(中等)
练习(困难)
第二天:控制变化
Mix
从具体到元
状态机
使用struct为字段命名
创建具体行为
为状态机建模
添加状态机行为
寻找模式
编写测试
使用宏实现should
编写更多的测试
编写一个复杂的宏
理解编译期流程
构造一个骨架
理解编译期流程,第2部分
使用状态机
第二天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第三天:衍生和重生
衍生进程
构建一个OTP应用
在终端中使用OTP
可靠性监护
第三天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
Exlir小结
优势
劣势
最后的思考
第5章 Julia
第一天:无谓的反抗
安装Julia
内置类型
基本运算符
字典和集合
24世纪的数组
索引和切片
多维数组
第一天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第二天:吸收
控制流
用户定义类型和函数
并发
采访Julia的创始人:Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman
第二天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第三天:打成一片
转换代码而不是数据
图像切片和切块
图像编码
与图像共舞
从像素到频谱
有损压缩
第三天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
Julia小结
优势
劣势
最后的思考
第6章 miniKanren
第一天:代码的一致性匹配
安装core.logic
目标一定要成功
使用关系
后缀“o”是什么意思?
用因子编程
平行宇宙
咒语的秘密
第一天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第二天:混合逻辑与函数
模式,那里都是模式
用matche来匹配
函数模式
用上散列图
另一种判定
单一宇宙
单一结果
三种判定
对David Nolen的采访
第二天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第三天:用逻辑来写故事
用有限域编程
神奇的故事
灵感的源泉
问题的细节
故事元素
构建数据库和初始状态
情节的演进
可读的故事
挖掘故事
第三天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
MiniKanren小结
优势
劣势
最后的思考
第7章 Idris
第一天:基础
安装Idris
理解基础
原生类型和表达式
函数
定义数据类型
重新认识数字
自然数
参数化类型
价值数十亿美元的错误
稍微深入
什么是惰性求值?
第一天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第二天:开始使用依赖类型
理解依赖类型
派生依赖类型
从矢量到矩阵
闰年里的日期限定
使用我们的依赖类型
第二天我们学到了什么
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
第三天:依赖类型实践
智能补全
证明完毕,亲爱的华生
一道证明的剖析
交互式证明
下一步
证明为我们做了什么
现实世界
一段乱糟糟的C++代码
指称设计
回顾
依赖对
改善
轮到你了
找到
练习(简单)
练习(中等)
练习(困难)
Idris小结
优势
劣势
最后的思考
第8章 总结
起源
原型的力量
增强函数式组合
最初的石阶
中央高速公路
函数式编程遇见实用和响应式
宏,漂亮的语法,以及并发
科学计算的全新面貌
当前热点
前沿
逻辑,面对世界
你是我的类型吗?
脏地图
类型再次振翅
不遗余力地并发
浏览器需要帮助
函数式语言的发展
世界在缩小
最后的挑战
欢迎来到异步社区!
异步社区的来历
社区里都有什么?
购买图书
下载资源
与作译者互动
灵活优惠的购书
特别优惠
纸电图书组合购买
社区里还可以做什么?
提交勘误
写作
会议活动早知道
加入异步
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜