作者:松本行弘
松本行弘昆稿,編程大師括堤,Ruby語言的發(fā)明者
關(guān)于本書
此書與《黑客與畫家》風(fēng)格類似砖第,都是作者的個人優(yōu)秀作品集斟或,《代碼的未來》只是其中的一篇文章素征。他從編程語言的本質(zhì)出發(fā)探索和發(fā)現(xiàn)未來程序世界的可能發(fā)展。動態(tài)語言的不斷涌現(xiàn)萝挤、大數(shù)據(jù)的持續(xù)火熱御毅、多核時代的到來,身處浪潮之巔的新一代程序員怜珍,我們到底該如何面對端蛆?從第一篇文章開始我就發(fā)現(xiàn)這一本書和以往的概念性書籍完全不一樣,特別是語言方面绘面,非常樸實欺税,沒有令人深刻的概念侈沪,如果有很難懂的東西要么就簡單地講揭璃,要么就干脆不講⊥ぷ铮《黑客與畫家》是屬于上個世紀程序員的瘦馍,而《代碼的未來》則是給我們這一代程序員看的,書中介紹了很多最新的技術(shù)知識应役,當(dāng)然不會深入講解情组,但也可以帶領(lǐng)我們來到時代變革的那扇門前。
關(guān)于編程
何謂編程箩祥?“創(chuàng)造出一種人類和計算機都能夠理解的語言(編程語言)院崇,并通過這樣的語言將人類的意圖傳達給計算機,這樣的行為就叫做編程袍祖〉装辏”這只是作者所引用的一個觀點而已,但他并不大贊同蕉陋,我也這樣覺得捐凭,我認為拨扶,編程本身是一個創(chuàng)造的過程,而且是一個創(chuàng)造生命的過程茁肠,現(xiàn)在我們編程和上一輩人的編程目的不大一樣患民,雖然都是為了讓機器能讀懂,但我們更著眼于未來垦梆,更著眼于代碼所給人類帶來的實際好處匹颤。編程的本質(zhì)在于“思考”。正如林納斯·托瓦茲所說:“Just for fun”托猩。碼農(nóng)惋嚎、程序猿。站刑。另伍。有時候我很喜歡這些稱謂,因為這些稱謂不是別的行業(yè)給我們起的绞旅,而是我們自己對自己的一種嘲諷摆尝,嘲諷中帶有一絲與眾不同,這正是現(xiàn)代程序員的樂趣因悲。程序員無疑是互聯(lián)網(wǎng)上最會自嘲的一群人堕汞,但苦只有自己知道,樂也只有自己知道晃琳。
關(guān)于編程語言
大一時候的我讯检,剛學(xué)完C語言就迫不及待去學(xué)習(xí)C++語言,以為從面向過程到面向?qū)ο缶退闶蔷幊淌澜缋镒钪匾囊坏揽参篮担獠恢俗疲贑和C++大門之外,世界上還有那么可愛顾翼、好用投放、強大、簡潔的編程語言适贸。通過微博和Github我學(xué)習(xí)了Python語言灸芳,真太美了,原來強大的語言不一定要C/C++那么嚴謹復(fù)雜拜姿,它也可以做得很簡潔烙样。從那以后,我就愛上了動態(tài)語言蕊肥,愛上了腳本語言谒获。很多人說動態(tài)語言雖然簡潔,但性能上太差,呵呵究反,那只是曾經(jīng)寻定,現(xiàn)在的動態(tài)語言不僅本身進行了足夠的性能優(yōu)化,而且自己要是主動去進行優(yōu)化精耐,那性能絕對比得上C和C++寫出來的程序狼速。
Go、Dart卦停、CoffeeScript向胡、Lua、Lisp惊完,雖然很多我都聽過僵芹,而且也看到很多人在用,但由于目前我精力有限小槐,暫時沒有學(xué)習(xí)新語言的打算拇派。作者的Ruby語言,我也未曾接觸過凿跳,看完本書件豌,我對其有了一定的認識,很強大控嗜,但我學(xué)過Python茧彤,我覺得世界上沒有比Python更簡潔的語言了,而且Python很重要的一個特性是強制縮進疆栏,所以看看網(wǎng)上的Python代碼曾掂,幾乎不會看見某些人所寫的C/C++那種格式混亂的代碼。在未來壁顶,如果有一門新的語言誕生并得到很好的發(fā)展珠洗,那么他一定是吸收了眾多語言的優(yōu)點,并在此基礎(chǔ)之上擁有了自己獨一無二的特性博助,比如垃圾回收险污,比如異常處理等。
關(guān)于未來
元編程富岳、云計算、大數(shù)據(jù)拯腮、多核時代窖式,挑戰(zhàn)MySQL的NoSQL,隨著摩爾定律漸漸地被顛覆动壤,新的時代已經(jīng)到來了萝喘。我們不可能掌握所有的技能,但所有技能我們都應(yīng)該去學(xué)習(xí)一下
時代在召喚~~~~~~~~~
補充一下在書中所看到的我以前并未接觸過的知識點:
- DSL(Domain Specific Language,特定領(lǐng)域語言):XML、JASON阁簸、SQL爬早、正則表達式等都屬于外部DSL,而內(nèi)部DSL是在現(xiàn)有語言中實現(xiàn)DSL启妹,
Programming is a rocess of designing DSL for your own application(編程就是為自己的應(yīng)用程序設(shè)計DSL的過程)
- 元數(shù)據(jù):描述數(shù)據(jù)所具有的結(jié)構(gòu)的數(shù)據(jù)筛严,也就是關(guān)于數(shù)據(jù)本身的數(shù)據(jù)
- 元編程:用程序來編寫程序
- Roma(Rakuten On-Memory Architecture):一種鍵-值存儲數(shù)據(jù)庫這種數(shù)據(jù)庫把所有的數(shù)據(jù)都存放在內(nèi)存中,采用環(huán)狀的分布式架構(gòu)饶米,在運行中可自由增減節(jié)點
- C10K問題:在同時連接到服務(wù)器的客戶端數(shù)量超過10000個的環(huán)境中桨啃,即便是硬件性能足夠,依然無法正常提供服務(wù)檬输,這是“想當(dāng)然編程”的副產(chǎn)品數(shù)據(jù)庫的
- ACID特性:Atomicity(原子性)照瘾、Consistency(一致性)、Isolation(隔離性)和Durability(持久性)
- NoSQL:是一種數(shù)據(jù)庫的總稱丧慈,主要代表有ROMA(Rakuten On-Memory Architecture)這樣的鍵-值存儲型數(shù)據(jù)庫和MongoDB這樣的面向文檔數(shù)據(jù)庫(存儲的是擁有結(jié)構(gòu)的文檔)