2021-01-20

十年內(nèi)自學(xué)編程


彼得·諾維格


為什么大家都這么著急座泳?


走進(jìn)任何一家書店诞仓,您將看到如何在24小時內(nèi)教會自己Java,以及提供在幾天或幾小時內(nèi)教授C赁温、SQL坛怪、Ruby、算法等的無休止的變體股囊。亞馬遜高級搜索[標(biāo)題:教學(xué)袜匿,你自己,小時稚疹,自2000年以來居灯,發(fā)現(xiàn)512這樣的書祭务。在前十名中落竹,有九本是編程書(另一本是關(guān)于簿記的)文兢。類似的結(jié)果來自于將“自學(xué)”改為“學(xué)習(xí)”,或?qū)ⅰ靶r”替換為“天”窟赏。


結(jié)論是岩灭,要么人們急于學(xué)習(xí)編程拌倍,要么編程比其他任何東西都容易得多。費萊森等人在他們的“如何設(shè)計程序”(How To Design Program)一書中噪径,他們表示:“糟糕的編程很容易柱恤,白癡可以在21天內(nèi)學(xué)會它,即使他們是假人找爱」K常”這位狂暴的鵝漫畫也有自己的想法。



讓我們分析24小時內(nèi)自學(xué)C++這樣的標(biāo)題可能意味著什么:



自學(xué):在24小時內(nèi)车摄,你就沒有時間寫幾個重要的程序寺谤,從你的成功和失敗中吸取教訓(xùn)。您將沒有時間與有經(jīng)驗的程序員一起工作练般,并了解在C++環(huán)境中生活是什么感覺矗漾。總之薄料,你沒有時間學(xué)到很多東西敞贡。因此,這本書只能談?wù)撘环N膚淺的熟悉摄职,而不是一種深刻的理解誊役。正如亞歷山大·波普所說,一點點學(xué)習(xí)是一件危險的事情谷市。


C++:在24小時內(nèi)蛔垢,您可能可以學(xué)習(xí)C++的一些語法(如果您已經(jīng)知道另一種語言),但您無法了解如何使用該語言迫悠。簡單地說鹏漆,如果你是一個基本程序員,你可以學(xué)習(xí)用C++語法以Basic的方式編寫程序创泄,但是你不能知道C++實際上是好的(和壞的)什么艺玲。那有什么意義?AlanPerlis曾經(jīng)說過:“一種不影響你對編程的思考方式的語言是不值得知道的”鞠抑。一個可能的問題是饭聚,您必須學(xué)習(xí)一點C++(或者更可能的是,類似JavaScript或處理的東西)搁拙,因為您需要與現(xiàn)有工具接口來完成特定的任務(wù)秒梳。但是你不是在學(xué)習(xí)如何編程法绵,而是在學(xué)習(xí)如何完成這個任務(wù)。


在24小時內(nèi):不幸的是酪碘,這還不夠朋譬,正如下一節(jié)所示。


十年內(nèi)自學(xué)編程


研究人員(Bloom(1985)兴垦、Bryan&Harter(1899年)此熬、Hayes(1989)、Simmon&Chase(1973))已經(jīng)證明滑进,在包括國際象棋、音樂創(chuàng)作募谎、電報運(yùn)算扶关、繪畫、鋼琴演奏数冬、游泳节槐、網(wǎng)球以及神經(jīng)心理學(xué)和拓?fù)鋵W(xué)研究在內(nèi)的任何廣泛領(lǐng)域,都需要十年的時間才能發(fā)展出專門知識拐纱。關(guān)鍵在于深思熟慮的練習(xí):不只是一次又一次地去做铜异,而是用一項超出你目前能力范圍的任務(wù)來挑戰(zhàn)自己,嘗試它秸架,分析你在做的時候和之后的表現(xiàn)揍庄,并糾正任何錯誤。那就重復(fù)一遍东抹。再重復(fù)一遍蚂子。似乎沒有真正的捷徑:即使是莫扎特,他在4歲時是一個音樂天才缭黔,花了13年才開始創(chuàng)作世界級的音樂食茎。在另一種類型中,披頭士樂隊似乎以一連串的#1熱門和1964年的埃德·沙利文秀出現(xiàn)在現(xiàn)場馏谨。但從1957年起别渔,他們就一直在利物浦和漢堡打小俱樂部,雖然他們很早就有了很大的吸引力惧互,但他們的第一個重大成功哎媚,佩珀斯中士,在1967年被釋放了壹哺。


馬爾科姆·格拉德威爾(Malcolm Gladwell)推廣了這一理念抄伍,盡管他專注于1萬小時,而不是10年管宵。HenriCartier-Bresson(1908-2004)有另一個指標(biāo):“你的前10,000張照片是你最差的截珍∨噬酰”(他沒有預(yù)料到,使用數(shù)碼相機(jī)岗喉,一些人可以在一周內(nèi)達(dá)到這一目標(biāo)秋度。)真正的專業(yè)知識可能需要一生的時間:塞繆爾·約翰遜(1709-1784)說:“任何部門的卓越都只能靠一生的勞動才能實現(xiàn);不能以較低的價格購買钱床〖运梗”喬叟(1340-1400)抱怨道:“萊夫太短了,手藝太長了查牌∈缕冢”Hippocrates(公元前400年)以摘錄“Ars Longa,vita brevis”而聞名纸颜,這是較長的引語“Ars Longa兽泣,vita brevis,ocus o precep胁孙,實驗性的周膜唠倦,艱難的分枝”的一部分,在英語中涮较,它表現(xiàn)為“生命短稠鼻,工藝長,機(jī)會短暫狂票,實驗變化無常候齿,判斷困難”。當(dāng)然闺属,沒有一個數(shù)字是最終的答案:似乎不合理地假定所有技能(例如編程毛肋、下棋、跳棋和音樂演奏)都需要完全相同的時間來掌握屋剑,也不認(rèn)為所有人都需要完全相同的時間润匙。正如K·安德斯·愛立信(K.Anders Ericsson)教授所言,“在大多數(shù)領(lǐng)域唉匾,即便是最有才華的人孕讳,也需要多少時間才能達(dá)到最高水平。1萬小時的時間讓你感覺到巍膘,我們所說的每周10到20個小時厂财,有些人會認(rèn)為,那些天生最有天賦的人仍然需要達(dá)到最高水平峡懈×Пィ”


所以你想成為一名程序員


下面是我編程成功的秘訣:


對編程感興趣,并做一些肪康,因為它是有趣的荚恶。一定要保持足夠的樂趣撩穿,這樣你就會愿意投入你的10年/10,000小時。


節(jié)目谒撼。最好的學(xué)習(xí)方式是邊做邊學(xué)食寡。更嚴(yán)格地說,“在某一領(lǐng)域廓潜,個人的最高業(yè)績水平并不是隨著經(jīng)驗的擴(kuò)展而自動達(dá)到的抵皱,但即使是經(jīng)驗豐富的個人,也可以通過刻意改進(jìn)而提高業(yè)績水平辩蛋∩牖”(第366頁)和“最有效的學(xué)習(xí)需要一個明確的任務(wù),適當(dāng)?shù)碾y度水平悼院,為特定的個人擂错,信息反饋,并有機(jī)會重復(fù)和糾正錯誤樱蛤。”(第20-21頁)“實踐中的認(rèn)知:日常生活中的思想剑鞍、數(shù)學(xué)和文化”是這一觀點的有趣參考昨凡。


與其他程序員交談;閱讀其他程序蚁署。這比任何書籍或培訓(xùn)課程都更重要便脊。


如果你愿意,在一所大學(xué)(或更多的研究生院)待四年光戈。這會讓你獲得一些需要資格證書的工作哪痰,也會讓你對這個領(lǐng)域有更深入的了解,但如果你不喜歡上學(xué)久妆,你可以(用一些奉獻(xiàn)精神)獨自或在工作中獲得類似的經(jīng)驗晌杰。無論如何,光靠書本學(xué)習(xí)是不夠的筷弦±哐荩“計算機(jī)科學(xué)教育不能使任何人成為專業(yè)程序員,就像研究畫筆和顏料可以使人成為專業(yè)畫家一樣”烂琴,“新黑客詞典”的作者埃里克·雷蒙德說爹殊。我雇過的最好的程序員之一只有高中學(xué)位,他制作了很多很棒的軟件奸绷,有自己的新聞組梗夸,并且有足夠的股票期權(quán)來購買自己的夜總會。


與其他程序員一起完成項目号醉。在某些項目中做最好的程序員反症;在其他項目上做最差的程序員辛块。當(dāng)你是最好的,你可以測試你的能力來領(lǐng)導(dǎo)一個項目惰帽,并用你的遠(yuǎn)見激勵別人憨降。當(dāng)你是最壞的時候,你學(xué)會了主人做什么该酗,你學(xué)會了他們不喜歡做什么(因為他們讓你為他們做)授药。


工作項目后,其他程序員呜魄。理解別人寫的程序悔叽。看看當(dāng)原來的程序員不在的時候爵嗅,需要什么才能理解和修復(fù)它娇澎。想一想如何設(shè)計你的程序,讓那些在你之后維護(hù)它們的人更容易睹晒。


至少學(xué)習(xí)六種編程語言趟庄。包括一種強(qiáng)調(diào)類抽象的語言(比如Java或C++)、一種強(qiáng)調(diào)函數(shù)抽象(比如Lisp伪很、ML或Haskell)戚啥、一種支持語法抽象(比如Lisp)、一種支持聲明性規(guī)范(比如Prolog或C++模板)锉试、一種強(qiáng)調(diào)并行性(比如Clojure或Go)猫十。


記住,在“計算機(jī)科學(xué)”中有一個“計算機(jī)”呆盖。知道您的計算機(jī)執(zhí)行指令拖云、從內(nèi)存中獲取一個單詞(是否有緩存丟失)、從磁盤中讀取連續(xù)單詞以及尋找磁盤上的新位置需要多長時間应又。(答案在這里)


參與語言標(biāo)準(zhǔn)化工作宙项。它可能是ANSI C++委員會,也可能是決定您的本地編碼風(fēng)格將有2或4個空間縮進(jìn)水平株扛。不管是哪種方式杉允,你都可以了解到其他人在一種語言中喜歡什么,他們有多深席里,也許還有一點是關(guān)于為什么他們會這樣想的叔磷。


有良好的判斷力,盡快擺脫語言標(biāo)準(zhǔn)化的努力奖磁。


考慮到所有這些改基,僅僅通過書本學(xué)習(xí),你能走多遠(yuǎn)是值得懷疑的。在我的第一個孩子出生之前秕狰,我讀了所有的書稠腊,仍然覺得自己是一個無知的新手。30個月后鸣哀,當(dāng)我的第二個孩子即將出生時架忌,我是否又回到書本上復(fù)習(xí)了一下?沒有我衬。相反叹放,我依靠的是我個人的經(jīng)驗,這比專家們寫的幾千頁更有用挠羔,也更讓我放心井仰。


弗雷德·布魯克斯(FredBrooks)在他的文章“沒有銀彈”中指出了一個尋找優(yōu)秀軟件設(shè)計師的三部分計劃:


系統(tǒng)地盡早確定頂級設(shè)計師。


指派一位職業(yè)導(dǎo)師負(fù)責(zé)前景的發(fā)展破加,并仔細(xì)保存一份職業(yè)檔案俱恶。


為不斷成長的設(shè)計師提供互動和相互激勵的機(jī)會。


這假設(shè)有些人已經(jīng)具備了成為一名偉大設(shè)計師所必需的素質(zhì)范舀,其工作就是恰當(dāng)?shù)匾龑?dǎo)他們堅持下去合是。艾倫·佩利斯(AlanPerlis)更簡潔地說:“每個人都可以學(xué)會雕刻:米開朗基羅(Michelangelo)必須學(xué)會如何不去做,偉大的程序員也是如此锭环〈先”佩利斯說,偉大的球員有一些超越他們訓(xùn)練的內(nèi)在素質(zhì)田藐。但是質(zhì)量是從哪里來的呢?是天生的嗎吱七?或者他們是通過勤奮來發(fā)展的呢汽久?正如奧古斯特·古斯托(Ratatouille中虛構(gòu)的廚師)所言:“任何人都能做飯,但只有無畏的人才能做得很好踊餐【按迹”我認(rèn)為它更多的是愿意把一個人一生中的大部分時間花在深思熟慮的實踐上。但也許無畏是總結(jié)這一點的一種方式吝岭∪担或者,正如古斯托的批評家安東·伊戈所說:“不是每個人都能成為偉大的藝術(shù)家窜管,但偉大的藝術(shù)家可以來自任何地方散劫。”


因此幕帆,繼續(xù)購買Java/Ruby/Javascript/PHP書籍获搏;您可能會從中得到一些使用。但你不會在24小時或21天內(nèi)改變你的生活失乾,也不會改變你作為程序員的真正專業(yè)知識常熙。在過去的24個月里纬乍,努力工作,不斷提高裸卫,怎么樣仿贬?現(xiàn)在你開始有進(jìn)展了..。


參考文獻(xiàn)


布盧姆墓贿,本杰明(編輯)“發(fā)展青年人才”茧泪,巴蘭汀,1985年募壕。


布魯克斯调炬,弗雷德,沒有銀子彈舱馅,IEEE計算機(jī)缰泡,第20卷,第4期代嗤,1987年棘钞,第10-19頁。


Bryan干毅,W.L.&Harter宜猜,N.“電報語言研究:習(xí)慣層次的習(xí)得”,“心理學(xué)評論”硝逢,1899年姨拥,8,345-375。


海斯渠鸽,約翰R.叫乌,完全問題解決者勞倫斯厄爾鮑姆,1989年徽缚。


放大圖片作者:William G.&Simon憨奸,Herbert A.“象棋中的知覺”,“認(rèn)知心理學(xué)”凿试,1973排宰,4,55-81那婉。


“實踐中的認(rèn)知:日常生活中的思想板甘、數(shù)學(xué)和文化”,劍橋大學(xué)出版社详炬,1988年虾啦。


答案


典型PC上各種操作的大致時間:


執(zhí)行典型指令1/1,000,000,000秒=1納塞克


從L1高速緩存存儲器0.5納塞克中提取


支路誤判5納秒


從L2高速緩存存儲器7納塞克中提取


互斥鎖/解鎖25納塞克


從主存100納塞克中提取


在1Gbps網(wǎng)絡(luò)上發(fā)送2K字節(jié)20,000納秒


從內(nèi)存250,000納塞克中順序讀取1MB


從新磁盤位置(查找)獲取8,000,000納塞克


從磁盤按順序讀取1MB 20,000,000納塞克


將數(shù)據(jù)包US發(fā)送到歐洲,返回150毫秒=150,000,000納塞克


附錄:語言選擇


有幾個人問他們應(yīng)該先學(xué)哪種編程語言。沒有一個答案傲醉,但請考慮以下幾點:


利用你的朋友蝇闭。當(dāng)被問到“我應(yīng)該使用什么操作系統(tǒng),Windows硬毕,Unix還是Mac呻引?”時,我的回答通常是:“使用任何你的朋友使用的操作系統(tǒng)吐咳÷哂疲”你從朋友那里學(xué)到的優(yōu)勢將抵消操作系統(tǒng)之間或編程語言之間的任何內(nèi)在差異。還要考慮你未來的朋友:如果你繼續(xù)的話韭脊,你會成為程序員社區(qū)的一部分童谒。你所選擇的語言是有一個龐大的成長社區(qū),還是一個正在消亡的小群體沪羔?有沒有書籍饥伊,網(wǎng)站和在線論壇可以得到答案?你喜歡那些論壇上的人嗎蔫饰?


保持簡單琅豆。編程語言(如C++和Java)是為專業(yè)開發(fā)而設(shè)計的,由大量經(jīng)驗豐富的程序員組成篓吁,他們關(guān)心代碼的運(yùn)行時效率茫因。因此,這些語言具有為這些情況設(shè)計的復(fù)雜部分杖剪。你關(guān)心的是學(xué)習(xí)編程冻押。你不需要那種并發(fā)癥。你想要一種語言盛嘿,它被設(shè)計成一個簡單易學(xué)的語言洛巢,并被一個新的程序員記住。


玩孩擂。你更愿意學(xué)習(xí)彈鋼琴的哪一種方式:普通的狼渊,交互式的箱熬,在你一按下鍵就聽到每個音符的方式类垦,還是“分批”模式,只有在你唱完整首歌之后才能聽到音符城须?顯然蚤认,交互模式使鋼琴和編程更容易學(xué)習(xí)。堅持一種互動的語言糕伐,并使用它砰琢。


考慮到這些標(biāo)準(zhǔn),我對第一種編程語言的建議將是Python或Scheme。另一個選擇是Javascript陪汽,并不是因為它為初學(xué)者設(shè)計得非常好训唱,而是因為它有很多在線教程,比如Khan Academy的教程挚冤。但你的情況可能會有所不同况增,還有其他好的選擇。如果你的年齡是個位數(shù)训挡,你可能更喜歡愛麗絲澳骤、斯奎克或布洛克里(年長的學(xué)習(xí)者也會喜歡這些)。重要的是你選擇并開始澜薄。


附錄:書籍和其他資源


有幾個人問他們應(yīng)該從哪些書籍和網(wǎng)頁中學(xué)習(xí)为肮。我再說一遍,“光靠書本學(xué)習(xí)是不夠的”肤京,但我可以推薦以下幾點:


方案:計算機(jī)程序的結(jié)構(gòu)和解釋(Abelson&Sussman)可能是計算機(jī)科學(xué)的最佳入門颊艳,它確實教授編程作為理解計算機(jī)科學(xué)的一種方式。你可以在這本書上看到講座的在線視頻蟆沫,也可以在網(wǎng)上看到完整的文本籽暇。這本書具有挑戰(zhàn)性,并將淘汰出一些可能通過另一種方法獲得成功的人饭庞。


方案:如何設(shè)計程序(Felleisen等人)是關(guān)于如何以優(yōu)雅和實用的方式實際設(shè)計程序的最好的書籍之一戒悠。


Python:PythonProgramming:IntrotoCS(Zelle)是使用Python的一個很好的介紹。


Python:幾個在線教程可以在Python.org上找到舟山。


奧茲:計算機(jī)編程的概念绸狐、技術(shù)和模型(VanRoy&Haridi)被一些人視為現(xiàn)代阿貝爾森和蘇斯曼的繼承者。它是一個關(guān)于編程的偉大思想的旅行累盗,涵蓋的范圍比Abelson&Sussman更廣泛寒矿,而且可能更容易閱讀和跟蹤。它使用的一種語言若债,Oz符相,并不廣為人知,但作為學(xué)習(xí)其他語言的基礎(chǔ)蠢琳。<


注記


T.Capey指出啊终,亞馬遜上的完整問題解決方案頁面現(xiàn)在有“21天內(nèi)教你自己孟加拉語”和“教你自己語法和風(fēng)格”的書,在“為這個項目購物的顧客也在購買這些物品”部分下傲须。我想看那本書的人中有很大一部分是從這一頁來的蓝牲。感謝羅斯·科恩幫助希波克拉底。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泰讽,一起剝皮案震驚了整個濱河市例衍,隨后出現(xiàn)的幾起案子昔期,更是在濱河造成了極大的恐慌,老刑警劉巖佛玄,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硼一,死亡現(xiàn)場離奇詭異,居然都是意外死亡梦抢,警方通過查閱死者的電腦和手機(jī)欠动,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惑申,“玉大人具伍,你說我怎么就攤上這事∪ν眨” “怎么了人芽?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長绩脆。 經(jīng)常有香客問我萤厅,道長,這世上最難降的妖魔是什么靴迫? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任惕味,我火速辦了婚禮,結(jié)果婚禮上玉锌,老公的妹妹穿的比我還像新娘名挥。我一直安慰自己,他們只是感情好主守,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布禀倔。 她就那樣靜靜地躺著,像睡著了一般参淫。 火紅的嫁衣襯著肌膚如雪救湖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天涎才,我揣著相機(jī)與錄音鞋既,去河邊找鬼。 笑死耍铜,一個胖子當(dāng)著我的面吹牛邑闺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播业扒,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼检吆,長吁一口氣:“原來是場噩夢啊……” “哼舒萎!你這毒婦竟也來了程储?” 一聲冷哼從身側(cè)響起蹭沛,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎章鲤,沒想到半個月后摊灭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡败徊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年帚呼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皱蹦。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡煤杀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沪哺,到底是詐尸還是另有隱情沈自,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布辜妓,位于F島的核電站枯途,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏籍滴。R本人自食惡果不足惜酪夷,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孽惰。 院中可真熱鬧晚岭,春花似錦、人聲如沸勋功。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酝润。三九已至燎竖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間要销,已是汗流浹背构回。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留疏咐,地道東北人纤掸。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像浑塞,于是被迫代替她去往敵國和親借跪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 為什么大家都這么著急酌壕? 走進(jìn)任何一家書店掏愁,您將看到如何在24小時內(nèi)教會自己Java歇由,以及提供在幾天或幾小時內(nèi)教授C...
    康嘉富閱讀 299評論 0 1
  • 十年內(nèi)自學(xué)編程 彼得·諾維格 為什么大家都這么著急? 走進(jìn)任何一家書店果港,您將看到如何在24小時內(nèi)教會自己Java沦泌,...
    張小龍_aba0閱讀 87評論 0 1
  • 彼得·諾維格 為什么大家都這么著急? 走進(jìn)任何一家書店辛掠,您將了解如何在 24 小時內(nèi)自學(xué) Java谢谦,同時在幾天或幾...
    longlongKing閱讀 169評論 0 0
  • 為什么每個人都這么著急?走進(jìn)任何書店萝衩,您將看到如何在24小時內(nèi)自學(xué)Java回挽,以及無窮無盡的變體,可以在幾天或幾小時...
    函數(shù)解析式閱讀 159評論 0 0
  • 夜鶯2517閱讀 127,717評論 1 9