摘要:年月號語言,在今天來說是一種特殊的編程語言。但是,仍然存在一個根本的問題為什么用寫的程序堅如磐石過了寫論文這段黑暗的時期之后,我最近做了一點編程。
C語言,在今天來說是一種特殊的編程語言。只有極少數人真的可以用C進行編程,而且我們中很大一部分人都對C有自己的看法。緩沖區溢出,棧溢出,整型數據溢出,C有很多廣為人知缺陷,而這些缺陷被人們隨意傳播,甚至那些不熟悉C的人們。我自己已經有10念沒有接觸C了,由于這樣或那樣的原因。開始的額時候,編譯器是很昂貴的(在免費的UNIX被發布之前)而且很慢,那時的環境是很糟的。而且,所有關于C的恐怖故事讓我覺得我這么一個小小的普通程序員怎么可以寫出可靠的C程序。
撇過一些我直接從別的地方復制粘貼過來的很多小的C模塊不說,我自己寫的第一個C程序是Converge VM。其中有兩件事情讓我驚呆了:-o 。第一,寫C程序原來不是那么難。事后我才知道我年輕的時候浪費時間寫匯編代碼這件事在心理上給我了很大的支持,畢竟C是高級一點的匯編語言。一旦一個人理解了像指針(可以說是低級語言中最微妙的概念,因為真實世界中沒有相對應的比喻)這樣的概念。第二件事情是,Converge VM沒有像我期待那樣滿是bug。
實際上,忽略可能在任何編程語言上都存在的邏輯錯誤,到目前為止在Converge VM中引發實際問題的只有兩個只針對C才會有的錯誤(主意,我肯定還有很多潛伏的bug,但是我情形還沒有碰上太多)。第一個錯誤是,一個list沒有以