注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合代碼的未來

代碼的未來

代碼的未來

定 價(jià):¥79.00

作 者: (日)松本行弘 著,周自恒 譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書
標(biāo) 簽: 計(jì)算機(jī)/網(wǎng)絡(luò) 計(jì)算機(jī)理論

ISBN: 9787115317513 出版時(shí)間: 2013-05-01 包裝: 平裝
開本: 16開 頁數(shù): 356 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《代碼的未來》是Ruby 之父松本行弘的又一力作。作者對(duì)云計(jì)算、大數(shù)據(jù)時(shí)代下的各種編程語言以及相關(guān)技術(shù)進(jìn)行了剖析,并對(duì)編程語言的未來發(fā)展趨勢(shì)做出預(yù)測(cè),內(nèi)容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩爾定律、編程語言、多核、NoSQL 等當(dāng)今備受關(guān)注的話題?!洞a的未來》面向各層次程序設(shè)計(jì)人員和編程愛好者,也可供相關(guān)技術(shù)人員參考。

作者簡(jiǎn)介

  松本行弘(Yukihiro Matsumoto),Ruby語言發(fā)明者,亦是亞洲首屈一指的編程語言發(fā)明者。現(xiàn)兼任網(wǎng)絡(luò)應(yīng)用通信研究所(NaCl)研究員、樂天技術(shù)研究所研究員、Heroku首席架構(gòu)師等。昵稱"Matz"。討厭東京,喜歡溫泉。譯者簡(jiǎn)介:周自恒,IT、編程愛好者,技術(shù)宅,初中時(shí)曾在NOI(國(guó)家信息學(xué)奧賽)天津賽區(qū)獲一等獎(jiǎng),大學(xué)畢業(yè)后曾任IT咨詢顧問,精通英語和日語,譯著有《30天自制操作系統(tǒng)》、《大數(shù)據(jù)的沖擊》、《Android應(yīng)用開發(fā)入門》。

圖書目錄

第一章 編程的時(shí)間和空間
1.1  編程的本質(zhì)
編程的本質(zhì)是思考
創(chuàng)造世界的樂趣
快速提高的性能改變了社會(huì)
以不變應(yīng)萬變
摩爾定律的局限
社會(huì)變化與編程
1.2  未來預(yù)測(cè)
科學(xué)的未來預(yù)測(cè)
IT 未來預(yù)測(cè)
極限未來預(yù)測(cè)
從價(jià)格看未來
從性能看未來
從容量看未來
從帶寬看未來
小結(jié)
第二章 編程語言的過去、現(xiàn)在和未來
2.1  編程語言的世界
被歷史埋沒的先驅(qū)
編程語言的歷史
編程語言的進(jìn)化方向
未來的編程語言
20 年后的編程語言
學(xué)生們的想象
2.2  DSL(特定領(lǐng)域語言)
外部DSL
內(nèi)部DSL
DSL 的優(yōu)勢(shì)
DSL 的定義
適合內(nèi)部DSL 的語言
外部DSL 實(shí)例
DSL 設(shè)計(jì)的構(gòu)成要素
Sinatra
小結(jié)
2.3  元編程
Meta, Reflection
類對(duì)象
類的操作
Lisp
數(shù)據(jù)和程序
Lisp 程序

宏的功與過
元編程的可能性與危險(xiǎn)性
小結(jié)
2.4  內(nèi)存管理
看似無限的內(nèi)存
GC 的三種基本方式
術(shù)語定義
標(biāo)記清除方式
復(fù)制收集方式
引用計(jì)數(shù)方式
引用計(jì)數(shù)方式的缺點(diǎn)
進(jìn)一步改良的應(yīng)用方式
分代回收
對(duì)來自老生代的引用進(jìn)行記錄
增量回收
并行回收
GC 大統(tǒng)一理論
2.5  異常處理
“一定沒問題的”
用特殊返回值表示錯(cuò)誤
容易忽略錯(cuò)誤處理
Ruby 中的異常處理
產(chǎn)生異常
更高級(jí)的異常處理
Ruby 中的后處理保證
其他語言中的異常處理
Java 的檢查型異常
Icon 的異常和真假值
Eiffel 的Design by Contract
異常與錯(cuò)誤值
小結(jié)
2.6  閉包
函數(shù)對(duì)象
高階函數(shù)
用函數(shù)參數(shù)提高通用性
函數(shù)指針的局限
作用域:變量可見范圍
生存周期:變量的存在范圍
閉包與面向?qū)ο?br />Ruby 的函數(shù)對(duì)象
Ruby 與JavaScript 的區(qū)別
Lisp-1 與Lisp-2
第三章 編程語言的新潮流
3.1  語言的設(shè)計(jì)
客戶端與服務(wù)器端
向服務(wù)器端華麗轉(zhuǎn)身
在服務(wù)器端獲得成功的四大理由
客戶端的JavaScript
性能顯著提升
服務(wù)器端的Ruby
Ruby on Rails 帶來的飛躍
服務(wù)器端的Go
靜態(tài)與動(dòng)態(tài)
動(dòng)態(tài)運(yùn)行模式
何謂類型
靜態(tài)類型的優(yōu)點(diǎn)
動(dòng)態(tài)類型的優(yōu)點(diǎn)
有鴨子樣的就是鴨子
Structural Subtyping
小結(jié)
3.2  Go
New(新的)
Experimental(實(shí)驗(yàn)性的)
Concurrent(并發(fā)的)
Garbage-collected(帶垃圾回收的)
Systems(系統(tǒng))
Go 的創(chuàng)造者們
Hello World
Go 的控制結(jié)構(gòu)
類型聲明
無繼承式面向?qū)ο?br />多值與多重賦值
并發(fā)編程
小結(jié)
3.3  Dart
為什么要推出Dart ?
Dart 的設(shè)計(jì)目標(biāo)
代碼示例
Dart 的特征
基于類的對(duì)象系統(tǒng)
非強(qiáng)制性靜態(tài)類型
Dart 的未來
3.4  CoffeeScript
最普及的語言
被誤解最多的語言
顯著高速化的語言
對(duì)JavaScript 的不滿
CoffeeScript
安裝方法
聲明和作用域
分號(hào)和代碼塊
省略記法
字符串
數(shù)組和循環(huán)

小結(jié)
3.5  Lua
示例程序
數(shù)據(jù)類型
函數(shù)

元表
方法調(diào)用的實(shí)現(xiàn)
基于原型編程
和Ruby 的比較(語言篇)
嵌入式語言Lua
和Ruby 的比較(實(shí)現(xiàn)篇)
嵌入式Ruby
第四章 云計(jì)算時(shí)代的編程
4.1  可擴(kuò)展性
信息的尺度感
大量數(shù)據(jù)的查找
二分法查找
散列表
布隆過濾器
一臺(tái)計(jì)算機(jī)的極限
DHT(分布式散列表)
Roma
MapReduce
小結(jié)
4.2  C10K 問題
何為C10K 問題
C10K 問題所引發(fā)的“想當(dāng)然”
使用epoll 功能
使用libev 框架
使用EventMachine
小結(jié)
4.3  HashFold
HashFold 庫(kù)的實(shí)現(xiàn)(Level 1)
運(yùn)用多核的必要性
目前的Ruby 實(shí)現(xiàn)所存在的問題
通過進(jìn)程來實(shí)現(xiàn)HashFold(Level 2)
抖動(dòng)
運(yùn)用進(jìn)程池的HashFold(Level 3)
小結(jié)
4.4  進(jìn)程間通信
進(jìn)程與線程
同一臺(tái)計(jì)算機(jī)上的進(jìn)程間通信
TCP  IP 協(xié)議
用C 語言進(jìn)行套接字編程
用Ruby 進(jìn)行套接字編程
Ruby 的套接字功能
用Ruby 實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)器
小結(jié)
4.5 Rack 與Unicorn
Rack 中間件
應(yīng)用程序服務(wù)器的問題
Unicorn 的架構(gòu)
Unicorn 的解決方案
性能
策略
小結(jié)
第五章 支撐大數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)技術(shù)
5.1  鍵- 值存儲(chǔ)
Hash 類
DBM 類
數(shù)據(jù)庫(kù)的ACID 特性
CAP 原理
CAP 解決方案--BASE
不能舍棄可用性
大規(guī)模環(huán)境下的鍵- 值存儲(chǔ)
訪問鍵- 值存儲(chǔ)
鍵- 值存儲(chǔ)的節(jié)點(diǎn)處理
存儲(chǔ)器
寫入和讀取
節(jié)點(diǎn)追加
故障應(yīng)對(duì)
終止處理
其他機(jī)制
性能與應(yīng)用實(shí)例
小結(jié)
5.2  NoSQL
RDB 的極限
NoSQL 數(shù)據(jù)庫(kù)的解決方案
形形色色的NoSQL 數(shù)據(jù)庫(kù)
面向文檔數(shù)據(jù)庫(kù)
MongoDB 的安裝
啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器
MongoDB 的數(shù)據(jù)庫(kù)結(jié)構(gòu)
數(shù)據(jù)的插入和查詢
用JavaScript 進(jìn)行查詢
高級(jí)查詢
數(shù)據(jù)的更新和刪除
樂觀并發(fā)控制
5.3  用Ruby 來操作MongoDB
使用Ruby 驅(qū)動(dòng)
對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作
數(shù)據(jù)的插入
數(shù)據(jù)的查詢
高級(jí)查詢
find 方法的選項(xiàng)
原子操作
ActiveRecord
OD Mapper
5.4  SQL 數(shù)據(jù)庫(kù)的反擊
“云”的定義
SQL 數(shù)據(jù)庫(kù)的極限
存儲(chǔ)引擎Spider
SQL 數(shù)據(jù)庫(kù)之父的反駁
SQL 數(shù)據(jù)庫(kù)VoltDB
VoltDB 的架構(gòu)
VoltDB 中的編程
Hello VoltDB!
性能測(cè)試
小結(jié)
5.5  memcached 和它的伙伴們
用于高速訪問的緩存
memcached
示例程序
對(duì)memcached 的不滿
memcached 替代服務(wù)器
另一種鍵- 值存儲(chǔ)Redis
Redis 的數(shù)據(jù)類型
Redis 的命令與示例
小結(jié)
第六章 多核時(shí)代的編程
6.1  摩爾定律
呈幾何級(jí)數(shù)增長(zhǎng)
摩爾定律的內(nèi)涵
摩爾定律的結(jié)果
摩爾定律所帶來的可能性
為了提高性能
摩爾定律的極限
超越極限
不再有免費(fèi)的午餐
6.2  UNIX 管道
管道編程
多核時(shí)代的管道
xargs--另一種運(yùn)用核心的方式
注意瓶頸
阿姆達(dá)爾定律
多核編譯
ccache
distcc
編譯性能測(cè)試
小結(jié)
6.3  非阻塞I/O
何為非阻塞I  O
使用read(2) 的方法
邊沿觸發(fā)與電平觸發(fā)
使用read(2) + select 的方法
使用read+O_NONBLOCK 標(biāo)志
Ruby 的非阻塞I  O
使用aio_read 的方法
6.4  node.js
減負(fù)
拖延
委派
非阻塞編程
node.js 框架
事件驅(qū)動(dòng)編程
事件循環(huán)的利弊
node.js 編程
node.js 網(wǎng)絡(luò)編程
node.js 回調(diào)風(fēng)格
node.js 的優(yōu)越性
EventMachine 與Rev
6.5  ZeroMQ
多CPU 的必要性
阿姆達(dá)爾定律
多CPU 的運(yùn)用方法
進(jìn)程間通信
管道
SysV IPC
套接字
UNIX 套接字
ZeroMQ
ZeroMQ 的連接模型
ZeroMQ 的安裝
ZeroMQ 示例程序
小結(jié)
版權(quán)聲明

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)