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