|
|
|
首先我想說的是,對于想學(xué)好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個初學(xué)者首先關(guān)心的。也可以說開始讓你覺得困難的地方不一定是語言的本身(如語法syntax等),而是整個編程的思想和編程的結(jié)構(gòu)。事實上你所學(xué)習(xí)的python語言的語法和操作方面,比起c/c++和java等語言來說呢,算是對于初學(xué)編程的人來說相對比較簡單的入門的了。 在學(xué)習(xí)編程之前,你的理解什么是編程,為什么我們需要編程?了解好了我們要學(xué)習(xí)的對象我們才能知道從哪個方面下手把它學(xué)好。至于我自己的理解呢,狹義上編程其實就是對于不同語言寫出不同的代碼(什么是編程?),而編程的目的就是通過編程語言來和計算機交流并且操控它為我們工作,實現(xiàn)我們需要的東西(算法algorithm等)(為什么我們需要編程?)。然而具體根據(jù)我們需要實現(xiàn)什么來選擇編程語言,比如對于安卓來說,就是java,xml等,對于ios來說,就是object c之類的。因此正如我之前所描述的那樣,編程語言是為我們與計算機交流所服務(wù)的,就像我們學(xué)習(xí)世界上某個國家的語言是為了與某個國家的人交流,而不是為了學(xué)某種語言而學(xué)習(xí)某種語言的,語言不是我們學(xué)習(xí)編程的最終目的,恰恰是開始! 在了解了我們?yōu)槭裁匆枰幊桃院竽兀覀冊賮碛懻撓略撊绾伟阉鼘W(xué)好。其實編程的入門呢,應(yīng)該是一個學(xué)習(xí)編程思想,深入理解什么是編程的一個過程。而至于選擇什么語言呢最開始其實并不是那么重要,甚至可以運用偽代碼來學(xué)習(xí),但是為了方便初學(xué)者學(xué)習(xí),能實際實現(xiàn)的語言更加能夠讓初學(xué)者理解編程。這也就是說為什么大多數(shù)學(xué)校(至少是大多數(shù)美國computer science(計算機科學(xué))本科)的第一門課叫做intro to computer science with XXX language(用XXX語言實現(xiàn)的計算機科學(xué)入門)。再次不厭其煩的聲明,這里的with也是說明了后面的xxx語言是為了輔助我們學(xué)習(xí)計算機科學(xué)入門的工具,計算機科學(xué)入門才是我們的重點,而不是叫XXX語言課。這里也不得不吐槽,一些國內(nèi)的計算機培訓(xùn)機構(gòu)為了能迅速培養(yǎng)程序員而專門鼓吹某某語言強,而只專注于培養(yǎng)學(xué)生編程語言學(xué)習(xí)的本身。這樣培養(yǎng)出來的只能是仿照他人的程序調(diào)用者,而不是自己曾經(jīng)希望的計算機科學(xué)工作者。 |
|