2010年4月27日 星期二

初學電腦語言 切勿先學PYTHON

聽聞有些學生學習電腦語言,所學的第一個電腦語言就是PYTHON。

基本上,任何電腦語言都是有輸入,輸出,運算及記憶管理四大功能。四者相依的都是數據。因為數據需要有清楚的格式,大小,數值範圍等等,才可以有清楚的運算,所以要固定某幾種基本數據類別。

當第一次接觸或者學習電腦語言,就是要了解數據類別,運算方式,流程,函數,執行方式。

PYTHON是一個怎樣的電腦語言?雖然有幾個數據類別,但是要求設定一個新的變數與改變舊有變數的內容,方式上沒有分別,而且完全視乎內容來決定數據類別。因此,可以把數字寫入保存文字的變數,再寫入一個序列。一般外行人不容易分辨數字與文字的處理方式,但也知道序列與數字的處理方式各有不同。這樣很容易墮入陷阱。

由於語言文法太隱晦,流程範圍不明確,陷阱更多。另外,PYTHON只有直譯器,任何問題都要在執行程式時才能發現。

試問陷阱多多的電腦語言,怎會是一個好的教學用的電腦語言呢?

3 則留言:

Mat 提到...

敢問您覺得哪種語言才是適合入門的語言呢?

FlyingHorse 提到...

應該學習PASCAL或者JAVA

TsungWei Hu 提到...

文中針對 Python 的 typing 來當例子做評論,Python 既是 dynamic typing 也是 strong typing,只要執行的動作是有效正確的,直譯器並不會在意物件的型別,這是特色,這彈性也符合多數的實用場合。
資深 Python 程式員會借重 test suite 來檢查各式錯誤,型別錯誤 (如果真的有) 只是軟體裡會出錯的一環,當然可以在 unit test 裡檢查,不必然要仰賴 compiler 進行型別檢查。
新時代的知識工作者,會花時間在閱讀程式碼、試著加些小功能、整合不同軟體,這些都是 Python 擅長的場合。
Java 當然是個強大語言,精通之後能做任何事,但用 Java 初學程式的人,花的時間多,但生產力未必等比例發揮。