日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《黑客与画家》读书笔记(四)

發(fā)布時間:2023/12/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《黑客与画家》读书笔记(四) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 摘錄

? ? 機器語言

? ??機器語言和匯編語言的共同問題就是,只能讓大多數(shù)計算機做一些很簡單的事情。編程語言的一個重要特點:代碼越多,越難避免bug,也越難發(fā)現(xiàn)bug。

? ? 高級語言

? ? 高級語言使程序更簡短,更具有可移植性。高級語言的實現(xiàn)方法有編譯器和解釋器,編譯器是先將整個程序全部翻譯成機器語言,然后再運行。解釋器的作用是實時地將代碼解釋為相應(yīng)的機器語言,然后一行行運行。

? ? 開放源碼

? ? 開放源碼對軟件有更大的控制權(quán),可以修改軟件、重新編譯。開放源碼的優(yōu)勢在于所有人都可以參與解決bug。

? ? 語言的戰(zhàn)爭

? ? 一些黑客只喜歡自己用的語言,反感其他所有的語言。另一些黑客則說所有的語言都一樣。事實介于這兩個極端之間。語言之間確實有差別,但是很難確定地說明哪—種語言是最好的。

? ? 抽象性

? ??高級語言比匯編語言更接近人類語言,有利于編程,但如果關(guān)注運行速度,那么最好使用接近機器的語言。

? ? 語言的分歧

? ??有些人認為編程語言應(yīng)該防止程序員干蠢事,另一些人則認為程序員應(yīng)該可以用編程語言干一切他們想干的事,前者的代表是Java語言,后者的代表是perl語言。

? ? 面向?qū)ο缶幊?/strong>

? ??面向?qū)ο缶幊痰膬?yōu)點在于,如果需要修改程序,只需要增加相應(yīng)的代碼,可以不修改程序的其他部分。但反對者認為這種方法往往導(dǎo)致寫出性能不佳甚至有副作用的代碼。應(yīng)該使用允許你面向?qū)ο缶幊痰恼Z言。至于最后到底用不用則是另外一個問題了。

? ? 設(shè)計自己的語言

? ??一些自己設(shè)計的語言內(nèi)核設(shè)計得并非很好,但是卻有著無數(shù)強大的函數(shù)庫,可以用來解決特定的問題,這些庫本身可能比核心的語言還要重要。自己設(shè)計語言使得編程語言多樣化,語言之間存在很大區(qū)別。

? ? 百年后的編程語言

? ??編程語言存在一個進化的脈絡(luò),思考在整個進化過程中,某一種語言的位置,爭取找到編程語言進化的主干,選擇那些靠近主干的語言,有利于當前的編程。認清進化的主干就不僅有助于識別現(xiàn)存的優(yōu)秀語言,還可以把它當作設(shè)計語言的指南。

? ? 內(nèi)核最小、最干凈的編程語言才會存在于進化的主干上。一種語言的內(nèi)核設(shè)計得越小、越干凈,它的生命力就越頑強。

? ? 語言聚合

? ??出現(xiàn)聚合是編程語言進化與生物學(xué)進化的主要區(qū)別,編程語言之所以可能出現(xiàn)聚合,一個原因是它的概率空間較小,另一個原因是它的突變不是隨機的。語言的設(shè)計者們總是有意識地借鑒其他語言的設(shè)計思想。

? ? 運行速度

? ??基本可以斷定未來計算機的運行速度一定會快得多,這將實質(zhì)性地改變編程的基本規(guī)則。如果其他條件不變,現(xiàn)在被認為運行速度慢的語言將來會有更大的發(fā)展空間,但是一些應(yīng)用程序依然會對運行速度有很高的要求。當運行速度大幅提高時,如何才能充分利用是一個值得深思的問題。

? ? 目前的一些以加快運行速度為目的、卻使得編程語言的語義大大復(fù)雜的行為,對未來的編程來說也是不明智的。當速度不是最關(guān)鍵的因素,通常不需要考慮硬件層面上的微觀管理。

? ? 語言靈活性

? ? 語言設(shè)計時,對實現(xiàn)方式少作限制還會使得程序具備更大的靈活性。語言的規(guī)格發(fā)生變化不僅是無法避免的,也是合理的。

? ? 軟件層次

? ??在應(yīng)用軟件與硬件之間設(shè)置很多的軟件層,也是未來的發(fā)展趨勢。即使是應(yīng)用程序,使用多層形式開發(fā)使得程序可重用性就越好。

? ? 并行計算

? ??由于硬件性能的大幅提升,除了一些特殊的應(yīng)用程序,很多情況下并行計算可能不再使用。

? ? 語言數(shù)量

? ??由于硬件性能提高,程序員根據(jù)使用目的在運行速度和編程便利性之間做出不同的取舍,使得編程語言數(shù)目變得更多,但是常用語言可能只有很少幾種。

2. 思考

? ? 百年前的生活是什么樣?學(xué)術(shù)一些的人翻翻歷史書,偷懶一些的人看看電視劇。但史書是勝利者書寫的,古裝劇比倫理劇還荒唐,所以盡信書不如無書,相信劇不如無劇。想要知道真相,只有獨立思考,認真分辨吧!

? ? 百年后的生活是什么樣?很多人也會天馬行空的想一想,汽車會飛,大樓會動,資源枯竭,星際移民,會有個來自星星的你,會有個穿越時間的他。思維發(fā)散一些,腦洞開大一些,都沒關(guān)系,未來嘛,一切皆有可能。但是,未來的編程語言是什么樣子的,這個......真沒想過。

? ? 計算機的歷史并不長,我們熟知它的產(chǎn)生,了解它的進展。編程語言也隨之進步,從底層到高層,從簡單到復(fù)雜,林林總總,數(shù)目繁多。我選擇學(xué)習(xí)主流的語言作為工具,以輔助目前的研究,為未來的工作做好準備,但未來的語言會是怎樣呢?通過這次的閱讀,才真正有了些許的概念。

? ? 未來編程語言的一些趨勢是很容易想象的,如靈活性強,語言種類多,運行速度快,內(nèi)核簡潔,但是一些變化是不容易看出來的,如軟件層次增加,編程語言扁平化趨勢,以及大規(guī)模并行計算的需求減少。

? ? 當然,這只是筆者的一家之言,究竟如何,還需要認真思考,但是有一點是可以肯定的,摒棄早期編程語言的影響,根據(jù)編程語言進化的脈絡(luò),發(fā)揮想象力,就可以設(shè)計出適合編程,效果良好的語言。

?

?

總結(jié)

以上是生活随笔為你收集整理的《黑客与画家》读书笔记(四)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。