看完《盜夢空間》后感覺這個片子是給程序員們拍的了。進入一層夢境是如何映射到編程?是遞歸?是循環?還是簡單的函數調用?
對于一個進入夢境中的人來說是遞歸,一層層push進了再一層層pop出來,對于很多進入夢境中的人來說,是函數調用,因為停在某一層夢境中的人與其他進入更深夢境中的人是同時工作的。更加確切的說,進入夢境中的人算是程序中設定的全局變量,夢境中虛擬出來的人算是局部變量,而一個程序中一般不會只有一個全局變量,所以進入夢境不是遞歸操作而是函數調用了。每一個虛擬出來的夢境都是一個函數,可以由任何其他夢境任何時候調用(進入),進入此函數(夢境)的變量(人),一般還是要返回的,就是函數返回的參數了,此變量返回時作為人并非沒有任何變化,比如Cobb給Ariadne在夢境中注入了一個思想,那么Ariadne作為變量返回時就是經過處理的了。一般來說編程中函數知名是返回參數的,要么是直接處理后得到的終值,要么是得到的一個標志變量,但也可以不返回參數,也就是void型的,對應到電影中就是:進入此夢境中的人可以返回,可以不返回,永遠留在夢境中。
為什么進入一個夢境中比前一個夢境(或許是現實)時間要變慢了?或許可以這么理解:如果我們把現實世界看作主函數(main函數)的話,那么我們一般不喜歡在一條主線中寫太長的代碼,那么我們希望寫一個函數來調用,寫好函數之后,在此流程中直接寫一個函數調用語句就行了,具體的過程就由此函數來完成,我們默認允許此函數用長一些的時間去完成邏輯功能,當然很多情況下處理時間越短越好。
進入夢境的時候會選擇進入誰的夢境,被選定的這個人在程序中就對應一個主要的變量,這個人在夢境中如果被殺掉,就對應此函數中的主要變量有問題,不符合此函數(夢境)對此變量(人)的要求。此時就要throw exception并且return回到上層夢境(函數)。
設計夢境的人就是編寫此程序的程序員。此人也可以進入他設計的夢境,而程序員面對自己的程序也要不斷深入,因為要找各種bug.如果此程序員留在了夢境中沒有出來,我們可以這樣理解,這個程序員出了問題或者說這個程序員寫的程序出了問題。所以說選擇一個好的造夢師(程序員)至關重要,所以cobb才會回到巴黎找他老師(也是父親?沒太弄清楚)要一個很聰明的學生,并把她培養成一個優秀的造夢師。cobb作為一個造夢師,自身條件是很好的,可是有一個致命的缺點:總是拋不掉自己過去的或是生活中或是夢境中做的不好的場景,并且這些場景會經常出現在新的夢境中。對應地,一個程序員,如果總是沿用自己過去寫過的程序,那些代碼段自己以前寫的時候或出現了問題或者問題沒有表現出來,但是在新的要求下并不符合要求了,或者寫新的程序時候總是沿用自己過去的編程思想,或許那些思想并不適用于新的情況。所以一個程序員很重要的一點是要打破自己的慣性思維,遇到問題即使跟以前遇到過的很像也要仔細地重新審視。打破常規,發散思維,這樣一個程序員才會有長足的發展。
本站關鍵詞:佛山網站設計 佛山網站建設 佛山網站制作 佛山網頁設計 佛山網絡公司 佛山建站公司 佛山動畫網站 網站建設
零度網絡提供佛山網站建設、高品質網站設計、FLASH動畫網站制作、平面設計及多媒體設計制作,歡迎咨詢!咨詢熱線:137-1543-1176 13715431176。
網頁設計
企業網站建設一條龍
找零度飛易網絡公司-fslingdu所做php
網站建設方案、
網站設計、
網站制作由
北京上海深圳龍崗衢州蘭州常州東營南通濟寧桂林淮安煙臺長春無錫天津昆山蘇州合肥貴洛陽昆明天津唐山泉州惠州萬州新鄉商丘臺州哈爾濱太原攝影海口隨州學校商丘廣東湖南廣西江西海南廣州企業中小企業武漢南山羅湖福田虎門肇慶汕尾汕頭廣州佛山成都杭州濟南重慶福州西安廈門昆山沈陽青島徐州鄭州南京寧南寧長沙大連淄博石家莊南昌溫州珠海番禺順德南三水高明中山東莞合肥江門嘉興西寧大良容桂倫教勒流陳村均安杏壇龍江樂從北滘祖廟石灣南莊等地區
企業網站建設(廣告)公司提供專業做網站價格規劃書及
營銷型網站制作,
網站建設基礎知識