七周七語言

七周七語言

《七周七語言:理解多種編程范型》共介紹了七種不同的程式語言。對於每種語言,分別介紹了各自的特性、套用,以及編程入門知識和關鍵編程范型,還帶領讀者使用能夠代表該語言最重要特性的技術,解決某個不尋常的問題,使其充分掌握每種語言。 《七周七語言:理解多種編程范型》適合從事程式設計工作的人員閱讀。

基本信息

內容簡介

書籍

計算機書籍

《七周七語言:理解多種編程范型》共介紹了七種不同的程式語言。對於每種語言,分

七周七語言七周七語言
別介紹了各自的特性、套用,以及編程入門知識和關鍵編程范型,還帶領讀者使用能夠代表該語言最重要特性的技術,解決某個不尋常的問題,使其充分掌握每種語言。

《七周七語言:理解多種編程范型》適合從事程式設計工作的人員閱讀。

目錄

《七周七語言:理解多種編程范型》

第1章 簡介 1

1.1 不走尋常路 1

1.2 語言 2

1.3 誰應該買這本書 4

1.3.1 學會如何學習 4

1.3.2 亂世英雄 4

1.4 誰不應該買這本書 5

1.4.1 超越語法 5

1.4.2 不是安裝指南 6

1.4.3 不是編程參考 6

1.4.4 嚴格督促 6

1.5 最後一擊 7

第2章 ruby 8

2.1 ruby簡史 9

2.2 第一天:找個保姆 10

2.2.1 快速起步 10

2.2.2 從命令行執行ruby 10

2.2.3 ruby的編程模型 11

2.2.4 判斷 12

作譯者

本書提供作譯者介紹Bruce A. Tate RapidRed公司總裁,該公司主要為Ruby輕量級開發提供諮詢。他曾任職於IBM公司,並擔任過多家公司的客戶解決方案總監和CTO。著作有十餘本,包括榮獲Jolt大獎的Better, Faster, Lighter Java。

戴瑋 80後宅男,中科院自動化所在讀博士,熱愛機器學習與計算機視覺。編程喜C#、Ruby、Haskell而厭Java。

白明 Neusoft某開發部技術總監,擁有多年電信級軟體開發經驗;資深C程式設計師,對Common Lisp、Python等小眾語言也有涉獵;對開源軟體有著濃厚的興趣,曾先後貢獻了lcut、cbehave等

作品目錄

作者簡介

BruceA.TateRapidRed公司總裁,該公司主要為Ruby輕量級開發提供諮詢。他曾任職於IBM公司,並擔任過多家公司的客戶解決方案總監和CTO。著作有十餘本,包括榮獲Jolt大獎的Better,Faster,LighterJava。……

譯者簡介

戴瑋80後宅男,中科院自動化所在讀博士,熱愛機器學習與計算機視覺。編程喜C#、Ruby、Haskell而厭Java。白明Neusoft某開發部技術總監,擁有多年電信級軟體開發經驗;資深C程式設計師,對CommonLisp、Python等小眾語言也有涉獵;對開源軟體有著濃厚的興趣,曾先後貢獻了Ic……

序言

序言選自未完成的《擁抱編程年華》——Erlang語言的作者JoeArmstrong“Gmail編輯器不能正確排版引文格式。”“這可夠丟人的,”馬傑里說,“看來他們負責引文格式的程式設計師水平不行,企業文化也在走下坡路。”“我們該怎么辦?”“今後我們招募的程式設計師,一定得通讀過《追憶似水年華……

致謝

致謝這是我付出最多的一本書,但回報也同樣最為豐厚。在大家為我提供的各種幫助下,我才得以順利寫完此書。首先,我一定要感謝我的家人。Kayla和Julia,你們的寫作讓我驚喜。你們今後定能達到超乎自己想像的高度。Maggie,你是我的開心果,也是我的靈感源泉。感謝Ruby社區中的DaveThom……

第1章簡介

人們出於各種目的學習自然語言。學母語是為了生存,為了日常生活中與人正常交往。學外語的目的可就五花八門了。有時候,為了未來的職業發展或為了適應日益變化的生活環境,你不得不學習外語;但有時候,你決心征服一門外語,不是因為不得不這么做,而是因為發自內心地想學。外語能帶你領略一片未曾見過的風景。你甚至可能領……

1.1不走尋常路

1.2語言

1.3誰應該買這本書

1.3.1學會如何學習

1.3.2亂世英雄

1.4誰不應該買這本書

1.4.1超越語法

1.4.2不是安裝指南

1.4.3不是編程參考

1.4.4嚴格督促

1.5最後一擊

第2章Ruby

有糖相伴好下藥。——MaryPoppins……

2.1Ruby簡史

2.2第一天:找個保姆

2.2.1快速起步

2.2.2從命令行執行Ruby

2.2.3Ruby的編程模型

2.2.4判斷

2.2.5鴨子類型

2.2.6第一天我們學到了什麼

2.2.7第一天自習

2.3第二天:從天而降

2.3.1定義函式

2.3.2數組

2.3.3散列表

2.3.4代碼塊和yield

2.3.5定義類

2.3.6編寫Mixin

2.3.7模組、可枚舉和集合

2.3.8第二天我們學到了什麼

2.3.9第二天自習

2.4第三天:重大改變

2.4.1打開類

2.4.2使用method_missing

2.4.3模組

2.4.4第三天我們學到了什麼

2.4.5第三天自習

2.5趁熱打鐵

2.5.1核心優勢

2.5.2不足之處

2.5.3最後思考

第3章Io

問題不是“我們要乾點兒什麼”而是“我們有什麼不能幹”。——FerrisBueller……

3.1Io簡介

3.2第一天:逃學吧,輕鬆一下

3.2.1開場白

3.2.2對象、原型和繼承

3.2.3方法

3.2.4列表和映射

3.2.5true、false、nil以及單例

3.2.6SteveDekorte訪談錄

3.2.7第一天我們學到了什麼

3.2.8第一天自習

3.3第二天:香腸大王

3.3.1條件和循環

3.3.2運算符

3.3.3訊息

3.3.4反射

3.3.5第二天我們學到了什麼

3.3.6第二天自習

3.4第三天:花車遊行和各種奇妙經歷

3.4.1領域特定語言

3.4.2Io的method_missing

3.4.3並發

3.4.4第三天我們學到了什麼

3.4.5第三天自習

3.5趁熱打鐵

3.5.1核心優勢

3.5.2不足之處

3.5.3最後思考

第4章Prolog

DibbsSally。461-0192。——Raymond……

4.1關於Prolog

4.2第一天:一名優秀的司機

4.2.1基本概況

4.2.2基本推論和變數

4.2.3填空

4.2.4合一,第一部分

4.2.5實際套用中的Prolog

4.2.6第一天我們學到了什麼

4.2.7第一天自習

4.3第二天:離瓦普納法官開演還有15分鐘

4.3.1遞歸

4.3.2列表和元組

4.3.3列表與數學運算

4.3.4在兩個方向上使用規則

4.3.5第二天我們學到了什麼

4.3.6第二天自習

4.4第三天:維加斯的爆發

4.4.1解決數獨問題

4.4.2八皇后問題

4.4.3第三天我們學到了什麼

4.4.4第三天自習

4.5趁熱打鐵

4.5.1核心優勢

4.5.2不足之處

4.5.3最後思考

第5章Scala

我們不是綿羊。——剪刀手Edward……

5.1關於Scala

5.1.1與Java的密切關係

5.1.2沒有盲目崇拜

5.1.3MartinOdersky訪談錄

5.1.4函式式編程與並發

5.2第一天:山丘上的城堡

5.2.1Scala類型

5.2.2表達式與條件

5.2.3循環

5.2.4範圍與元組

5.2.5Scala中的類

5.2.6擴展類

5.2.7第一天我們學到了什麼

5.2.8第一天自習

5.3第二天:修剪灌木叢和其他新把戲

5.3.1對比var和val

5.3.2集合

5.3.3集合與函式

5.3.4第二天我們都學到了什麼

5.3.5第二天自習

5.4第三天:剪斷絨毛

5.4.1XML

5.4.2模式匹配

5.4.3並發

5.4.4實際中的並發

5.4.5第三天我們學到了什麼

5.4.6第三天自習

5.5趁熱打鐵

5.5.1核心優勢

5.5.2不足之處

5.5.3最後思考

第6章Erlang

你聽到了嗎?安德森先生。這是命運的轟隆聲。——特工Smith……

6.1Erlang簡介

6.1.1為並發量身打造

6.1.2JoeArmstrong博士訪談錄

6.2第一天:以常人面目出現

6.2.1新手上路

6.2.2注釋、變數和表達式

6.2.3原子、列表和元組

6.2.4模式匹配

6.2.5函式

6.2.6第一天我們學到了什麼

6.2.7第一天自習

6.3第二天:改變結構

6.3.1控制結構

6.3.2匿名函式

6.3.3列表和高階函式

6.3.4列表的一些高級概念

6.3.5第二天我們學到了什麼

6.3.6第二天自習

6.4第三天:紅藥丸

6.4.1基本並發原語

6.4.2同步訊息

6.4.3連結進程以獲得可靠性

6.4.4第三天我們學到了什麼

6.4.5第三天自習

6.5趁熱打鐵

6.5.1核心優勢

6.5.2不足之處

6.5.3最後思考

第7章Clojure

做或不做,不要嘗試。——Yoda(尤達大師)……

7.1Clojure入門

7.1.1一切皆Lisp

7.1.2JVM

7.1.3為並發更新

7.2第一天:訓練Luke

7.2.1調用基本函式

7.2.2字元串和字元

7.2.3布爾值和表達式

7.2.4列表、映射表、集合以及向量

7.2.5定義函式

7.2.6綁定

7.2.7匿名函式

7.2.8RichHickey訪談錄

7.2.9第一天我們學到了什麼

7.2.10第一天自習

7.3第二天:Yoda與原力

7.3.1用loop和recur遞歸

7.3.2序列

7.3.3延遲計算

7.3.4defrecord和protocol

7.3.5宏

7.3.6第二天我們學到了什麼

7.3.7第二天自習

7.4第三天:一瞥魔鬼

7.4.1引用和事務記憶體

7.4.2使用原子

7.4.3使用代理

7.4.4future

7.4.5還差什麼

7.4.6第三天我們學到了什麼

7.4.7第三天自習

7.5趁熱打鐵

7.5.1Lisp悖論

7.5.2核心優勢

7.5.3不足之處

7.5.4最後思考

第8章Haskell

邏輯是草地上幾隻吱吱作聲的小鳥在鳴叫。——Spock……

8.1Haskell簡介

8.2第一天:邏輯

8.2.1表達式和基本類型

8.2.2函式

8.2.3元組和列表

8.2.4生成列表

8.2.5PhilipWadler訪談錄

8.2.6第一天我們學到了什麼

8.2.7第一天自習

8.3第二天:Spock的超凡力量

8.3.1高階函式

8.3.2偏套用函式和柯里化

8.3.3惰性求值

8.3.4SimonPeyton-Jones訪談錄

8.3.5第二天我們學到了什麼

8.3.6第二天自習

8.4第三天:心靈融合

8.4.1類與類型

8.4.2monad

8.4.3第三天我們學到了什麼

8.4.4第三天自習

8.5趁熱打鐵

8.5.1核心優勢

8.5.2不足之處

8.5.3最後思考

第9章落幕時分

恭喜!你已經順利完成了全部七門程式語言的學習。或許你現在有所期待,希望最後這章會將這些語言分出個高下,選出哪些是勝利者,哪些是失敗者,然而,本書與勝敗毫不相干。本書所要關注的是如何激發你的思想火花。如今的你,也許與職業生涯早期的我十分相似——同是某個缺乏想像力的龐大項目組中的一員,深陷於各種各樣的商……

9.1編程模型

9.1.1面向對象(Ruby、Scala)

9.1.2原型編程(Io)

9.1.3約束-邏輯編程(Prolog)

9.1.4函式式編程(Scala、Erlang、Clojure、Haskell)

9.1.5范型演進之路

9.2並發

9.2.1控制可變狀態

9.2.2Io、Erlang和Scala中的actor

9.2.3future

9.2.4事務型記憶體

9.3編程結構

9.3.1列表解析

9.3.2monad

9.3.3匹配

9.3.4合一

9.4發現自己的鏇律

附錄參考書目

[Arm07]JoeArmstrong.ProgrammingErlang:SoftwareforaConcurrentWorld.ThePragmaticProgrammers,LLC,Raleigh,NC,andDallas,TX,2007.[Gra04]……

著作權聲明

著作權聲明Copyright©2010BruceA.Tate.OriginalEnglishlanguageedition,entitledSevenLanguagesinSevenWeeks:APragmaticGuidetoLearningProg……

相關搜尋

熱門詞條

聯絡我們