我該學(xué)習(xí)哪門編程語言

本篇博客是《軟件開發(fā)者成長完全攻略》系列翻譯文章第 4 章勿侯。
原文地址:What Programming Language Should I Learn

軟件開發(fā)領(lǐng)域的新手中最常見的一個(gè)問題就是他們應(yīng)該學(xué)習(xí)哪門編程語言。對于某些有抱負(fù)的開發(fā)者,這個(gè)問題成為他們從未跨過去的絆腳石环肘。

我曾經(jīng)教授過很多的開發(fā)者磅氨,他們總是自己進(jìn)行預(yù)測或者在做了決定后變卦擅这,從一門語言換到另一門語言驯击,他們永遠(yuǎn)都在擔(dān)心自己做錯(cuò)了選擇硝清。

如果你也曾經(jīng)為選擇哪門編程語言而感到過焦慮,那么這一章就是為你而寫的脚囊。

首先,我會先消除你的某些疑慮桐磁;接著悔耘,我會給出一些實(shí)際的考慮因素來幫助你選擇自己將要進(jìn)行學(xué)習(xí)的第一門編程語言。

選擇哪門語言其實(shí)并沒有那么重要

是的我擂,你沒有看錯(cuò)標(biāo)題衬以。

學(xué)習(xí)哪門語言其實(shí)并不像你認(rèn)為的那樣重要。我說這句話是有很多原因的校摩,但是其中最重要的一個(gè)就是雖然有這么多的編程語言看峻,但是他們從本質(zhì)上來講都是很相似的。

是的衙吩,他們的語法可能是不一樣的互妓。是的,編程語言也許看起來都是不一樣坤塞。他們可能擁有完全不同的特性集合冯勉。但是,在本質(zhì)上摹芙,所有的編程語言都比你第一眼看到的那樣有更多的共同點(diǎn)灼狰。

幾乎所有的編程語言都有基礎(chǔ)的分支結(jié)構(gòu),循環(huán)浮禾,方法或者函數(shù)調(diào)用以及在更高層次組織代碼的方法交胚。有很多的編程語言甚至相似到只要你掌握了其中一門,你就基本上掌握了其它幾門盈电。

C# 跟 Java 就是一個(gè)很好的例子蝴簇。同時(shí),JavaScript 也跟他們兩個(gè)中的任意一個(gè)很相像挣轨。

掌握第一門編程語言永遠(yuǎn)都是最困難的军熏。一旦你掌握了一門編程語言,再學(xué)習(xí)第二門就會簡單很多了卷扮。當(dāng)你掌握了二門或者以上的編程語言后荡澎,之后學(xué)習(xí)編程語言的難度對你來說都是呈指數(shù)型下降的均践。

當(dāng)你對一門編程語言一知半解 —— 或者是一無所知 —— 的時(shí)候,上面的這些話聽起來似乎有點(diǎn)不可信摩幔,但是在我的職業(yè)生涯過程中彤委,我學(xué)習(xí)過至少 10 門不同的編程語言,我可以向你保證或衡,只有第一焦影、第二門語言是最難的。

編程語言遠(yuǎn)比你想像中的來得相似封断,你也可以很容易地在不同語言間進(jìn)行切換斯辰,然后之后再繼續(xù)進(jìn)行學(xué)習(xí)。這意味著坡疼,即使你已經(jīng)開始學(xué)習(xí)一門語言了彬呻,但是如果發(fā)現(xiàn)它并不是你的菜,或者你找了一份需要使用不同語言開發(fā)的工作柄瑰,這都不是什么大問題闸氮。你為學(xué)習(xí)第一門編程語言做的很多努力都不會白費(fèi)。

你也會發(fā)現(xiàn)很多開發(fā)者的職位 —— 特別是像微軟以及 Google 這樣的大公司 —— 沒有要求一門具體的編程語言教沾。

甚至是我自己參加過的很多面試蒲跨,他們只要求我使用自己覺得最舒服的語言來解決提出的編程問題,而并沒有限制我一定要掌握哪門具體的語言授翻。

選擇一門編程語言的考量

因此或悲,我真心覺得選擇哪門語言作為你第一門學(xué)習(xí)的語言,并沒有那么重要藏姐。但是如果你還是覺得難以抉擇隆箩,接下來我會跟你一起從幾個(gè)方面進(jìn)行考量。

工作前景及未來

我會說羔杨,對于你們中的大多數(shù)人捌臊,首要的考慮因素是這門語言能幫你找到什么樣的工作,以及這門語言的未來發(fā)展如何兜材。

就目前而言理澎,對于大多數(shù)的流行語言來說,在任何時(shí)候都有大量的工作可供選擇曙寡。不同語言的流行程度可能會上升或下降糠爬,但是如果你關(guān)心的工作的問題,你可能會從那些最主流举庶,最受歡迎的語言中進(jìn)行選擇执隧。

在本書寫作的時(shí)候,最流行的語言有這些:

  • C#
  • Java
  • Python
  • Ruby
  • JavaScript
  • C++
  • PHP

對于使用這些語言的開發(fā)者來說,他們永遠(yuǎn)都不會缺工作镀琉。這意味著峦嗤,取決于你現(xiàn)在處于世界上的哪個(gè)地方,如果你不想進(jìn)行搬遷的話屋摔,你就需要更加認(rèn)真的進(jìn)行選擇烁设。

例如,你現(xiàn)在住在阿肯色州的某個(gè)小城鎮(zhèn)钓试,那里只有一家技術(shù)公司装黑,而且這家技術(shù)公司全部使用 Java 進(jìn)行開發(fā),那么我會建議你去學(xué)習(xí) Java弓熏。

我可以假設(shè)你們中的大多數(shù)都不是這種情況恋谭,但是如果這真的是你現(xiàn)在的處境,那么我猜你的決定已經(jīng)相當(dāng)明顯了挽鞠。

如果你樂意搬遷或者計(jì)劃做一個(gè)自由職業(yè)者箕别,你可以選擇一門比較古怪,比較小眾的語言滞谢,然后成為這門語言為數(shù)不多的專家中的一個(gè)。

但是除抛,如果你是一個(gè)剛剛起步的新手狮杨,我還是建議你選擇一門比較主流的語言。

除了從工作的角度進(jìn)行考量到忽,你還要考慮這門編程語言的未來發(fā)展橄教。

在本書寫作的時(shí)候,Objective-C 可能不是入門的一個(gè)好選擇喘漏,因?yàn)榇蠖鄶?shù)的 iOS 開發(fā)者正在轉(zhuǎn)向 Swift 护蝶,并且 Apple 正在大力推薦 Swift 編程語言

如果你已經(jīng)在使用 Objective-C 進(jìn)行開發(fā)了翩迈,你也不用擔(dān)心持灰;現(xiàn)在還有大量的基于 Objective-c 的應(yīng)該需要進(jìn)行維護(hù)。只是它可能不是未來的最佳選擇负饲。

當(dāng)然堤魁,我們都沒有水晶球,所以無法預(yù)測哪門語言會流行返十,而哪門語言會衰落妥泉。不久之后,我預(yù)測了 JavaScript 的衰亡洞坑,但是這并沒有發(fā)生盲链。

我曾經(jīng)去參加了一個(gè)開發(fā)者大會,其中一位發(fā)言人是 Objective-C 的合作發(fā)明者,大概是 20 世紀(jì) 80 年代的時(shí)候刽沾。

這位發(fā)言人本慕,Tom Love,寫了一本斷定 JavaScript 已死的書悠轩。然而间狂,在我這本書寫作的時(shí)候,JavaScript 已經(jīng)是世界上最受歡迎的五大編程語言之一火架。(我還聽說有人聲稱它已經(jīng)到了前三鉴象。)這里的關(guān)鍵點(diǎn)就在于,我們永遠(yuǎn)無法預(yù)測什么事會發(fā)生何鸡。

Ruby 在它流行之前也沉寂了好幾年纺弊。JavaScript 可以說是一門設(shè)計(jì)得最爛的語言,一開始只用于在 web 頁面上顯示一些彈窗和警告框骡男;而現(xiàn)在它成為最受歡迎的語言之一淆游。

所以,不要去預(yù)測未來隔盛,除非你真的有一個(gè)水晶球犹菱。如果真是這樣,快忘了編程吧吮炕,華爾街才是你的歸宿腊脱。

Hey Jhon

你為何要如此厭惡 JavaScript 呢?JavaScript 并不令人討厭龙亲,你才是陕凹。

我知道這聽起來像是我在搞事,并且讓你覺得我在針對 JavaScript鳄炉《虐遥可能這會讓你感覺 JavaScript 給我的童年帶來的創(chuàng)傷,并留下了深深的情感傷疤拂盯。

好吧佑女,讓我跟你講一個(gè)關(guān)于 JavaScript 是如何產(chǎn)生的小故事 —— 這個(gè)故事很短,請?jiān)试S我把它講完谈竿。

1995 年的五月份珊豹,當(dāng)時(shí)還在 Netscape 工作的 Brendan Eich 利用了 10 天的時(shí)間發(fā)明了 JavaScript,并將它作為網(wǎng)頁設(shè)計(jì)師與兼職開發(fā)者都能容易上手的“膠水語言”榕订。(這段信息是從 Wikipedia 上獲取的店茶。)因此,我想表達(dá)的只是 JavaScript 這門語言一開始并沒有經(jīng)過慎重考慮劫恒,然后在 10 天之內(nèi)被拼湊出來了贩幻。

這就是事實(shí)轿腺,這就是發(fā)生過的事 —— 不要忽略這些信息。說過這些之后丛楚,我想告訴你族壳,我并不厭惡 JavaScript。我只是不認(rèn)為它是一門設(shè)計(jì)優(yōu)雅的語言趣些,并且我不是特別喜歡它仿荆,僅此而已。<br />
目前坏平,新版本的 JavaScript (現(xiàn)在被稱為 ECMAScript)已經(jīng)好多了拢操,并且它原本的缺陷部分也被做了很多增強(qiáng)的改進(jìn)。

實(shí)際上 —— 我不想承認(rèn)這一點(diǎn) —— 我現(xiàn)在已經(jīng)有點(diǎn)喜歡它了...僅僅是有一點(diǎn)而已舶替。

盡管如此令境,我的觀點(diǎn)并沒有那么重要。

我是一個(gè)務(wù)實(shí)的人顾瞪。顯然 JavaScript 是一門非常流行的語言舔庶,并且它幾乎無處不在。

所以陈醒,不管我喜歡還是討厭惕橙,我都得擁抱它 —— 同時(shí)保留我噴它的權(quán)力。

如果到現(xiàn)在你還沒有被我說服钉跷,你可以自己考慮下吕漂,為什么關(guān)于 JavaScript 最暢銷的書叫作 JavaScript: The Good Parts

你感興趣的技術(shù)

當(dāng)你選擇編程語言的時(shí)候尘应,另一個(gè)很好的考量標(biāo)準(zhǔn)就是:你對哪項(xiàng)技術(shù)最感興趣。

如果你從技術(shù)開始進(jìn)行選擇吼虎,那么編程語言就更加容易確定了犬钢。我知道很多程序員對開發(fā) Android 應(yīng)用感興趣,因?yàn)樗麄儫釔圻@項(xiàng)技術(shù)思灰。

對于他們中的大部分人來說玷犹,Java 會是一個(gè)好選擇,因此它是開發(fā) Android 應(yīng)用的原生語言洒疚。(雖然歹颓,你也可以使用很多其它的語言開發(fā) Android 應(yīng)用,如 C#油湖,Ruby 甚至是 JavaScript巍扛。)根據(jù)自己最感興趣的技術(shù)來選擇第一門編程語言是很有好處的,因?yàn)閷W(xué)習(xí)第一門編程語言會有相當(dāng)?shù)碾y度乏德。

你對自己所學(xué)習(xí)的東西越感興趣撤奸,越興奮吠昭,你就能越容易地堅(jiān)持下去,并克服在這過程中最困難的學(xué)習(xí)曲線胧瓜。

我真的很想開發(fā) iOS 應(yīng)用矢棚,因?yàn)槲覄倓偸盏搅艘话?iPhone 手機(jī),我現(xiàn)在對這項(xiàng)技術(shù)感到十分興奮府喳。這種興奮感可以激勵(lì)我蒲肋,讓我更容易地去學(xué)習(xí) Objective-C 并構(gòu)建自己的第一個(gè) iOS 應(yīng)用。

如果我對這項(xiàng)技術(shù)沒有那么感興趣钝满,那么我可能不會堅(jiān)持這么久兜粘。不要害怕基于自己的興趣以及興奮感來選擇一門編程語言。你的激情可以帶你渡過學(xué)習(xí)過程中最困難的一段路程舱沧。

難度級別

另外一個(gè)主要的考慮因素就是難度級別妹沙。某些編程語言就是要比別的語言更難學(xué)。通常情況下熟吏,我不建議從 C++ 開始學(xué)習(xí)距糖,因?yàn)楦渌Z言比起來,C++ 學(xué)習(xí)難度要高很多牵寺。

C++ 需要你手動管理內(nèi)存悍引、指針以及一些其它一些很麻煩的構(gòu)造方法,這些東西很容易將一個(gè)初學(xué)者嚇退帽氓。

它是一門很棒的語言 —— 到現(xiàn)在依然是我的最愛 —— 但不是一門好學(xué)的語言趣斤。

一門類似 C#,Lua黎休,Python浓领,Ruby 或者 PHP 的語言,會讓你的入門變得更加容易势腮。甚至還有專門為初學(xué)者量身定做的語言联贩,比如說 Scratch 或者 Basic。

如果你是真心想學(xué)習(xí) C++捎拯,我并不會打擊你泪幌,但是至少你要知道你將面對的是什么,或者你會愿意選擇一門更加容易的入門的語言署照。

可用的資料

你可能還需要考慮學(xué)習(xí)這門語言時(shí)在網(wǎng)上能找得到的資料祸泪。有一些比較奇葩的語言可能沒有多少相關(guān)的書籍,在線視頻建芙,或者其它可用的資源没隘,這就會導(dǎo)致他們更難以學(xué)習(xí)。

其它更流行的編程語言就會有大量的在線教程禁荸,可供參加的培訓(xùn)機(jī)構(gòu)升略,或者其它可利用的學(xué)習(xí)資料微王,所以在初學(xué)一門語言時(shí),請務(wù)必先確認(rèn)這門語言有足夠多的學(xué)習(xí)資料品嚣。

現(xiàn)在網(wǎng)上已經(jīng)有了大量針對于初學(xué)者的教程炕倘,因此關(guān)于資料的考量已經(jīng)不如以前那么重要了,但是它確實(shí)還是值得考慮的一點(diǎn)翰撑。

你可能還需要考慮的一點(diǎn)就是你現(xiàn)有的可用資源罩旋,比如說電腦(學(xué)習(xí) iOS 需要用 Mac),或者軟件等眶诈。一門難學(xué)的語言可能會因?yàn)榫W(wǎng)上有大量相關(guān)的交互式在線教程而變得更容易涨醋。

你可以使用瀏覽器直接在線學(xué)習(xí) JavaScript 而不用在電腦上安裝任何東西。而類似 C++ 這樣的語言需要下載并安裝一些軟件逝撬,這一步對于初學(xué)者來說可能不是那么簡單浴骂。

關(guān)于可用資源的最后一點(diǎn),你應(yīng)該考慮到自己認(rèn)識的人宪潮。

誰是你可以尋求幫助的人溯警?有誰可以在你陷入困境的時(shí)候?yàn)槟憬鉀Q困惑,或者可以幫助你更快速地學(xué)習(xí)嗎狡相?

在選擇第一門編程語言的時(shí)候梯轻,我當(dāng)然不會把資源當(dāng)成最大的考慮因素,但是它也確實(shí)是我們需要認(rèn)真考慮的一點(diǎn)尽棕。

適用性

最后喳挑,讓我們談?wù)勥m用性。

不同的編程語言會在各自不同的環(huán)境和技術(shù)中有更好的適用性滔悉。

比如說在寫作本書的時(shí)候伊诵,得益于微軟或者 Xamarin(現(xiàn)在也是微軟的)這樣的公司,C# 就是一門適用性很強(qiáng)的語言回官。如果你學(xué)習(xí)了 C#曹宴,它不僅僅可以用于 Windows 和 web 編程,它現(xiàn)在可以適用于任何平臺孙乖,因此它的適用性是相當(dāng)高的。

你可以使用 C# 來編寫 Linux 或者 Mac 應(yīng)用份氧,甚至你可以完全使用 C# 來開發(fā) Android 和 iOS 應(yīng)用唯袄。

還有其它很多的語言也具有很高的適用性。

舉例來說蜗帜,Ruby 也被移植到了許多不同的開發(fā)平臺恋拷,并且被用于很多的技術(shù)領(lǐng)域中。JavaScript 也是一門適用性很高的語言厅缺。你甚至可以使用 JavaScript 來控制 Arduino 開發(fā)板和控制機(jī)器人蔬顾。(如果你想知道怎么做的話宴偿,可以參考我朋友 Derick Bailey 的文章。)相對而言诀豁,其它語言就沒有這么高的適用性了窄刘。

如果你學(xué)習(xí)的是 R 或者 Go,那么你就會被限制于這些語言設(shè)計(jì)時(shí)所針對的技術(shù)和平臺舷胜。

有越來越多的語言 —— 特別是流行的語言 —— 被移植到了更多的開發(fā)平臺上娩践,并且可以在不同的技術(shù)中使用了,然而確實(shí)還是有一些語言沒有這樣多才多藝烹骨。

所以翻伺,如果你今天想成為一個(gè) web 開發(fā)者,而明天想學(xué)習(xí) Android 開發(fā)沮焕,或者你就是想涉及不同的平臺和技術(shù)吨岭,那么你就要考慮下選擇學(xué)習(xí)的這門語言有多大的適用性了。

關(guān)于選擇編程語言的最后一些想法

盡管我給了你一些在選擇你的第一門編程語言時(shí)需要考慮的問題峦树,但是我想再次強(qiáng)調(diào)的是具體學(xué)習(xí)的語言并沒有那么重要辣辫。

更重要的是你選擇一門語言,并堅(jiān)持學(xué)習(xí)它足夠長的時(shí)間空入,克服它的學(xué)習(xí)曲線并熟練地使用它络它。

很多剛起步的開發(fā)者都會感到很沮喪,因?yàn)樗麄冇X得自己根本就沒有掌握它歪赢。關(guān)于這一點(diǎn)化戳,我會在下一章“學(xué)習(xí)你的第一門編程語言”中討論到。

只要穩(wěn)住埋凯,并堅(jiān)持學(xué)習(xí)下去点楼,你一定會越來越熟練。我向你保證白对。

在某個(gè)階段它會變得無聊掠廓,或者你覺得自己選錯(cuò)了語言,導(dǎo)致你在不同的語言中來回切換甩恼,但是 —— 請相信我 —— 這并不是一個(gè)好主意蟀瞧。

最后,請考慮一下条摸。當(dāng)我剛剛開始學(xué)習(xí)編程時(shí)悦污,深入了解一門語言是開發(fā)者要掌握的一項(xiàng)最重要的技能。我會買一堆的 C++ 書籍钉蒲,并嘗試去學(xué)習(xí)這門語言的所有細(xì)節(jié)切端。

而在今天,這不再是一門如此重要的技能了顷啼。

現(xiàn)在的編程都是基于更高層的抽象踏枣,更多的是使用這門語言的庫或者框架昌屉,而非語言本身的特性。當(dāng)然茵瀑,了解一門語言 —— 并且很好地掌握它 —— 依然很重要间驮,但是精通一門語言的重要性已經(jīng)不如以往了。

這就是為什么我讓你不要那么糾結(jié)于第一門學(xué)習(xí)的語言瘾婿。你所需要做的就是學(xué)習(xí)一門語言然后堅(jiān)持下去 —— 至少在目前應(yīng)該如此蜻牢。

關(guān)注

如果你喜歡這篇文章,可以關(guān)注我的公眾號偏陪,隨時(shí)獲取我最新的博客文章抢呆。

qrcode_for_gh_6e8bddcdfca3_430.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市笛谦,隨后出現(xiàn)的幾起案子抱虐,更是在濱河造成了極大的恐慌,老刑警劉巖饥脑,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恳邀,死亡現(xiàn)場離奇詭異,居然都是意外死亡灶轰,警方通過查閱死者的電腦和手機(jī)谣沸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笋颤,“玉大人乳附,你說我怎么就攤上這事“槌危” “怎么了赋除?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長非凌。 經(jīng)常有香客問我举农,道長,這世上最難降的妖魔是什么敞嗡? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任颁糟,我火速辦了婚禮,結(jié)果婚禮上喉悴,老公的妹妹穿的比我還像新娘棱貌。我一直安慰自己,他們只是感情好粥惧,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布键畴。 她就那樣靜靜地躺著最盅,像睡著了一般突雪。 火紅的嫁衣襯著肌膚如雪起惕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天咏删,我揣著相機(jī)與錄音惹想,去河邊找鬼。 笑死督函,一個(gè)胖子當(dāng)著我的面吹牛嘀粱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辰狡,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼锋叨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宛篇?” 一聲冷哼從身側(cè)響起娃磺,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叫倍,沒想到半個(gè)月后偷卧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吆倦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年听诸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚕泽。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晌梨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赛糟,到底是詐尸還是另有隱情派任,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布璧南,位于F島的核電站掌逛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏司倚。R本人自食惡果不足惜豆混,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望动知。 院中可真熱鬧皿伺,春花似錦、人聲如沸盒粮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妒穴,卻和暖如春宋税,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背讼油。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工杰赛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人矮台。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓乏屯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瘦赫。 傳聞我的和親對象是個(gè)殘疾皇子辰晕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

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