小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

“Linux之父”Linus Torvalds論編程之美:在計(jì)算機(jī)的世界,你就是造物主

 長沙7喜 2021-04-25

圖片

作者:Linus Torvalds(“最偉大程序員”之一,對(duì) Linux 內(nèi)核開發(fā)起著至關(guān)重要的作用)

譯者:賀佳

原文:The Beauty of Programming

雖然還不知道怎樣去解釋我對(duì)編程的迷戀,但是我想盡量把這種感受傳遞給你。對(duì)于一些編程者來說,這世上再?zèng)]有比它更有趣的事情了。這可比下棋強(qiáng)多了,你可以自己制定規(guī)則,并且利用它,獲得一切想得到的結(jié)果。

不過,在旁人看來,編程可能是世界上最無聊的東西了。

編程最初讓人興奮的點(diǎn)很容易解釋:只要告訴計(jì)算機(jī)做什么,它就會(huì)一一照辦,一絲不茍、始終不渝、并且絕無抱怨。

這本身就很有趣。

當(dāng)然,一味地盲從雖然最初令人著迷,但顯然單靠這一點(diǎn),并不能讓人終生為伴。編程的迷人之處在于,在讓計(jì)算機(jī)執(zhí)行指令之前,你得弄明白怎么做。

個(gè)人而言,我堅(jiān)信計(jì)算機(jī)科學(xué)與物理學(xué)有諸多共同點(diǎn)。兩者都在一個(gè)相當(dāng)基礎(chǔ)層面的探討世界的運(yùn)行規(guī)則。在物理學(xué)領(lǐng)域,人們要研究世界如何構(gòu)成,而在計(jì)算機(jī)科學(xué)中,你可以創(chuàng)造世界。

在計(jì)算機(jī)的世界里,你就是“造物主”,你主宰一切的發(fā)生。如果足夠優(yōu)秀,你甚至可以成為“上帝”,當(dāng)然,是就這個(gè)小世界而言的。

我這么說可能冒犯了世上一半的人。

但事實(shí)便是如此。你可以創(chuàng)造屬于自己的世界,對(duì)你唯一的限制就是機(jī)器的性能,很多時(shí)候你會(huì)發(fā)現(xiàn),也可能是你自己的能力。

想想樹屋吧。你可以造一個(gè)功能齊備、結(jié)構(gòu)穩(wěn)定還帶著活動(dòng)門的樹屋。人人都知道樹屋是簡陋還是精致,要看怎么在搭屋的樹上進(jìn)行創(chuàng)作。這關(guān)乎藝術(shù)和工程學(xué)的結(jié)合。這也是編程如此引人入勝又令人充滿滿足感的原因之一。這種感覺僅次于有趣、漂亮或者令人驚嘆。

它還可以訓(xùn)練創(chuàng)造力。

最初吸引我參與編程的是,想要了解計(jì)算機(jī)工作原理的過程。最大的樂趣之一是,我發(fā)現(xiàn)計(jì)算機(jī)就像數(shù)學(xué):你可以用其規(guī)則創(chuàng)造屬于你自己的世界。在物理學(xué)中,人們要受到既有規(guī)則的束縛,但數(shù)學(xué)不同,和編程一樣,只要自洽,一切皆可行。數(shù)學(xué)不必受外部邏輯的約束,但它必須有自身邏輯。每一個(gè)數(shù)學(xué)家都知道,你確實(shí)可以設(shè)立一組“3+3=2”的方程。事實(shí)上,你可以做任何想做的事,但隨著所創(chuàng)造的這個(gè)“世界”日漸復(fù)雜,你必須要小心地保持它們邏輯上的一致性。為了這個(gè)小小“世界”的精致美好,不能有任何疏漏。這就是編程的工作原理。

人們對(duì)計(jì)算機(jī)著迷的原因之一是,它能使人感受自己創(chuàng)造出的新世界,去了解什么是可能的。數(shù)學(xué)上,人們能在腦子里聯(lián)想。比如,提到幾何形狀,大多數(shù)人會(huì)想到歐幾里得幾何,而計(jì)算機(jī)可以幫助人們實(shí)現(xiàn)所想不同幾何形狀的可視化,它們可都不是歐幾里得幾何。

利用計(jì)算機(jī),你可以進(jìn)入這些虛擬世界,并且實(shí)實(shí)在在看到它們的樣子。還記得Mandelbrot set基于Benoit Mandelbrot方程的分形圖像嗎?

它們就是純數(shù)學(xué)世界的視覺表現(xiàn),這在計(jì)算機(jī)出現(xiàn)之前是無法想象的。

Mandelbrot隨意為他的世界編造了些不存在的規(guī)則,與現(xiàn)實(shí)世界無關(guān),制定了這些任意規(guī)則,但事實(shí)證明,這些規(guī)則所創(chuàng)造的模式令人著迷。運(yùn)用計(jì)算機(jī)和編程,你可以建立一個(gè)全新的世界,有時(shí),這個(gè)模式真是很美。

大多數(shù)情況下,你并沒有在做上面所說的事。你只是在簡單寫個(gè)程序完成某個(gè)特定任務(wù)。

此時(shí),你并不是在創(chuàng)造一個(gè)新世界,而是在解決計(jì)算機(jī)世界中的問題。這個(gè)問題要想辦法解決,而只有某一類的人才會(huì)坐在屏幕前盯著屏幕思考這些問題,像我這樣的“書呆子”。

操作系統(tǒng)是計(jì)算機(jī)的基礎(chǔ),而創(chuàng)造一個(gè)操作系統(tǒng)則是計(jì)算機(jī)領(lǐng)域的終極挑戰(zhàn)。當(dāng)你創(chuàng)建操作系統(tǒng)的時(shí)候,你就是在創(chuàng)造一個(gè)世界,在這個(gè)“世界”中,所有計(jì)算機(jī)程序基本上都會(huì)實(shí)時(shí)運(yùn)行,而你則在制定規(guī)則,規(guī)定什么合適,什么可以做,什么不能做。程序來具體運(yùn)行,但操作系統(tǒng)是最基礎(chǔ)的。這就像是你在制定這片“土地”上的憲法,其他計(jì)算機(jī)上運(yùn)行的程序則是普通法。

有時(shí)候,某條規(guī)則講不通,但是“通”的是你努力追求的。

你希望能看到解法,并且發(fā)現(xiàn)自己通過正確方式得到了正確答案。

還記得學(xué)校里那些總能做對(duì)題的人嗎?他們比別人做得快,之所以會(huì)這樣,是因?yàn)樗麄儾⒉蛔非筮@個(gè)。他們并不是在學(xué)如何解決問題,而只是在以正確的方式思考問題。一旦有了結(jié)果,就非常完美。

在計(jì)算機(jī)中也是如此。你可以用蠻力,愚蠢地對(duì)付問題,直到它不再是問題,或者找到正確的方法,讓問題自己消失。換一種方式看問題,你會(huì)頓悟:它之所以是問題,是因?yàn)榭创姆绞藉e(cuò)了。

最好的還是數(shù)學(xué)中的一個(gè)例子。偉大的德國數(shù)學(xué)家高斯(mathematician Carl Friedrich Gauss)小時(shí)候,某天,老師很無聊,為了使學(xué)生專心,決定讓他們從1加到100。他希望學(xué)生們花一整天算完。

沒想到,這位初出茅廬的數(shù)學(xué)家五分鐘就交卷了,答案完全正確:5050。這道題的解法并不是將所有數(shù)字順序一一相加,這樣既笨拙又勞神。高斯發(fā)現(xiàn),將1和100相加可以得到101,然后2和99相加也是101,3和98也是,直到50和51相加得到101。僅僅幾秒鐘,他注意到正好50對(duì)101,因此答案是5050。

也許這個(gè)故事是虛構(gòu)的,但是道理很清楚:偉大的數(shù)學(xué)家并沒有采用漫長而無聊的方式解決問題,他看到了問題背后的真正規(guī)律,并且運(yùn)用該規(guī)律用更好的方式找到了答案。

在計(jì)算機(jī)科學(xué)領(lǐng)域也是如此。當(dāng)然,你可以寫一個(gè)程序來計(jì)算總和。在現(xiàn)在的電腦上,也就是一瞬間的事。但是一個(gè)偉大的程序員只要夠聰明,就知道答案是什么。他知道要寫一個(gè)漂亮的程序,用一種新的方法來解決問題,最終,這也是正確的方法。

還是很難解釋,連著把頭往墻上撞三天還找不出更好的、更漂亮的解決方法這件事有什么好迷人的,但是一旦你找到了,那真是世界上最棒的感覺了。

Refenrence:

https://www./cs/resources/beauty-of-programming

學(xué)術(shù)頭條-生命科學(xué)讀者交流群來啦!

為了給大家?guī)砀鼉?yōu)質(zhì)的體驗(yàn)

本群采取實(shí)名驗(yàn)證入群

歡迎生命科學(xué)、醫(yī)學(xué)相關(guān)話題的討論、交流和分享

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多