七周七語言 捲2

七周七語言 捲2 pdf epub mobi txt 電子書 下載 2025

美Bruce,A.,Tate,泰特,Fred ... 著,7ML翻組 譯
圖書標籤:
  • 編程語言
  • 學習
  • 教程
  • 計算機科學
  • 代碼
  • 實踐
  • 七周七語言
  • 多語言
  • 開發
  • 入門
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115427359
版次:01
商品編碼:12080756
品牌:異步圖書
包裝:平裝
開本:16開
齣版時間:2016-12-01
頁數:270
正文語種:中文

具體描述

編輯推薦

暢銷技術圖書“七周七”係列新佳作
深入研習對未來編程具有重要意義的7種語言
Lua、Factor、Elixir、Elm、Julia、Idris和MiniKanren
當你深入學習本書所介紹的每一種語言時,你將能夠對語言的抽象和原理一窺門徑,而這對於你用任何語言編寫更好的程序都頗有幫助。
通過“七周七”係列中的這本新圖書,你可以按部就班地學習當前重要的編程範型。你將會學習7種令人激動的語言: Lua 、Factor 、Elixir 、Elm 、Julia 、Idris 和miniKanren。

本書將拓展你的視野,教你如何使用多核和分布來解決問題。在每一種語言中,你將使用構成該語言的獨特技術來解決一個不尋常的問題。用Elm而不使用一個迴調來編寫一款功能完備的遊戲,用miniKanren編一個寫故事的程序,用Lua編寫自己的音樂播放程序,用Julia編寫一個圖像壓縮程序,用Idris實現數學中的證明,用Factor編寫一個解謎遊戲。讀完本書,你將會掌握7種完全不同的語言,從其中的每一種語言,都能學到一些重要的技術。

內容簡介

本書帶領讀者認識和學習瞭7種編程語言,旨在幫助讀者探索更為強大的編程工具。
本書延續瞭同係列的暢銷書《七周七語言》《七周七數據庫》和《七周七Web開發框架》的體例和風格。全書共8章,前7章介紹瞭Lua、Factor、Elm、Elixir、Julia、miniKanren和Idris共計7種編程語言,後一章總結迴顧瞭所有的知識點。書中對每一種編程語言的介紹,都為編程開發帶來瞭獨特而強大的思路。除此之外,書中還提供瞭一係列代碼示例和在綫資源以供參考。
本書適閤有一定基礎的開發人員閱讀,能夠幫助讀者拓寬思路,激發更多的靈感。

作者簡介

Bruce Tate,icanmaketibetter.com的CTO,十多本技術圖書的作者(包括《Seven Languages in Seven Weeks》)。也是“七周七”係列圖書的編輯。
Fred Daoud 熱愛函數式編程,他和Jack Moffitt共同編著瞭《Seven Web
Frameworks in Seven Weeks》。
Ian Dees 在波特蘭市的一傢測試設備生廠商從事編碼和測試工作。他是《Cucumber
Recipes》一書的閤著者。Jack Moffitt是Mozilla Research的高級研發工程師,負責用Mozilla的新的Rust語言編寫的一款實驗性的瀏覽器引擎(名為Servo)。

目錄

目錄

第1章 Lua 1
第一天:開始曆險 1
本周日程 2
Lua一覽 3
安裝Lua 3
交互式開發 3
初窺 4
Lua基礎 5
錶達式 6
函數 7
具名參數 10
控製流程 10
變量 11
離開REPL 12
第一天我們學瞭什麼 13
輪到你瞭 13
第二天:深入瞭解Table 14
Table當作字典用 14
穿著數組外衣的字典 16
metatables 17
自製麵嚮對象係統 21
協程 25
多任務 26
Lua作者Roberto Ierusalimschy
訪談 29
第二天我們學瞭什麼 30
輪到你瞭 31
第三天:真實世界中的Lua 32
製作音樂 33
為曆險做準備 33
創建項目 34
添加聲效 36
從音符到歌麯 39
多聲道 43
Canon in D 45
第三天我們學瞭什麼 46
輪到你瞭 46
Lua小結 47
優勢 47
劣勢 47
終章 48
第2章 Factor 49
第一天:棧,棧 50
第一天我們學到瞭什麼 59
第二天:更進一步 61
運行獨立的程序 64
寫單元測試 67
Factor的創建者Slava·Factor的
采訪 69
第二天我們學到瞭什麼? 70
輪到你瞭 71
第三天:乘風破浪,搏擊長空 72
元組 72
元組構造器 73
為購物車結賬 74
把命令組裝成流水管道 75
重新迴顧FizzBuzz遊戲 78
與生俱來以下功能 81
編輯器集成 82
演示 83
第三天我們學瞭什麼 83
輪到你瞭 84
總結Factor 84
第3章 Elm 86
第一天:掌握基礎 87
第二天:馴服迴調 97
第三天:一切都是遊戲 107
Elm總結 119
第4章 Elixir 120
第一天:夯實基礎 121
安裝Elixir 121
所以說……它是Ruby++,
對嗎 122
不,不是Ruby 122
編寫函數 124
使用管道組織程序 125
使用模塊 126
命名函數 127
do構造塊 127
使用map 129
list 130
for推導 133
keyword List 134
函數語法糖 135
第一天我們學到瞭什麼 135
第二天:控製變化 137
Mix 137
從具體到元 138
使用struct為字段命名 139
創建具體行為 140
為狀態機建模 141
添加狀態機行為 142
尋找模式 143
編寫測試 144
使用宏實現should 145
編寫更多的測試 146
編寫一個復雜的宏 147
理解編譯期流程 148
構造一個骨架 148
理解編譯期流程,第2部分 150
使用狀態機 152
第二天我們學到瞭什麼 152
第三天:衍生和重生 154
衍生進程 155
構建一個OTP應用 156
在終端中使用OTP 158
可靠性監護 159
第三天我們學到瞭什麼 161
第三天自習 161
Exlir總結 162
優勢 162
弱點 163
最後的思考 163
第5章 Julia 164
第一天:無謂的反抗 165
安裝Julia 165
內置類型 166
第一天我們學到瞭什麼? 175
輪到你瞭 175
第二天:吸收 176
控製流 176
用戶定義類型和函數 178
並發 182
采訪Julia的創始人:Jeff Bezanson, Stefan
Karpinski, Viral Shah, Alan Edelman 185
我們第二天學到瞭什麼? 186
輪到你瞭 187
第三天:打成一片 187
轉換代碼而不是數據 188
圖像切處和切塊 191
第三天我們學到瞭什麼? 196
輪到你瞭 196
Julia總結 197
優勢 197
劣勢 198
最後的思考 198
第6章 miniKanren 199
第一天:代碼的一緻性匹配 199
安裝core.logic 200
目標一定要成功 201
使用關係 202
用因子編程 204
平行宇宙 206
咒語的秘密 207
第一天我們學到瞭什麼 208
輪到你瞭 209
第二天:混閤邏輯與函數 210
模式,那裏都是模式 210
用上散列圖 212
另一種判定 213
對David Nolen的采訪 216
第二天我們學到瞭什麼 217
輪到你瞭 218
第三天:用邏輯來寫故事 218
用有限域編程 219
神奇的故事 221
第三天我們學到瞭什麼 228
輪到你瞭 228
miniKanren的迴顧 229
優勢 229
劣勢 230
寫在最後 230
第7章 Idris 231
第一天:基礎 232
安裝Idris 232
理解基礎 233
原生類型和錶達式 233
函數 234
定義數據類型 236
第一天我們學到瞭什麼 240
輪到你瞭 240
第二天:開始使用依賴類型 241
理解依賴類型 241
派生依賴類型 243
閏年裏的日期限定 245
第二天我們學到瞭什麼 248
輪到你瞭 248
第三天:依賴類型實踐 249
智能補全 249
證明完畢,親愛的華生 251
交互式證明 252
下一步 254
證明為我們做瞭什麼 256
現實世界 257
一段亂糟糟的C++代碼 257
指稱設計 258
迴顧 259
改善 260
輪到你瞭 261
結束Idris 262
第8章 總結 264
起源 264
中央高速公路 265
前沿 267
髒地圖 268
最後的挑戰 270
《七周七語言 捲2》是一本旨在帶領讀者深入探索編程世界奧秘的進階讀物。它並非簡單羅列各種編程語言的語法特性,而是著眼於語言背後的設計理念、哲學思想以及它們如何影響程序員的思維模式。本書認為,理解語言的“為什麼”比單純掌握“怎麼做”更為重要,因為這能幫助開發者構建更具彈性和適應性的解決方案,並能在快速變化的科技浪潮中遊刃有餘。 本書的架構精巧,選取的七種語言各具代錶性,它們在範式、應用領域、設計哲學等方麵形成瞭鮮明的對比,從而為讀者提供瞭一個廣闊的視角來審視編程語言的多樣性。例如,它會深入剖析函數式編程的純粹與優雅,展示如何通過不可變數據和高階函數來編寫更安全、更易於推理的代碼。讀者將學習到,函數式編程不僅僅是一種編程風格,更是一種思考問題的方式,能夠有效地減少副作用,提高代碼的可維護性。 同時,本書也會探討麵嚮對象編程的強大封裝能力,以及如何通過繼承、多態等機製來構建復雜的係統。它會引導讀者理解類、對象、接口等核心概念,並進一步闡述如何利用麵嚮對象的思想來模擬現實世界,設計齣模塊化、可擴展的軟件架構。書中的例子將不僅僅停留在語法層麵,而是會深入到麵嚮對象設計的原則,如SOLID原則,解釋它們如何在實際項目中發揮關鍵作用。 除瞭主流的編程範式,本書還將目光投嚮那些在特定領域或具有獨特設計理念的語言。比如,它可能會介紹一種動態類型語言,闡述其在快速原型開發和腳本編寫中的優勢,同時也深入分析動態類型所帶來的潛在挑戰以及相應的解決方案。讀者將瞭解到,動態類型並非“不嚴謹”,而是提供瞭一種不同的權衡,能夠在開發效率和運行時安全性之間找到平衡點。 另一方麵,對於靜態類型語言,本書不會止步於類型檢查的錶麵,而是會深入挖掘其背後對代碼健壯性和可維護性的巨大貢獻。它將解釋泛型、類型推斷等特性如何進一步提升靜態類型的錶達能力,並幫助開發者在編譯階段捕獲大量潛在錯誤,從而節省大量的調試時間。 本書並非盲目推崇某一種語言或範式,而是鼓勵讀者保持開放的心態,去理解不同語言的優勢和劣勢。它會深入分析每一種語言的設計決策,以及這些決策是如何服務於特定的目標。例如,為什麼某種語言選擇更嚴格的內存管理機製,而另一種語言則依賴垃圾迴收?這些權衡背後都蘊含著深刻的工程考量。 為瞭讓讀者更好地理解這些概念,本書將采用理論結閤實踐的方式。每一章都會精選具有代錶性的代碼示例,並對這些示例進行詳盡的解釋,說明其背後的原理和應用場景。這些代碼示例將不僅僅是語法演示,而是會展示如何運用所介紹的語言特性來解決實際問題,從而幫助讀者將理論知識轉化為實際的編程能力。 本書的內容不僅僅局限於語言本身,還會觸及軟件工程的多個層麵。例如,在介紹一門語言時,可能會討論其在並發編程和並行計算方麵的支持,以及如何利用這些特性來構建高性能的分布式係統。讀者將瞭解到,現代軟件開發離不開對並發和並行問題的深入理解,而不同的編程語言提供瞭不同的工具和抽象來應對這些挑戰。 此外,本書還會探討領域特定語言(DSL)的理念,以及如何設計和使用DSL來提高特定領域的開發效率。它會解釋DSL的優勢,如代碼的可讀性、錶達力以及與通用語言的集成方式。 對於元編程和代碼生成等高級主題,本書也會有所涉獵,展示如何通過編程來操縱代碼本身,從而實現更高級的自動化和定製化。這將幫助讀者突破語言的錶麵限製,更深入地理解編程的本質。 《七周七語言 捲2》的寫作風格力求清晰、流暢,避免使用晦澀難懂的術語,而是用通俗易懂的語言來闡述復雜的概念。書中會穿插一些引人入勝的編程故事和曆史軼事,增加閱讀的趣味性,並幫助讀者更好地理解編程語言的演進過程。 本書的目標讀者是對編程有一定基礎,希望進一步拓展視野、提升編程思維的開發者。它適閤那些不滿足於隻掌握一門語言,而是希望理解編程世界的多樣性,並能根據項目需求選擇最閤適工具的程序員。通過本書的學習,讀者將能夠: 深入理解不同編程範式的核心思想: 不再將函數式、麵嚮對象等視為孤立的概念,而是能看到它們之間的聯係和區彆,以及各自適用的場景。 培養更高級的抽象能力: 學習如何從問題的本質齣發,設計齣更具錶達力和可維護性的代碼。 提升解決復雜問題的能力: 掌握運用不同語言特性來應對並發、性能、可伸縮性等挑戰的技巧。 增強代碼的健壯性和可維護性: 理解類型係統、內存管理等機製如何幫助開發者編寫更可靠的軟件。 為學習新的編程語言打下堅實基礎: 通過理解語言背後的設計哲學,學習新語言將變得更加輕鬆和高效。 形成批判性思維: 不再盲目追逐潮流,而是能夠理性分析各種技術的優劣,做齣明智的技術決策。 本書的內容將會引導讀者進行大量的思考和實踐。它鼓勵讀者在閱讀過程中動手實踐代碼示例,並嘗試將其應用到自己的項目中。通過這樣的學習方式,讀者纔能真正地吸收書中的知識,並將其內化為自己的編程技能。 總而言之,《七周七語言 捲2》是一本充滿啓發性的讀物,它將帶領讀者踏上一段更加深入、更加廣闊的編程探索之旅。它不僅僅是一本技術手冊,更是一本關於編程思想、編程藝術的哲學指南。通過對這七種語言的深入剖析,讀者將能夠更好地理解編程的本質,並在這個不斷發展的技術領域中找到自己的定位,不斷精進,成為一名更優秀的開發者。本書旨在激發讀者的求知欲,鼓勵他們不斷學習和探索,擁抱編程世界的無限可能。

用戶評價

評分

我一直以來都對不同國傢的文化和風情抱有濃厚的興趣,而語言無疑是瞭解一個國傢最直接、最深刻的途徑。然而,傳統意義上的語言學習往往枯燥乏味,讓我難以堅持。《七周七語言 捲2》則徹底顛覆瞭我的認知。它就像一位循循善誘的老師,用最引人入勝的方式,帶領我一步步走進語言的奇妙世界。我特彆喜歡書中的“知識碎片化”處理方式,它將復雜的語言知識分解成一個個易於理解的小單元,讓我可以在碎片化的時間裏進行學習,而不會感到壓力過大。而且,作者並沒有迴避學習過程中可能遇到的睏難,反而巧妙地將這些睏難融入到學習的過程中,通過一些有趣的練習和挑戰,讓我們在解決問題的過程中掌握知識。讓我印象深刻的是,書中的語言選擇也頗具匠心,既有大傢熟知的,也有一些相對小眾但極具文化價值的。這讓我感覺仿佛在進行一場跨越時空的語言探險,每一次翻頁都充滿瞭驚喜。我已經迫不及待地想將書中的知識運用到我的下一次旅行中瞭!

評分

這本書絕對是語言學習者的福音!我曾經被語言學習的“高門檻”嚇退過無數次,總覺得要花大量的時間和精力纔能掌握一門外語,而且效果還不一定好。《七周七語言 捲2》這本書的齣現,徹底打消瞭我的疑慮。作者的教學理念非常務實,他並沒有提倡“速成”,而是強調“高效學習”和“策略性學習”。他會告訴你如何根據自己的優勢和興趣,選擇最適閤自己的學習方法,並且如何利用已有的知識來遷移到新的語言學習中。我尤其欣賞他對“語言思維”的構建。他不僅僅是教你死記硬背,更是引導你理解語言背後的邏輯和思維模式,讓你能夠觸類旁通。書中的語言實例也選取得非常恰當,既有代錶性,又具有一定的趣味性。讓我感覺學習過程不再是枯燥的重復,而是一種探索和發現的樂趣。這本書為我打開瞭一個全新的語言學習世界,我感覺自己終於找到瞭正確的方嚮,再也不用在學習的迷宮裏徘徊瞭!

評分

這本書簡直太棒瞭!我一直對學習新語言充滿熱情,但總是因為各種原因淺嘗輒止,尤其是那些看起來遙不可及的語言,像是斯拉夫語係或者更遠的東方語言。我之前也買過一些語言學習的書,但大多都是泛泛而談,要麼就是枯燥的語法講解,讓我很快就失去瞭興趣。直到我翻開《七周七語言 捲2》,我纔發現原來學習語言可以這麼有趣,而且還如此係統化!作者的思路非常清晰,他並沒有一股腦地把所有語言都堆砌在一起,而是根據語言的特性和學習的難易程度,進行瞭巧妙的編排。每一章的切入點都讓我感到耳目一新,他會從一個有趣的文化背景或者一個實際的應用場景切入,讓你在不知不覺中就對這門語言産生瞭好奇心。而且,我尤其喜歡的是作者對於“為什麼”的深入剖析。他不僅僅是教你“怎麼學”,更重要的是讓你明白“為什麼要這樣學”,他會解釋每種學習方法的背後邏輯,讓你真正理解語言的構成和演變。這讓我不再是機械地記憶單詞和語法,而是能夠從更高的維度去理解語言的魅力。我已經迫不及待地想要開始我的語言學習之旅瞭!

評分

這本書的齣現,簡直就是為我這樣“三分鍾熱度”的學習者量身定做的。我之前嘗試過很多次學習外語,每次都雄心勃勃,結果呢?單詞背到一半就放棄瞭,語法規則也看得雲裏霧裏,最後隻能看著自己堆積如山的筆記感嘆“我太難瞭”。《七周七語言 捲2》最大的亮點在於它的“循序漸進”和“梯度挑戰”。它沒有一開始就用那些高難度、生僻的語言來嚇唬你,而是從相對容易入門,但又非常有價值的語言入手,讓你快速建立起學習的信心。而且,書中的練習設計也十分巧妙,不是那種死闆的填空題或者選擇題,而是充滿瞭趣味性和互動性,讓你在完成練習的過程中,仿佛在玩一個解謎遊戲,不知不覺就把知識點給掌握瞭。我最喜歡的一點是,作者非常強調“實踐齣真知”,他鼓勵我們在學習過程中多去聽、多去說,而不是僅僅停留在書本上。這本書提供的資源和建議,讓我感覺不再是孤軍奮戰,而是有一個經驗豐富的嚮導在身邊指引我前進。我已經迫不及待地想和書中的語言進行一次深度對話瞭!

評分

說實話,一開始我看到“七周七語言”這個標題,心裏是有些打鼓的。畢竟,要在這麼短的時間內掌握七門語言,聽起來像是天方夜譚。但讀完《七周七語言 捲2》的序言和前幾章,我的顧慮立刻煙消雲散。這本書的作者顯然不是一個隻會紙上談兵的人,他是一位真正懂得如何引導學習者的人。他對於語言的學習路徑有著極其深刻的理解,並且能夠用最生動、最易懂的方式呈現齣來。我特彆欣賞他對於“跨語言思維”的培養。他不僅僅是介紹不同語言的詞匯和語法,更重要的是讓你看到不同語言之間是如何相互影響、相互藉鑒的。這就像是打開瞭一個全新的視角,讓我能夠從一個更宏觀的角度去審視語言的世界。書中的案例分析也非常精彩,他會選取一些實際的例子,展示學習不同語言在實際生活中的應用,這讓我對學習語言的動力又增加瞭一層。我感覺這本書不僅是在教我學習語言,更是在塑造我的一種全新的學習和思考方式,這對我來說是無價的。

評分

好的

評分

暫時還沒看,還是不錯的,當雜誌翻翻

評分

書還沒看,但是感覺很薄啊?

評分

又介紹瞭7個小眾語言,除瞭lua用過,其它隻是耳聞。

評分

好的

評分

慢慢閱讀中

評分

此用戶未及時評價,係統默認好評。

評分

入門級圖書,邊用邊學習

評分

入門級圖書,邊用邊學習

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有