-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
10/8 新書到! 10/1 新書到! 9/24 新書到! 9/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

代碼的未來

( 簡體 字)
作者:[日] 松本行弘類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社代碼的未來 3dWoo書號: 35640
詢問書籍請說出此書號!

有庫存
NT售價: 395

出版日:6/1/2013
頁數:356
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115317513
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

《代碼的未來》是Ruby之父松本行弘的又一力作。作者對云計算、大數據時代下的各種編程語言以及相關技術進行了剖析,并對編程語言的未來發展趨勢做出預測,內容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩爾定律、編程語言、多核、NoSQL等當今備受關注的話題。
  《代碼的未來》面向各層次程序設計人員和編程愛好者,也可供相關技術人員參考。
目錄:

第一章 編程的時間和空間
1.1 編程的本質 3
 編程的本質是思考 4
 創造世界的樂趣 4
 快速提高的性能改變了社會 5
 以不變應萬變 8
 摩爾定律的局限 9
 社會變化與編程 10
1.2 未來預測 13
 科學的未來預測 14
 IT未來預測 14
 極限未來預測 16
 從價格看未來 16
 從性能看未來 17
 從容量看未來 18
 從帶寬看未來 19
 小結 20

第二章 編程語言的過去、現在和未來
2.1 編程語言的世界 23
 被歷史埋沒的先驅 25
 編程語言的歷史 26
 編程語言的進化方向 30
 未來的編程語言 32
 20年后的編程語言 34
 學生們的想象 34
2.2 DSL(特定領域語言) 36
 外部DSL 37
 內部DSL 38
 DSL的優勢 39
 DSL的定義 39
 適合內部DSL的語言 40
 外部DSL實例 42
 DSL設計的構成要素 43
 Sinatra 46
 小結 47
2.3 元編程 48
 Meta, Reflection 48
 類對象 51
 類的操作 52
 Lisp 53
 數據和程序 54
 Lisp程序 56
 宏 56
 宏的功與過 57
 元編程的可能性與危險性 59
 小結 60
2.4 內存管理 61
 看似無限的內存 61
 GC的三種基本方式 62
 術語定義 62
 標記清除方式 63
 復制收集方式 64
 引用計數方式 65
 引用計數方式的缺點 65
 進一步改良的應用方式 66
 分代回收 66
 對來自老生代的引用進行記錄 67
 增量回收 68
 并行回收 69
 GC大統一理論 69
2.5 異常處理 71
 “一定沒問題的” 71
 用特殊返回值表示錯誤 72
 容易忽略錯誤處理 72
 Ruby中的異常處理 73
 產生異常 74
 更高級的異常處理 75
 Ruby中的后處理保證 76
 其他語言中的異常處理 77
 Java的檢查型異常 77
 Icon的異常和真假值 78
 Eiffel的Design by Contract 80
 異常與錯誤值 80
 小結 81
2.6 閉包 82
 函數對象 82
 高階函數 83
 用函數參數提高通用性 84
 函數指針的局限 85
 作用域:變量可見范圍 87
 生存周期:變量的存在范圍 88
 閉包與面向對象 89
 Ruby的函數對象 89
 Ruby與JavaScript的區別 90
 Lisp-1與Lisp-2 91

第三章 編程語言的新潮流
3.1 語言的設計 97
 客戶端與服務器端 97
 向服務器端華麗轉身 98
 在服務器端獲得成功的四大理由 99
 客戶端的JavaScript 100
 性能顯著提升 101
 服務器端的Ruby 102
 Ruby on Rails帶來的飛躍 102
 服務器端的Go 103
 靜態與動態 104
 動態運行模式 105
 何謂類型 105
 靜態類型的優點 106
 動態類型的優點 106
 有鴨子樣的就是鴨子 107
 Structural Subtyping 108
 小結 108
3.2 Go 109
 New(新的) 109
 Experimental(實驗性的) 109
 Concurrent(并發的) 110
 Garbage-collected(帶垃圾回收的) 110
 Systems(系統) 111
 Go的創造者們 111
 Hello World 112
 Go的控制結構 113
 類型聲明 116
 無繼承式面向對象 118
 多值與多重賦值 120
 并發編程 122
 小結 124
3.3 Dart 126
 為什么要推出Dart? 126
 Dart的設計目標 129
 代碼示例 130
 Dart的特征 132
 基于類的對象系統 132
 非強制性靜態類型 133
 Dart的未來 134
3.4 CoffeeScript 135
 最普及的語言 135
 被誤解最多的語言 135
 顯著高速化的語言 136
 對JavaScript的不滿 138
 CoffeeScript 138
 安裝方法 139
 聲明和作用域 139
 分號和代碼塊 141
 省略記法 142
 字符串 143
 數組和循環 143
 類 145
 小結 146
3.5 Lua 148
 示例程序 149
 數據類型 149
 函數 150
 表 150
 元表 151
 方法調用的實現 153
 基于原型編程 155
 和Ruby的比較(語言篇) 157
 嵌入式語言Lua 157
 和Ruby的比較(實現篇) 158
 嵌入式Ruby 159

第四章 云計算時代的編程
4.1 可擴展性 163
 信息的尺度感 163
 大量數據的查找 164
 二分法查找 165
 散列表 167
 布隆過濾器 169
 一臺計算機的極限 170
 DHT(分布式散列表) 171
 Roma 172
 MapReduce 173
 小結 174
4.2 C10K問題 175
 何為C10K問題 175
 C10K問題所引發的“想當然” 177
 使用epoll功能 180
 使用libev框架 181
 使用EventMachine 183
 小結 185
4.3 HashFold 186
 HashFold庫的實現(Level 1) 187
 運用多核的必要性 190
 目前的Ruby實現所存在的問題 191
 通過進程來實現HashFold(Level 2) 191
 抖動 193
 運用進程池的HashFold(Level 3) 194
 小結 197
4.4 進程間通信 198
 進程與線程 198
 同一臺計算機上的進程間通信 199
 TCP/IP協議 201
 用C語言進行套接字編程 202
 用Ruby進行套接字編程 204
 Ruby的套接字功能 205
 用Ruby實現網絡服務器 208
 小結 209
4.5 Rack與Unicorn 210
 Rack中間件 211
 應用程序服務器的問題 212
 Unicorn的架構 215
 Unicorn的解決方案 215
 性能 219
 策略 220
 小結 221

第五章 支撐大數據的數據存儲技術
5.1 鍵-值存儲 225
 Hash類 225
 DBM類 226
 數據庫的ACID特性 226
 CAP原理 227
 CAP解決方案——BASE 228
 不能舍棄可用性 229
 大規模環境下的鍵-值存儲 230
 訪問鍵-值存儲 230
 鍵-值存儲的節點處理 231
 存儲器 232
 寫入和讀取 233
 節點追加 233
 故障應對 233
 終止處理 235
 其他機制 235
 性能與應用實例 236
 小結 236

5.2 NoSQL 237
 RDB的極限 237
 NoSQL數據庫的解決方案 238
 形形色色的NoSQL數據庫 239
 面向文檔數據庫 240
 MongoDB的安裝 241
 啟動數據庫服務器 243
 MongoDB的數據庫結構 244
 數據的插入和查詢 244
 用JavaScript進行查詢 245
 高級查詢 246
 數據的更新和刪除 249
 樂觀并發控制 250
5.3 用Ruby來操作MongoDB 251
 使用Ruby驅動 251
 對數據庫進行操作 253
 數據的插入 253
 數據的查詢 253
 高級查詢 254
 find方法的選項 256
 原子操作 257
 ActiveRecord 259
 OD Mapper 260
5.4 SQL數據庫的反擊 264
 “云”的定義 264
 SQL數據庫的極限 264
 存儲引擎Spider 265
 SQL數據庫之父的反駁 265
 SQL數據庫VoltDB 268
 VoltDB的架構 269
 VoltDB中的編程 270
 Hello VoltDB! 271
 性能測試 273
 小結 275
5.5 memcached和它的伙伴們 276
 用于高速訪問的緩存 276
 memcached 277
 示例程序 278
 對memcached的不滿 279
 memcached替代服務器 280
 另一種鍵-值存儲Redis 282
 Redis的數據類型 284
 Redis的命令與示例 285
 小結 289

第六章 多核時代的編程
6.1 摩爾定律 293
 呈幾何級數增長 293
 摩爾定律的內涵 294
 摩爾定律的結果 295
 摩爾定律所帶來的可能性 296
 為了提高性能 297
 摩爾定律的極限 302
 超越極限 303
 不再有免費的午餐 304
6.2 UNIX管道 305
 管道編程 306
 多核時代的管道 308
 xargs——另一種運用核心的方式 309
 注意瓶頸 311
 阿姆達爾定律 311
 多核編譯 312
 ccache 313
 distcc 313
 編譯性能測試 314
 小結 315
6.3 非阻塞I/O 316
 何為非阻塞I/O 316
 使用read(2)的方法 317
 邊沿觸發與電平觸發 319
 使用read(2)+select的方法 319
 使用read+O_NONBLOCK標志 321
 Ruby的非阻塞I/O 322
 使用aio_read的方法 323
6.4 node.js 330
 減負 330
 拖延 331
 委派 332
 非阻塞編程 333
 node.js框架 333
 事件驅動編程 334
 事件循環的利弊 335
 node.js編程 335
 node.js網絡編程 337
 node.js回調風格 339
 node.js的優越性 340
 EventMachine與Rev 341
6.5 ZeroMQ 342
 多CPU的必要性 342
 阿姆達爾定律 343
 多CPU的運用方法 343
 進程間通信 345
 管道 345
 SysV IPC 346
 套接字 347
 UNIX套接字 349
 ZeroMQ 349
 ZeroMQ的連接模型 350
 ZeroMQ的安裝 352
 ZeroMQ示例程序 352
 小結 354

版權聲明 356
序: