使用Kotlin語言兩年後,我有話要說

使用Kotlin語言已經兩年了,它已經成爲了我使用頻率僅次於Java的編程語言。在此期間,不少人也談了本身的一些使用感覺。但我想,我是最有發言權的。迄今爲止,我已經在三個生產環境應用中使用了Kotlin語言。所以,但願個人這些感想可以給你一些啓發。

Q:是一個什麼機緣讓你開始決定使用Kotlin?

若是我沒有記錯的話,大概在2016年3月份的時候忽然收到一條來自Bugly的推送,文章裏面介紹了Kotlin語言。看完這篇文章,我發現Kotlin與Swift語言很像,剛好那段時間正好迷Swift。而更讓人驚喜的是,Kotlin語言能夠用來開發Android。所以,忽然有了一種熱血沸騰的感受。迅速花了幾天時間瀏覽了官方文檔,便開始在代碼中使用Kotlin。

Q:你使用Kotlin主要用於生產環境仍是僅僅用於平時測試?

我使用Kotlin幾乎全是在生產環境,第一個加入了Kotlin代碼的應用是在一家金融公司。最後的成品是一半Kotlin,一半Java。第二個項目是一個P2P的應用,在這個項目中,做爲項目的負責人。我在工程的腳本中嚴格限制必須使用Kotlin,不然將致使編譯不經過。所以,這個P2P的應用是個人第一個全Kotlin語言的項目,目前這個項目還在線上運行。最後一個項目也是使用了全Kotlin語言,是一個社交類的應用,這個應用目前也在線上運行。其實,除了這些以外,在個人一些開源項目中,也大量使用了Kotlin語言。目前,在碼雲私有庫中還存在着大量使用Kotlin語言開發的項目沒有對外公佈。

Q:使用Kotlin語言的過程當中,你遇到過什麼問題嗎?

若是說徹底沒有遇到問題,那是騙人的!由於我算是Kotlin語言的早期用戶,在我使用Kotlin語言的時候,Android Studio的Kotlin插件還不成熟,常常出現奔潰。一旦出現奔潰,代碼提示就悲劇了,不得不手敲,編譯以後再看問題。另外,當時還遇到過一個問題是:當Kotlin與Realm數據庫配合使用的時候,始終報錯。至於其餘問題,貌似沒有遇到過。

Q:有人說,Kotlin是一門新語言,不免存在一些Bug?對於這種說法,你怎麼看?

首先,並不否定,Kotlin語言可能存在着一些未知的Bug。但我認爲,說這句話的人,更多的是對本身的不自信。他懼怕新東西,他在擔憂,忽然又要學習一門新的語言,該怎麼辦?萬一短期內學不會,怎麼辦?實際上,Kotlin的Bug是幾乎能夠忽略不計的。我認爲,這大概和你買彩票中五百萬的機率差很少。爲何這麼說呢?我給你舉個例子。你確定知道Linux,可你知道Linux第一個版本的版本號是多少嗎?是0.01。第一個版本是由Linus一我的開發出來的,它僅僅在屏幕顯示了一行Hello world。Linus認爲這個版本的Linux距離正式版本很很遠,所以將其命名爲0.01。事實也的確如此,不知道經歷了多少個版本,最終在1994年Linux 1.0版本終於發佈了,這是一個歷史性的時刻!可我想說的是,你知道對於一個龐大的系統來講,1.0意味着什麼嗎?用兩個字來回答就是:穩定!這中間經歷了無數人夜以繼日的努力,也經歷了無數次的內測、公測,這意味着幾乎99%以上的Bug它已經幫你排除掉了,你能夠徹底放心使用了。Kotlin也是同樣,Kotlin語言項目開始於2010年,想象一下,一個六、7年的項目,並且仍是由全球最嚴謹的一批程序員開發的產品。你有什麼理由不去相信呢?所以,我認爲所謂的Bug論,不過是懼怕和恐懼的代名詞罷了!

Q:有人說,由於Kotlin語言接入須要成本,公司會限制程序員使用Kotlin,你怎麼看?

這是有道理的!在中國,技術的跟進老是慢於其它國家。所以,你能夠看到,中國的大部分iOS程序員目前依然在使用OC語言開發。而事實上,Swift語言已經發布四年了。其中的一個緣由多是公司領導限制團隊使用,由於Swift語言確實語法變更很大。升級後須要使用Xcode幫助你自動轉換,這恐怕是大部分iOS程序員最頭疼的一個問題。對於公司的限制,咱們無能爲力。但這種限制,我認爲並不徹底有道理。就像我上面所說的同樣,既然蘋果官方有足夠自信可使用Xcode幫助你自動轉換,就證實這種方式已經很是好用了。我知道必定會有人反駁:胡說,我在幾回轉換的時候都出現了一些問題!可我想說,出問題是必定的。如同Java自動轉換到Kotlin代碼同樣,也會出現一些問題,但是隻要你手動修正掉這些問題也就正常了,每每不過是幾行代碼的工做量而已。因此,我認爲,產生這種技術跟進慢的緣由,不只僅是公司限制,也剛好是中國人的「膽怯」心理在做祟。

Q:使用Kotlin語言對你的生活有產生一些變化嗎?

其實,生活上的變化目前並無。但對於個人工做卻幫助很多,平常開發中至少給我節省了大約30%的時間。並且,在生產環境出現異常的機率也下降了很多。若是這也算變化的話,的確對個人生活產生了一些改變。

Q:使用Kotlin語言有過什麼特別的感覺嗎?

若是必定要說特別的感覺的話,的確有一件讓我特別自豪的事情。我是早於Google官方宣佈Kotlin成爲官方語言以前使用Kotlin的,我當時預言Kotlin有可能成爲Android官方編程語言。而當Google IO大會結束,一覺醒來,Kotlin忽然成爲了Android官方語言。我很自豪,買彩票歷來沒有中大獎的我,竟然第一次成功預言了一門語言。

Q:對於新加入的Kotlin同窗,你有什麼話想說嗎?

首先,必定要無所畏懼,學習一門新的語言,會讓你產生短暫的不適應。這就如同你跑步同樣,開始的那一段總會很艱辛,而日後就會愈來愈輕鬆,慢慢就開始變成了享受。所以,若是在過程當中遇到了問題,不要懼怕,全球有無數的Kotlin程序員會幫你解決問題。若是你但願及時解決問題的話,能夠加入個人Kotlin技術交流羣:329673958。最後,祝你早日搞定Kotlin。

Q:若是隻能讓你對Kotlin說一句話,你最但願說什麼?

I love you <<<

歡迎加入Kotlin交流羣

關於Kotlin,若是你有任何問題,歡迎加入個人Kotlin交流羣: 329673958。當前羣交流活躍,問題解答速度很快,期待你的加入。程序員

微信掃描下方二維碼,關注歐陽鋒工做室,與鋒同行

歐陽鋒工做室

相關文章
相關標籤/搜索