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

代碼的未來(lái)

代碼的未來(lái)

定 價(jià):¥79.00

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

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

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

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

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

元表
方法調(diào)用的實(shí)現(xiàn)
基于原型編程
和Ruby 的比較(語(yǔ)言篇)
嵌入式語(yǔ)言Lua
和Ruby 的比較(實(shí)現(xiàn)篇)
嵌入式Ruby
第四章 云計(jì)算時(shí)代的編程
4.1  可擴(kuò)展性
信息的尺度感
大量數(shù)據(jù)的查找
二分法查找
散列表
布隆過(guò)濾器
一臺(tái)計(jì)算機(jī)的極限
DHT(分布式散列表)
Roma
MapReduce
小結(jié)
4.2  C10K 問(wèn)題
何為C10K 問(wèn)題
C10K 問(wèn)題所引發(fā)的“想當(dāng)然”
使用epoll 功能
使用libev 框架
使用EventMachine
小結(jié)
4.3  HashFold
HashFold 庫(kù)的實(shí)現(xiàn)(Level 1)
運(yùn)用多核的必要性
目前的Ruby 實(shí)現(xiàn)所存在的問(wèn)題
通過(guò)進(jìn)程來(lái)實(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 語(yǔ)言進(jìn)行套接字編程
用Ruby 進(jìn)行套接字編程
Ruby 的套接字功能
用Ruby 實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)器
小結(jié)
4.5 Rack 與Unicorn
Rack 中間件
應(yīng)用程序服務(wù)器的問(wèn)題
Unicorn 的架構(gòu)
Unicorn 的解決方案
性能
策略
小結(jié)
第五章 支撐大數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)技術(shù)
5.1  鍵- 值存儲(chǔ)
Hash 類(lèi)
DBM 類(lèi)
數(shù)據(jù)庫(kù)的ACID 特性
CAP 原理
CAP 解決方案--BASE
不能舍棄可用性
大規(guī)模環(huán)境下的鍵- 值存儲(chǔ)
訪問(wèn)鍵- 值存儲(chǔ)
鍵- 值存儲(chǔ)的節(jié)點(diǎn)處理
存儲(chǔ)器
寫(xiě)入和讀取
節(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ù)的更新和刪除
樂(lè)觀并發(fā)控制
5.3  用Ruby 來(lái)操作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 和它的伙伴們
用于高速訪問(wèn)的緩存
memcached
示例程序
對(duì)memcached 的不滿
memcached 替代服務(wù)器
另一種鍵- 值存儲(chǔ)Redis
Redis 的數(shù)據(jù)類(lèi)型
Redis 的命令與示例
小結(jié)
第六章 多核時(shí)代的編程
6.1  摩爾定律
呈幾何級(jí)數(shù)增長(zhǎng)
摩爾定律的內(nèi)涵
摩爾定律的結(jié)果
摩爾定律所帶來(lái)的可能性
為了提高性能
摩爾定律的極限
超越極限
不再有免費(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 ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)