Elixir 程序设计

Elixir 程序设计 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:Dave Thomas
出品人:
页数:340
译者:杜万
出版时间:2016-3
价格:75.00元
装帧:平装
isbn号码:9787121282645
丛书系列:
图书标签:
  • Elixir
  • Erlang
  • 程序设计
  • 编程
  • Functional-Programming
  • programming
  • elixir
  • Ruby
  • Elixir
  • 程序设计
  • 函数式编程
  • 并发
  • 分布式系统
  • 编程语言
  • 软件开发
  • 并发编程
  • 云计算
  • 系统编程
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

在了解 Elixir 前,在网上看到一些评论说, Elixir 其实就是用 Ruby 的语法来编写 Erlang 程序。其实不然。真正玩了 Elixir 之后,就会发现这纯属幻觉。因为 Elixir 相对于 Ruby 使用了截然不同的语言范式——函数式编程。两者在编程思想上相距甚远。如果说它看似 Ruby ,也仅仅是 Elixir 设计者 José Valim ,一个 Ruby 开发者的情怀使然罢了。 Elixir 只是在 Erlang 之上加入的一层语法糖,在不改变 Erlang 开发实践的基础上,还能重用已有的 Erlang 代码。然而这层小小的语法糖却给内心坚若磐石但语法苦涩难懂的 Erlang 增添了一副平易近人的外表。虽然函数式编程并非新鲜事物,而 Elixir 则让函数式编程更现代化。

原著作者就是 15 年前编写了 Programming Ruby ,将 Ruby 带入大众视野的 Dave Thomas 。他延续了一贯的写作风格,以一个拥有面向对象的开发经历但并未接触过函数式编程的开发者的角度切入,循序渐进地带领读者进入 Elixir 的奇妙世界。通过一步步的实验探索,引导读者逐步跳出已有的编程思维模式,以全新的函数式编程方式来思考及寻找解决实际问题的办法。然而本书并不像 Programming Ruby 那样面面俱到,而是通过给读者讲述基本的 Elixir 语法和编程思想,同时提供许多有用的资源,启发读者继续深入探索。这才是学习一门新语言的乐趣所在。

作者简介

原著作者就是 15 年前编写了 Programming Ruby ,将 Ruby 带入大众视野的 Dave Thomas 。他延续了一贯的写作风格,以一个拥有面向对象的开发经历但并未接触过函数式编程的开发者的角度切入,循序渐进地带领读者进入 Elixir 的奇妙世界。通过一步步的实验探索,引导读者逐步跳出已有的编程思维模式,以全新的函数式编程方式来思考及寻找解决实际问题的办法。然而本书并不像 Programming Ruby 那样面面俱到,而是通过给读者讲述基本的 Elixir 语法和编程思想,同时提供许多有用的资源,启发读者继续深入探索。这才是学习一门新语言的乐趣所在。

目录信息

第 1章 接受现实
编程时应该关注数据转换
借助管道来组合转换
函数是数据转换器
安装 Elixir
运行 Elixir
iex—交互式 Elixir
编译和运行
对阅读本书的建议
练习
换一种方式思考
第一部分 常规编程
第 2章 模式匹配
赋值:并非如你所料
更复杂的匹配
轮到你了
用_(下画线)忽略匹配值
每次匹配变量仅绑定一次
轮到你了
从另一个角度来看等号第 3章 不可变性
你已经拥有了(一些)不可变数据
不可变的数据才是已知的
不可变性对性能的影响
复制数据
垃圾回收用不可变数据编写程序
第 4章 Elixir基础
内置类型
值类型
整数
浮点数
原子
区间
正则表达式
系统类型
PID和端口
引用
收集类型
元组
列表
散列表
二进制型
命名、源文件、约定、运算符和其他
真值
运算符
小结
第 5章 匿名函数
函数和模式匹配
轮到你了
一个函数,多个函数体
编写更长的代码
轮到你了
能返回函数的函数
记住原始环境的函数 参数化函数
轮到你了
将函数作为参数来传递
& 运算符
轮到你了
函数是核心
第 6章 模块与命名函数
编译模块
函数体是代码块
轮到你了
函数调用与模式匹配
轮到你了
哨兵子句
哨兵子句的限制
默认参数
轮到你了
私有函数
|> ——美妙的管道运算符
模块
模块指令
import指令
alias 指令
require 指令
模块属性
模块名:Elixir、Erlang和原子类型
调用 Erlang的库函数
寻找函数库
轮到你了
第 7章 列表与递归
头部和尾部
使用头部和尾部来处理列表
iex如何显示列表
使用头部和尾部来构造列表
创建映射函数 在递归过程中跟踪值
轮到你了 生成求和函数
轮到你了
更复杂的列表模式
列表的列表
轮到你了
List 模块实战
与列表友好相处
第 8章 字典:散列表、散列字典、关键字列表、集合与结构体
如何在散列表、散列字典和关键字列表之间做选择
字典
模式匹配和更新散列表
模式匹配不能绑定键
更新散列表
散列表与结构体
访问结构体的另一种方式
嵌套字典结构
嵌套访问器和非结构体
动态(运行时)嵌套访问器
集合
能力越大,诱惑越大
第9章 番外篇—类型是什么
第 10章 处理收集—Enum与 Stream
Enum——处理收集
关于排序的说明
轮到你了
Stream——延迟处理的枚举类型
流是可组合的枚举器
无限流
自定义流
流在实际中的应用
Collectable 协议
推导式
推导式也可以处理二进制位
作用域与推导式
推导式的返回值
轮到你了 感动过往的神
第 11章 字符串与二进制型
字符串字面量 Heredoc 魔术符
“字符串”这个名称
单引号字符串 ——字符编码列表 轮到你了
二进制型
双引号字符串是二进制型
字符串与 Elixir库
轮到你了
二进制型与模式匹配
用二进制型来处理字符串
轮到你了
熟悉却又陌生
第 12章控制流
if 与 unless
Cond
Case
抛出异常
包含异常的设计
四两拨千斤
轮到你了
第 13章组织项目
项目:从 GitHub获取 issue
我们的代码将如何工作
任务:用 mix来创建我们的新项目
创建项目树
转换:解析命令行
进阶:编写一些基本的测试
轮到你了
转换:从 GitHub获取数据
任务:使用外部库
寻找库
为项目添加库
轮到你了
回到转换
转换:转换响应内容
不在 hex里的依赖项
应用程序配置
转换:为数据排序
转换:取前 n条
轮到你了
转换:格式化表格
任务:创建命令行可执行程序
任务:添加日志
任务:测试代码注释
任务:创建项目文档
使用转换数据的方法来编写代码
轮到你了
第二部分 并发编程
第 14章运用多进程
简单的进程
在进程间发送消息
处理多条消息
递归、循环与栈
进程开销
轮到你了
进程何时结束
关联两个进程
监控进程
轮到你了
并行 map——Erlang版本的“ Hello, World”
轮到你了
斐波那契数服务器
任务调度器
轮到你了
代理——一个难题
以进程的方式来思考
第 15章 节点——分布式服务的关键
命名节点
轮到你了
节点、cookie与安全
给你的进程命名
何时给进程命名
轮到你了
I/O、PID与节点
轮到你了
节点是分布式的基础
第 16章OTP:服务器
一些 OTP的定义
OTP 服务器
状态和单个服务器
我们的第一个 OTP服务器
轮到你了
单向调用
跟踪服务器的执行情况
轮到你了 GenServer回调函数
给进程命名
整理接口
轮到你了
第 17章 OTP:应用程序监视器
应用程序监视器与工作进程
轮到你了
管理重启前后的进程状态
应用程序监视器是可靠性的核心
轮到你了
第 18章OTP:应用程序
这不是传统的应用程序
应用程序规范文件
将 Sequence程序转变为 OTP应用程序
关于应用参数的更多信息
监视是可靠性的基础
轮到你了 热代码交换
OTP很大——难以置信的大
轮到你了
第 19章任务与代理
任务
任务与监视
代理
更大的例子
使其分布式运行
使用代理与任务,还是 GenServer
第三部分 更高级的 Elixir
第 20章宏与代码求值
实现 if语句
宏注入代码
装载次序 quote函数
将内部表示作为代码使用
unquote函数
展开列表——unquote_splicing
回到我们的 myif宏
轮到你了
使用绑定来注入值
宏是卫生的
执行代码片段的其他方法
宏与运算符
深入研究
更进一步 轮到你了
第 21章 连接多个模块:行为与 use
行为
定义行为
声明行为
use 与 __using__
放到一起——跟踪方法调用
使用 use 轮到你了
第22章协议 ——多态函数
定义协议
实现协议
可用的类型
轮到你了
协议和结构体
内置协议: Access
内置协议: Enumerable
内置协议: StringChars
内置协议: Inspect
协议就是多态
轮到你了
第 23章更酷的玩意儿
自定义魔术符
获取选项
轮到你了
多应用的 umbrella项目
创建 umbrella项目
创建子项目 LineSigil项目
Evaluator项目
连接子项目
别急!还有更多炫酷的玩意儿!
附录 A异常:raise与 try,catch与 throw
附录 B类型规范与类型检查
· · · · · · (收起)

读后感

评分

Elixir 之前一直只有英文版本。后来看到杜叔着手翻译了这边 Elixir 算是中文版本的开荒之作,好像在 WebIDE 里面也用到了。 Elixir 是一门暴力语言,基于 Erlang, 天然处理并发的。对于书还没来得及全部读完,但是对于译者我是很是熟知的。 Coding WebIDE 的架构师杜万,杜叔...

评分

Elixir 之前一直只有英文版本。后来看到杜叔着手翻译了这边 Elixir 算是中文版本的开荒之作,好像在 WebIDE 里面也用到了。 Elixir 是一门暴力语言,基于 Erlang, 天然处理并发的。对于书还没来得及全部读完,但是对于译者我是很是熟知的。 Coding WebIDE 的架构师杜万,杜叔...

评分

Elixir 之前一直只有英文版本。后来看到杜叔着手翻译了这边 Elixir 算是中文版本的开荒之作,好像在 WebIDE 里面也用到了。 Elixir 是一门暴力语言,基于 Erlang, 天然处理并发的。对于书还没来得及全部读完,但是对于译者我是很是熟知的。 Coding WebIDE 的架构师杜万,杜叔...

评分

或许,你看了下面的书评会觉得我是在帮忙打广告的,但是我只想说,我仅以一个2年coding.net 用户来评价一下这本书 :) 正如这本书的推荐序一样,看了elixir,的确让人感到elixir脑洞大开,一年前搞过一段时间erlang,然而由于社区的不够活跃,又碰到了chicago这个w...  

评分

Elixir 之前一直只有英文版本。后来看到杜叔着手翻译了这边 Elixir 算是中文版本的开荒之作,好像在 WebIDE 里面也用到了。 Elixir 是一门暴力语言,基于 Erlang, 天然处理并发的。对于书还没来得及全部读完,但是对于译者我是很是熟知的。 Coding WebIDE 的架构师杜万,杜叔...

用户评价

评分

整体而言,这本书的价值远超其定价。它不仅是一本技术参考手册,更像是一部关于构建高质量软件的思维导论。我感受到了作者在内容组织上的匠心独运,从入门到精通的过渡自然流畅,没有突兀的跳跃感。对于任何希望在自己的技术栈中寻求突破,渴望构建高性能、高可维护性系统的开发者而言,这本书无疑是一个值得长期珍藏和反复研读的资源。它所传达的不仅仅是知识,更是一种严谨的、面向未来的工程思维方式,这才是技术书籍最核心的价值所在。

评分

这本书的实战性给我留下了非常深刻的印象。很多技术书籍要么过于理论化,要么案例陈旧,而这本书在这方面做到了很好的平衡。它不仅仅停留在概念的阐述,更注重将理论与实际应用紧密结合。我随意翻阅了其中关于“并发模型”的章节,发现作者用了非常贴合当下行业痛点的例子来讲解复杂的抽象概念,这使得原本枯燥的理论变得生动起来,让人很容易就能理解其核心思想。特别是那些代码示例,不仅量大,而且质量极高,每一段代码都经过了精心的打磨和注释,读者可以轻松地在自己的环境中复现和修改,进行深入的实验和学习。这种手把手的引导方式,极大地降低了新技术学习的门槛。

评分

这本书的深度令人敬佩,它显然是作者长期一线经验的结晶。我尝试去寻找那些市面上常见的、停留在表面介绍的知识点,但这本书几乎都深入到了底层实现或者设计初衷的层面。对于某些高级特性,它没有避讳其复杂性,反而选择直面挑战,用清晰的图示和详细的步骤来拆解这些难题。举例来说,关于“类型系统”的章节,它不仅解释了语法层面的使用,还深入探讨了该语言在类型安全性和表达力之间是如何巧妙权衡的,这对于希望构建健壮系统的工程师来说,是不可多得的宝贵见解。

评分

我最近入手了一本关于编程语言的书籍,光是阅读封面和目录,就让我对它充满了好奇。这本书的装帧设计相当简洁、现代,给人一种专业而又不失优雅的感觉。从书名来看,它似乎聚焦于一门特定的技术领域,这对于我这种热衷于探索新技术栈的开发者来说,无疑是一个巨大的吸引力。我尤其欣赏它在排版上所下的功夫,字体选择和行间距都非常考究,阅读起来丝毫没有疲劳感,即便是长时间的沉浸其中,眼睛也感到很舒适。内容组织上,我注意到作者似乎采用了循序渐进的方式,从基础概念的建立,到复杂特性的深入剖析,结构脉络清晰可见,这对于初学者入门和资深开发者进行知识梳理都是极佳的导引。

评分

从语言风格上说,这本书的作者展现出一种老派的、严谨的学术精神,但同时又融入了现代技术交流的轻快感。它不是那种冷冰冰的教科书,而是像一位经验丰富的前辈在耐心地与你对话,引导你思考。书中对许多设计哲学的探讨,比单纯的API说明要深刻得多。它促使我反思自己过去在项目设计中可能存在的思维定式,并尝试从新的角度去看待问题。这种对“为什么”的深入挖掘,而不是仅仅停留在“怎么做”的层面,是真正有价值的知识沉淀。我特别欣赏其中关于“错误处理机制”的那一部分论述,逻辑推导严密,令人信服。

评分

这本书是 CODING 团队的人翻译的,这是个有追求的技术团队。用过 Coding WebIDE 的人都知道这也是 CODING 团队的良心作品。而 IDE 里面就用 Elixir 实现 WebIDE 的 sharding 子服务,让 sharding 子服务可以不停机升级。 总而言之,推荐!

评分

这本书是 CODING 团队的人翻译的,这是个有追求的技术团队。用过 Coding WebIDE 的人都知道这也是 CODING 团队的良心作品。而 IDE 里面就用 Elixir 实现 WebIDE 的 sharding 子服务,让 sharding 子服务可以不停机升级。 总而言之,推荐!

评分

其实我觉得读官网英文教程就够了...

评分

后面几章翻译不是很流畅... 另外本人对Erlang和其OTP平台不熟,后面几章看起来比较吃力... 宏什么的看起来好混乱的感觉... 本书貌似不太适合 Elixir 入门。

评分

后面几章翻译不是很流畅... 另外本人对Erlang和其OTP平台不熟,后面几章看起来比较吃力... 宏什么的看起来好混乱的感觉... 本书貌似不太适合 Elixir 入门。

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

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有