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