編程的美好世界

很有啟發(fā)的一篇關(guān)于編程的文章

2020-02-13閱讀?2200

編程究竟難在哪市埋?


1

“編程一點(diǎn)都不難刻蚯,它只是和你十幾年來在學(xué)校受的教育格格不入而已谋旦∈JВ”

第一次看到這句話,是在知乎問題“編程究竟難在哪里册着?”里一位名叫@ invalid s的高贊回答拴孤。

與也是這兩年才開始半路學(xué)編程的我,所感所悟不謀而合甲捏。

所以今天站在前人的肩膀上演熟,我想和大家好好聊聊“編程究竟難在哪?”這件事。

一司顿、難在我們從未接受過解決問題的訓(xùn)練

從小到大芒粹,我們受到的教育終極目的是有一個(gè):考取理想的學(xué)校。每一張張考卷都是一個(gè)個(gè)堆砌起來的知識點(diǎn):三角函數(shù)大溜,解析幾何化漆,數(shù)列,函數(shù)…...

這么多知識點(diǎn)钦奋,你需要做的是背下它們座云,或者說的更高級一點(diǎn)疙赠,理解它們。

即便是強(qiáng)調(diào)思辨和分析的“文科類”朦拖,也可以靠死記硬背答題模板拿分圃阳,就連作文都要有統(tǒng)一的標(biāo)準(zhǔn)。


我記得有一年考試璧帝,題目是對冰心的一首小詩寫評論:

“墻角的花捍岳,當(dāng)你孤芳自賞的時(shí)候,世界就變小了裸弦∷钔”

出題老師原意是讓大家批判孤芳自賞,但有同學(xué)偏偏贊美孤芳自賞理疙,贊美這種潔身自好的精神晕城。而這種文章要一律判作不及格。

年紀(jì)尚小的我們甚至都來不及懷疑“為什么這個(gè)學(xué)生說得沒有道理窖贤?為什么所有的人都只能有一樣的價(jià)值觀呢砖顷?”因?yàn)榍f軍擠獨(dú)木橋,保險(xiǎn)起見的我們只需要按照所理解下來的知識赃梧,將一塊塊碎片滤蝠,根據(jù)正確而萬能的模板拼好,才容易拿下滿分授嘀。

我們非常擅長理解和記憶物咳,并井井有條地套公式。

這一切蹄皱,到了學(xué)編程這里览闰,統(tǒng)統(tǒng)不奏效。

我大一的時(shí)候剛開始接觸C語言巷折,非常痛苦压鉴。那會兒,沒有任何計(jì)算機(jī)基礎(chǔ)锻拘,編程語法大多靠背——C++語法油吭、操作系統(tǒng)各項(xiàng)定義、計(jì)算機(jī)網(wǎng)絡(luò)各種協(xié)議署拟、常量婉宰、作用域、多態(tài)...........

身邊不少同學(xué)也這樣推穷,“高考精神”還深深印烙在骨子里芍阎,我們都認(rèn)為學(xué)習(xí)一門編程語言最重要的就是掌握其語法,所以為了將語法爛熟于心缨恒,最直接的方法就是記憶谴咸。

結(jié)果可想而知,即便拿了相應(yīng)的學(xué)分骗露,沒有人敢說自己會編程岭佳。

我們接受了十幾年的應(yīng)試教育,為了最大化公平萧锉,考試必須有一套清晰的標(biāo)準(zhǔn)珊随。正是如此,我們更看中重應(yīng)試技巧而非知識本身柿隙,學(xué)習(xí)變成了追求標(biāo)準(zhǔn)答案叶洞,求知變成了死記硬背。

絕大部分人禀崖,難以形成系統(tǒng)的學(xué)習(xí)方法論的意識衩辟,以至于很多人一旦脫離試卷,在社會中面對實(shí)際問題的時(shí)候波附,完全沒有一套行之有效的方法論支撐其解決問題艺晴。

而編程的核心,不是編程掸屡,不是語法封寞,甚至不是算法或數(shù)據(jù)結(jié)構(gòu)本身,恰恰是如何分解問題——發(fā)現(xiàn)規(guī)律建立解決問題模型仅财,映射到合適的數(shù)據(jù)結(jié)構(gòu)和算法上狈究,最后才根據(jù)算法寫程序?qū)崿F(xiàn)。

基于此盏求,卡耐基梅隆大學(xué)計(jì)算機(jī)的一名華裔教授提出「編程思維」這個(gè)概念抖锥。


他定義編程思維——能夠把現(xiàn)實(shí)生活中的復(fù)雜問題,逐步拆分成可理解的小問題风喇。

1宁改、Decomposition,即拆分魂莫。根據(jù)已有的知識和經(jīng)驗(yàn)还蹲,把問題拆分。

比如我想喝咖啡耙考,那我可以請求你:“可以幫我倒杯咖啡嗎谜喊?”但這句話如果想讓電腦聽懂,我得先告訴它哪個(gè)是“杯子”倦始、哪個(gè)是“咖啡”斗遏、什么是“倒”,然后再告訴它怎么去倒鞋邑,比如先直走5米诵次,左轉(zhuǎn)75度账蓉,左臂下放50度……

現(xiàn)實(shí)生活,每一個(gè)復(fù)雜問題逾一,都是基于解決一個(gè)個(gè)被拆分的小問題而被解決的铸本。


比如說,超級計(jì)算機(jī)感覺很復(fù)雜最后無非是解決一個(gè)帶寬問題遵堵、一個(gè)存儲問題箱玷;

比如說,解決碳排無從下手陌宿,實(shí)際上是解決人口锡足、服務(wù)、能源壳坪、單位能源的碳排放這幾個(gè)問題舶得。

2、Pattern Recognition弥虐,即模式識別扩灯。根據(jù)新問題和以前解決過的問題的相似性,舉一反三琢磨出規(guī)律霜瘪。

假如你需要畫100只貓珠插,你會怎么辦?找100只貓來挨個(gè)臨挠倍浴捻撑?

對于計(jì)算機(jī)來說,你需要找出貓的“模式”缤底。


你要知道貓是專屬的毛顾患,眼睛,尾巴个唧,四條腿等江解,按照這個(gè)“模式”,你才可以“批量”畫貓——你不用每次畫一個(gè)新動物徙歼,只需要變換局部特征:黃白條的貓還是黑貓犁河,長尾巴的貓還是短尾貓。

3魄梯、Abstraction桨螺,即抽象,將問題里涉及的數(shù)據(jù)酿秸,抽象到數(shù)據(jù)結(jié)構(gòu)(變量灭翔,數(shù)組,鏈表等)辣苏,把數(shù)據(jù)處理過程可重復(fù)執(zhí)行部分抽象成函數(shù)模塊肝箱。

聽起來很復(fù)雜吧哄褒?這是一個(gè)過濾的過程,整個(gè)過程你要聚焦重要的關(guān)鍵信息狭园,忽視無用細(xì)節(jié)读处,這樣才能通過認(rèn)知問題的核心本質(zhì),幫助我們形成解決問題的構(gòu)想唱矛。

比如,當(dāng)我們看到這一房子井辜,我們看到的是:


但在建筑師的眼中绎谦,它可能是這樣的:


建筑師通過自己的經(jīng)驗(yàn),抽象出房子里面具體的構(gòu)造粥脚。

這一步窃肠,我們雖然幾乎難以在應(yīng)試教育的學(xué)習(xí)方法中獲得,但我們能從不斷地編程訓(xùn)練中去培養(yǎng)抽象思維刷允。會編程的人冤留,往往能透過一個(gè)應(yīng)用表象,看到背后實(shí)現(xiàn)的步驟树灶。

4纤怒、Algorithms,即算法天通。通過循環(huán)執(zhí)行泊窘,根據(jù)前三步的分析成果,設(shè)計(jì)步驟像寒,寫出算法烘豹,從而解決問題。

這一整個(gè)過程诺祸,我們看到所謂的編程語言和語法携悯,在最后才發(fā)揮出作用。

所以當(dāng)我們覺得學(xué)編程難筷笨,是因?yàn)槲覀冞€未從過去根深蒂固的學(xué)習(xí)習(xí)慣中抽離出來憔鬼,凡是需要打破習(xí)慣的事,必是不易的奥秆。

就像很多剛剛出國讀書的孩子逊彭,常常在面對外國老師問出「why」的問題時(shí),馬上一種驚慌失措的表情构订,滿腦子想著自己是不是又說錯(cuò)答案了侮叮,不知道老師這樣問僅僅是為了引導(dǎo)他們拓展思維。

我們真實(shí)的社會和生活也是不易的悼瘾,它們沒有標(biāo)準(zhǔn)答案囊榜,許多人終其一生沒有追尋問題的能力审胸,無法理解世界的復(fù)雜。

而編程卸勺,是你找出解決方法的能力砂沛,把現(xiàn)實(shí)問題轉(zhuǎn)換為代碼邏輯的能力。只有認(rèn)清這一點(diǎn)曙求,你才能更好地攻克它碍庵。

二、難在我們從未學(xué)過創(chuàng)造

清華大學(xué)前校長陳吉寧曾提過一個(gè)觀點(diǎn):

清華大學(xué)里有很多“A型學(xué)生”悟狱,但未來社會最需要的是“X型學(xué)生”静浴。

“A型學(xué)生”,指的是傳統(tǒng)觀念里的“好學(xué)生”挤渐,他們的成績總是能得“A”苹享。

“X型學(xué)生”與之不同,他們的成績并不一定拔尖浴麻,但愿意承擔(dān)創(chuàng)新風(fēng)險(xiǎn)得问,勇于嘗試新鮮事物。

兩者最重要的差別软免,在于創(chuàng)造力宫纬。

可是我們連作文還不敢寫得太跳,生怕閱卷的是個(gè)老古董或杠,大筆一揮哪怔,讓你再考一年。創(chuàng)造力向抢,更是我們在學(xué)校想都不敢想的事认境。

絕大部分學(xué)生的思維,早已在填鴨式的教學(xué)中挟鸠,變成了一個(gè)只會收納外部知識的容器叉信,根本無法用所學(xué)的東西創(chuàng)造出任何東西來。

所以艘希,當(dāng)我們開始學(xué)編程硼身,面對“Hello world.”這個(gè)等著我們創(chuàng)造的世界,其實(shí)是非常茫然的覆享。


因?yàn)榫幊虥]有“題型”和“公式”能把你解決問題的過程簡化成填空佳遂,編程提出的問題基本都是空而泛,需要你根據(jù)腦子里的邏輯推斷撒顿,利用所學(xué)編程語言的各項(xiàng)功能組織成代碼丑罪,來解決問題。

整個(gè)世界的運(yùn)轉(zhuǎn),都是靠你的大腦想象出來的吩屹。這是編程的難跪另。

但是,只要你明知其中不易煤搜,仍有一腔驍勇免绿,你可以嘗試在編程的世界中,保持“實(shí)驗(yàn)者心態(tài)”擦盾,不斷探索自己的想法嘲驾,質(zhì)疑自己的假設(shè),從所犯錯(cuò)誤中學(xué)習(xí)寶貴的經(jīng)驗(yàn)厌衙,就一定能在編程的魔法世界中得到更多寶藏距淫。


如果你看過近期大火的《樂隊(duì)的夏天》,那么在參賽的三十一支樂隊(duì)中婶希,你一定會被其中一支叫做“刺猬”的樂隊(duì)所打動。

刺猬樂隊(duì)的子健蓬衡,他是臺上的狂躁主唱喻杈,臺下的學(xué)霸碼農(nóng)。

即使每天都在和冰冷的數(shù)字打交道狰晚,但作為程序員的他筒饰,體內(nèi)有被保護(hù)得非常好的創(chuàng)造力,使得他擁有滿腔的詩意與細(xì)膩的內(nèi)心壁晒,更可以譜寫出令人折服瓷们,引人共鳴,充滿無限色彩的音樂作品秒咐。

三谬晕、難在我們從未需要如此深刻了解世界

在我工作以后,曾受過一名編程大佬指點(diǎn)携取,他說了一句讓我印象深刻的話:

“所有的程序攒钳,都是建立在自然之上,我們現(xiàn)在所學(xué)的編程雷滋,和自然是一體的不撑。”

舉兩個(gè)小例子:

C語言冒泡排序法晤斩,它的原理是來自汽水中的氣泡焕檬,水中常常有許多小小的氣泡,嘩啦嘩啦飄到上面來澳泵。而組成小氣泡的二氧化碳比水要輕实愚,所以小氣泡可以一點(diǎn)一點(diǎn)向上浮動。

在C語言中,這種排序算法的每一個(gè)元素都可以像小氣泡一樣爆侣,根據(jù)自身大小萍程,一點(diǎn)一點(diǎn)向著數(shù)組的一側(cè)移動。

(圖片來源于網(wǎng)絡(luò))

人工神經(jīng)網(wǎng)絡(luò)兔仰,則是依靠一種類似于大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)茫负,進(jìn)行信息處理的數(shù)學(xué)模型。


它們都受到了自然的啟發(fā)乎赴。

學(xué)編程忍法,往往學(xué)的也不僅僅是計(jì)算機(jī)本身,而是將各行各業(yè)榕吼,結(jié)構(gòu)力學(xué)饿序,生物細(xì)胞,光學(xué)聲學(xué)……等千百萬個(gè)行業(yè)羹蚣,抓住它們的重點(diǎn)原探,迅速理解并且教給CPU,讓它代替人類工作顽素。

尤其是身處信息時(shí)代咽弦,計(jì)算機(jī)是信息處理的核心,商業(yè)胁出、農(nóng)業(yè)型型、工業(yè)、教育等全蝶,都被計(jì)算機(jī)技術(shù)推動著進(jìn)步闹蒜,如果能知道計(jì)算機(jī)是怎么做到這一切的,即知道這里蘊(yùn)含的編程思維是什么抑淫,才能給個(gè)人在所處行業(yè)的發(fā)展帶來幫助绷落。否則,就只能浮于表面地應(yīng)用現(xiàn)成軟件而已丈冬。

這是編程的第三難嘱函。應(yīng)試教育標(biāo)準(zhǔn)化的課堂,正好背離了這點(diǎn)埂蕊。

從前的課堂里往弓,為了實(shí)現(xiàn)教學(xué)效益化,將課程進(jìn)行了劃分蓄氧。

遺傳學(xué)被歸入了生物課函似,概率這個(gè)概念被歸入了數(shù)學(xué)教育,然而遺傳學(xué)實(shí)際上是對概率的應(yīng)用喉童。同理撇寞,物理明明需要應(yīng)用代數(shù)和微積分,它卻與這兩門課程脫節(jié),成了獨(dú)立的學(xué)科蔑担。

仿佛每個(gè)知識只存在于真空中牌废,于外界事物毫無關(guān)聯(lián)。

這些劃分限制了學(xué)生的理解啤握,讓學(xué)生對世間萬物運(yùn)行規(guī)律的理解產(chǎn)生了偏差鸟缕。

于是,為了了解每個(gè)“獨(dú)立”的知識排抬,我們接收各種各樣精細(xì)化加工的知識:推演好的理論懂从、公式,講義蹲蒲、ppt番甩、難點(diǎn)總結(jié)、高分模板届搁,我們無需知道這些公式是怎么推導(dǎo)出來的缘薛,只要運(yùn)用公式去解題就好了。

久而久之卡睦,我們認(rèn)為學(xué)語文就是語文掩宜,數(shù)學(xué)就是數(shù)學(xué),甚至我們對世界的認(rèn)知么翰,只是基于“知識共同體”,對于許多現(xiàn)象無須究其根本辽旋,自動達(dá)成共識浩嫌。


什么叫知識共同體?

史蒂文·斯洛曼和菲利普·費(fèi)恩巴赫的《知識的錯(cuò)覺》一書提出了“知識共同體”补胚。

知識共同體由某一知識領(lǐng)域相互聯(lián)系的行為體組成的码耐,人類社會本身就是一個(gè)龐大的知識共同體系統(tǒng)。

為了人與人之間的相互協(xié)作溶其,人們逐漸根據(jù)不同人擅長的領(lǐng)域進(jìn)行分工骚腥。時(shí)至今日,如果我們家的鎖壞了瓶逃,我們會去找鎖匠束铭;如果有人生病了,我們會去找醫(yī)生厢绝。不同的工種的人契沫,掌握了不同的知識。于是昔汉,人們被歸入一個(gè)個(gè)不同的群體懈万,這就是所謂的“知識共同體”。

我們以為自己非常了解世間萬事萬物,其實(shí)是個(gè)錯(cuò)覺会通,事實(shí)上我們腦袋里存著的知識微不足道口予,全靠相互依存和形成的認(rèn)知。


就好比中世紀(jì)的人們相信地球是平的涕侈,而現(xiàn)代的我們相信地球是圓的沪停,并非由于我們大多數(shù)人能夠給出基于物理學(xué)的解釋,而是現(xiàn)代科學(xué)讓我們相信了這個(gè)基本事實(shí)驾凶。

即便日常生活中充滿了各種各樣的奇跡牙甫,也因?yàn)樗究找姂T的緣故,很多人甚至沒有意識到它們是奇跡:

我們坐擁空調(diào)暖氣调违,搭乘高鐵飛機(jī)窟哺,手握平板手機(jī), 搜索查詢問題技肩,享受生活之安全愜意且轨,當(dāng)整個(gè)世界的知識就在指尖之時(shí),我們仿佛真的認(rèn)為自己博學(xué)多聞虚婿,其實(shí)我們只是活在在知識共同體里旋奢。

這也是為什么我們以為掌握了知識,其實(shí)沒有——

考完試以后然痊,我們會忘記大部分所學(xué)的知識至朗;

開會討論出很多點(diǎn)子,但一到執(zhí)行的時(shí)候剧浸,就故態(tài)復(fù)萌锹引,還是不知道從哪里入手,典型的“一聽就會唆香,一做就廢”嫌变。

回到學(xué)編程。

之所以感覺那么難躬它,正是因?yàn)樗辉试S我們喪失獨(dú)立并深入探究知識細(xì)節(jié)的能力腾啥,不允許我們冠以籠統(tǒng)的態(tài)度求知,因?yàn)橛?jì)算機(jī)聽不懂我們模棱兩可的語言冯吓。


程序員需要探其根本倘待,理解每一個(gè)概念的來由、定義和用途桑谍;需要多學(xué)科延柠、深入而原始了解這個(gè)世界:

他要懂“生物”:不同的技術(shù)構(gòu)成不同的生態(tài)系統(tǒng),不同的生態(tài)系統(tǒng)有不同的規(guī)則锣披。

他要懂“化學(xué)”:各類系統(tǒng)和語言的關(guān)鍵性質(zhì)贞间,提供能寫出優(yōu)秀程序的原料贿条;

他要懂“歷史”:技術(shù)從哪里來,要到哪里去增热;

他甚至還要懂“藝術(shù)”:寫程序?qū)Φ闷鹱约旱难劬φ裕霎a(chǎn)品對得起用戶。

……

編程世界是真實(shí)世界的縮影峻仇。

四公黑、尾聲

所以,你說編程難嗎摄咆?編程一點(diǎn)都不難凡蚜,用電腦聽得懂的語言,告訴它幫你做你想要做的事情吭从,只要認(rèn)真學(xué)朝蜘,誰都可以。

難就難在涩金,"學(xué)以致考"和"學(xué)以致用"是不一樣的谱醇;記憶和創(chuàng)造是不一樣的;學(xué)好學(xué)科和理解世界是不一樣的步做。

當(dāng)然副渴,并非要徹底否定應(yīng)試教育。在中國教育資源極其不平均全度、經(jīng)濟(jì)文化撕裂的大生態(tài)下煮剧,以考試為目的的教育,提供了一套非常清晰的評判標(biāo)準(zhǔn)将鸵,通過分?jǐn)?shù)這個(gè)顯性的指標(biāo)來篩選和劃分學(xué)生群體轿秧,選拔出社會精英,可能是當(dāng)下最公平的取舍了咨堤。

只是時(shí)代在不斷的發(fā)展,無論是學(xué)校漩符,家長還是孩子一喘,都應(yīng)該反思一下現(xiàn)在的所接受的教育形式,如何發(fā)揮出每一個(gè)自己的個(gè)性嗜暴,讓他們成長為更好的人——學(xué)編程的過程會給你提供答案凸克。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市闷沥,隨后出現(xiàn)的幾起案子萎战,更是在濱河造成了極大的恐慌,老刑警劉巖舆逃,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚂维,死亡現(xiàn)場離奇詭異戳粒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)虫啥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門蔚约,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涂籽,你說我怎么就攤上這事苹祟。” “怎么了评雌?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵树枫,是天一觀的道長。 經(jīng)常有香客問我景东,道長砂轻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任耐薯,我火速辦了婚禮舔清,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘曲初。我一直安慰自己体谒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布臼婆。 她就那樣靜靜地躺著抒痒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颁褂。 梳的紋絲不亂的頭發(fā)上故响,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音颁独,去河邊找鬼彩届。 笑死,一個(gè)胖子當(dāng)著我的面吹牛誓酒,可吹牛的內(nèi)容都是我干的樟蠕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼靠柑,長吁一口氣:“原來是場噩夢啊……” “哼寨辩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起歼冰,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤靡狞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后隔嫡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甸怕,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甘穿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蕾各。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扒磁。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖式曲,靈堂內(nèi)的尸體忽然破棺而出妨托,到底是詐尸還是另有隱情,我是刑警寧澤吝羞,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布兰伤,位于F島的核電站,受9級特大地震影響钧排,放射性物質(zhì)發(fā)生泄漏敦腔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一恨溜、第九天 我趴在偏房一處隱蔽的房頂上張望符衔。 院中可真熱鬧,春花似錦糟袁、人聲如沸判族。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽形帮。三九已至,卻和暖如春周叮,著一層夾襖步出監(jiān)牢的瞬間辩撑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工仿耽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留合冀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓项贺,卻偏偏與公主長得像水慨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子敬扛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

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