開啟我的程式設計之路

樑少華發表於2018-11-02

本來昨天就想上傳這篇文章,但是昨天部署部落格的部落格(很簡陋的一個部落格)的時候出了一些問題。今天才部署好,所以上傳晚了。

今天是我在路飛學城學習的第一天,我學的是python全棧開發(不過我覺得這個詞優點虛,準確來說是python後端開發工程師吧)。既然學的是程式設計那麼就要對程式語言有個瞭解,看了第一章的關於程式語言的介紹又查閱了一些資料,算是對程式語言有個大概瞭解了,這是從野路子走向正規軍的第一步,下面就做一個總結。

計算機是由1和0組成的,1代表開(或亮、是),0額代表關(或滅,否),這就是二進位制。但是,二進位制不是由於出現了計算機才有的,追本溯源,發明在1837年的摩爾程式碼就是用的二進位制。摩爾程式碼就兩種狀態:點和劃,也可以理解為0和1,但是這兩種狀態可以表達出人類已知的所有文字。1個摩爾程式碼可以兩種狀態,2個可以表達4種狀態,3個可以表達8種狀態,N個可以表達2的n次方個狀態,萬國碼utf-8之所以能編譯各國的語言,就是因為它比ASCII的0和1多。然後就到了計算器(算數的那種),這玩意能計算出東西主要也是因為有個高電壓(1)和低電壓(0),當然還涉及到布林運算(AND,OR),邏輯閘、觸發器、儲存器等等,要到現代程式語言出現還早呢,但是這些東西太複雜了,以後有時間再看吧。 直接說程式語言吧。

計算機最底層的語言是機器語言,後來出現了比機器語言稍微好懂一些的彙編語言,機器語言和編繪語言之間需要指令去翻譯,但是組合語言也不易懂。這時候就出現了高階程式語言,比如AKGOL和Pscal等等,接下來就是C。為什麼叫C呢?答案是,C是B語言的繼承者,是它的一種精簡版本。C是一種風格非常簡單的語言,例如AKGOL和Pscal使用關鍵詞begin 和 end來界定程式設計師,而C用一對大括號就行{}。貌似現在也有程式語言用end結束函式。值得一提的是,1973年,UNIX採用C語言程式設計,更準確的說是重寫,從起UNIX和C變得密不可分。看來真正的大神,都是玩底層語言的。

下面就到了我們們的重頭戲:python。Python是由C寫的解釋型語言,也是高階語言(廢話)。它的優點是接近人類語言、跨平臺性好(因為在每個平臺都要編譯安裝);缺點是執行速遞慢,這是高階編譯型語言和低階語言的優點。萬幸的是,為了節省那一kb,一位元組而用寫程式的時代已經過去了,現在的電腦效能好到可以忽略解釋型語言和編譯型語言之間的速度差距了。這對我們來說也是個機會,因為學習程式設計的門檻降低了。我在想,如果有人用機器碼編譯Python,或者編譯一個接近於人類的語言,那麼這個語言會不會又快又好用?

 

相關文章