由于看到越來越多新的技術(shù)或語言冒起或誕生,因此想對此說說個人的意見。
看到網(wǎng)絡(luò)上有不同人士對Kotlin有著不同的意見,
例如:
1) 覺得學(xué)Java那有什么意思
2) 為什么要用Kotlin取代Java作為建議語言作開發(fā)Android應(yīng)用
因此想借此機會分享個人的看法。
**對于普遍初學(xué)者入門語言的比較**
a) Java 是其中一種十分嚴格的語言,個人覺得用此作入門或許是一個不錯的選擇。
部分項目:
i) 物件導(dǎo)向程式設(shè)計 (Object-Oriented programming,OOP)
ii) 介紹JDK,JRE
iii) 數(shù)據(jù)類型,變數(shù) (Data types, variables)
iv) 其它(etc)
由于其嚴謹性,因此當有語法錯誤 (Syntax Error,eg. 類型錯誤 incompatible types)的時候, 整合開發(fā)環(huán)境 (Integrated development environment,IDE) 便會即時提醒開發(fā)者。雖然其錯誤顯示詳細取決于您使用的IDE,但這仍然有助程序員解決問題。
b) Python 事實上也能夠限制開發(fā)者,例如強制利用縮排(indentation)去做分段(block)作分隔,雖然在一行程序語句中可使用分號(;)以作分隔前后句,但是由于該語言本體是沒有常用的分號作句末的設(shè)定,因此個人認為對初學(xué)者來說,這是不良的習慣(理由:很多語言是用分號作句末),除非個人的程式設(shè)計發(fā)展方向已明確,否則不會以此語言作初學(xué)者的選擇。
c) C 語言也是常見的選擇,但由于其使用的并不是物件導(dǎo)向程式設(shè)計(Object-Oriented, OO),而是用結(jié)構(gòu)化程式設(shè)計(Structured programming,struct), 因此很多OO概念不能夠同時學(xué)習得到,所以如果時間不許可的話,可以直接以Java作入門,然后再學(xué)習C或C++。
**Android以Kotlin取代Java作為建議語言的理由**
本人相信Android是為了日后不會被Oracle所規(guī)范/控制,畢竟Java現(xiàn)在是Oracle所擁有。
**后記**
個人認為Java仍然有可學(xué)而成為首選的理由,然后再應(yīng)按照發(fā)展方向?qū)W習不同領(lǐng)域使用的語言和技術(shù)。
相關(guān)消息:
https://www.theverge.com/2017/5/17/15654988/google-jet-brains-kotlin-programming-language-android-development-io-2017
特別鳴謝:
Jimmy, Derek, Heiman, Larry, Bacchus