为开发者服务的 21CTO
就程式語言面言,BASIC(“Beginners’ All-purpose Symbolic Instruction Code”,即初學者通用符號指令代碼)並不是我今天會選擇的語言。
當然,在它最初於上世紀 60 年代誕生時,行號和單字元標識符確實是一種進步。可到了它的全盛時期(我主觀認為是在 70 年代末到 80 年代初),開發者已經有了更好的選擇,例如 Pascal、Lisp、Forth,甚至是 C。
然而,BASIC 卻無所不在!它成為了許多老式電腦的預設介面,例如 Commodore 64。為什麼會這樣呢?
我認為(雖然沒有確鑿證據),這是因為 BASIC 的設計目標是讓任何人都能使用——而不僅僅是那些經驗豐富的程式設計師。
如今,有一種不同的程式語言,有一種語言以歷史包袱繁重卻深受歡迎而聞名,尤其是在那些不認為自己是程式設計師的人群中。
這門語言就是 Python──而 Python 就是現代的 BASIC。回顧BASIC 的歷史起源背景BASIC 由達特茅斯學院(Dartmouth College)的約翰·G·克門尼(John G. Kemeny)和托馬斯·E·庫爾茨(Thomas E. Kurtz)於1963 年創造(請參閱《托馬斯·E·庫爾茨紀念文》。
與BASIC 的故事始於我使用的第一台電腦——Commodore 64。其實都是「隱藏的程式設計師」! “為我所用”,所以必須學習程式設計。
電腦自帶了一個令人驚嘆、功能齊全的開發環境——QBasic。掌握了條件語句、循環和數組的基礎知識。
想,我算是BASIC 的一個成功案例吧!程式。區塊結構,但我個人覺得其語法並不美觀(例如格式化字串、星號運算子的重載、條件位於中間的三元運算子等等)。
此外,Python 在版本更新時打破相容性的頻率也超出了我的預期(甚至容忍度)。但也因此帶來了我對供應鏈的擔憂。即一個功能豐富的標準函式庫。
為什麼說 Python 是新的 BASIC?那麼,為什麼說 Python 是新的 BASIC 呢?答案很簡單:因為 Python 已經成為非程式設計師群體首選的程式語言。
它已經達到了「臨界質量」(critical mass),可以說 Python 已經贏得了勝利!當然,這更多只是一種觀察而不是原因。
實際上,我並不清楚為何人們最初傾向於選擇Python,但如果要我猜,可能是以下幾點的綜合作用:
● Python 出現的時候,世界正急需一種比Perl 更美觀、更不容易出錯的腳本語言。
● Python使用縮進來代替大括號來定義程式碼區塊,這一點被大眾認為是「優雅」的——雖然我不這麼認為,但既然我使用 Lisp,顯然我是個異類。
● Python 的標準函式庫中通常包含了你所需要的一切。
● Python對數學友好,因此在物理學、金融等領域研究中站穩了腳跟,從而拓寬了它的生態系統和影響力。
● Python 聰明地借鑒了更複雜語言的便利功能,同時仍保持了自身的相對簡單性。
● Python 從未被某個訴訟纏身的大公司所壟斷。換句話說,這可能是:巧妙的設計、社群管理和偶然性的結合。證明 Python 統治地位的鐵證儘管我成年後有意避開了 Python,但最近我還是向它妥協了——我用 Python 寫了一個個人工具程式。
原因很簡單:我知道 Python 擁有我需要的一切,我相信 Python 的生態系統已足夠穩固,能讓我寫的程式在未來很長一段時間內都能運作。
所以,如果連我這樣一個討厭 Python 的人都預設使用 Python,那麼我認為:Python 就像曾經的 BASIC 一樣,已經佔領了世界。
最後,我想問大家一句:Python 的統治還會持續多久?