最近因為研究如何寫OS的關係,所以要大量接觸Assembly,一星期多之前,又開啟了另一個新Project,寫一個麻雀程式。(我手上永遠都是拿著幾個Project的 XD)
Assembly之美,在於完全自由的控制(其實也不是完全「完全」的)。寫麻雀程式的時候,因為受到最近常常用Assembly的影響,雖然是以C寫,卻用了Assembly的思考方式,寫著寫著,開始發現問題了,code越寫越多,就越來越難明,越來越複雜。
雖然從理論上一早就了解到Assembly的弱點,不過這幾天認真地想了及實驗了多次,才發現為什麼Basic是重要,C是重要,Sql是重要,OOP是重要。我想,雖然這些都不是唯一解決問題的方法,也未必是最好的,可是,如果沒有了這些,程式設計就會變得複雜,就無法普及,接觸的人少了,出來的作品也會變少,電腦科技也沒法像現在的走得很快了。
突然想到一個比喻,如果電腦只有用Assembly來寫,能夠寫程式的人就會變成極少數,就像現在的法律,非常複雜,只有少數人能明白,供求原則下,律師費用就會變得非常高。那麼法律可以變得簡單一點嗎? (就像把Assembly變成Basic) 我想是可以的,只是既得利益者不會讓這樣的事情發生而已。
反觀電腦世界,我們的文化是開放、自由、分享,最低限度,所有基本的知識,如果想學,都有方法可以學到的。(正常人都可以學到的)
我想我開始明白了: 如何在快速運行及開發方便之間作一個平衡,可能就是寫電腦程式的永恆問題。(雖然現在是一面倒偏向開發方便)
沒有留言:
發佈留言