一個物理學家學習Windows編程的感受

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

 

  最近學習用Visual C++ 作為平臺的Windows 編程,感覺到學習這種編程技術的過程與學習物理的思維差異非常大。最明顯的,比如對于物理課本,在學習的時候值得一個字一個詞的認真去讀,有時候需要讀上好幾遍。但在學習編程的時候,即使是號稱世界級的教科書,也最好是不懂的地方就跳過去,不需要的地方跳過去,不求甚解,以能夠動手上機操作為目的。我現在明白了這種差異來自于一個是面對的是自然世界,一個面對的是人工系統。

  物理學以理解自然為最高目標,物理課本是經過濃縮的一代代物理學家所得到的知識。閱讀大自然并非易事,比如當年英國物理學家焦耳花了二十年的時間,測定了熱功當量的值1卡=4.2焦耳。這件工作確立了熱力學第一定律的基礎,可是在物理課本中也就幾句話。物理課本上的內容是幾百年以來的知識的結晶,然后用了精巧的數學把它包裹了起來。在這樣層層的包裹下,其實也許核心就是那么一點點,如果真的學懂了,感受很像華羅庚教授所說的“由厚到薄”,厚厚一本書籍變成了少量一些key points。我現在正在教授本科生的大學物理課程,在第一學期,要花掉大約3個月的時間講授力學,大概物理系的本科生學習力學要花掉一個學期的時間。其實,轉過頭想一下,力學(不算狹義相對論)的內容,不就是牛頓三定律嗎。當然,在這個基礎上,發展出了能量、動量、角動量這些非常重要的概念。但是,平均到每節課,也就那么一點點的核心概念,而其它的是“越來越多的x”。我常勸我的學生認真讀課本,而且多讀幾遍,在課堂上我也會做一下演示實驗,并且鼓勵他們互相討論。這一些努力,就是希望他們能夠知道哪些知識點是最重要的,哪些是不重要的。

  物理學的難懂,也不僅僅是知識經過了濃縮,因為大自然的本性有時候難以琢磨(不知道她是否“邪惡”),所以我們只能花費多的時間去“琢磨”。對于我來說,狹義相對論就是這樣一個例子。學習的時候,讓我有數不清的晚上失眠,在兩年前,也親自教了一遍,但直到現在,這里面的一些概念還是讓會讓我頭疼一會兒。狹義相對論難懂的原因是因為里面的概念違反了直覺,最有名的例子是“同時的相對性”。在日常生活中,幾乎無法想象,如果你對你的朋友說“我1年前在重慶愛上了我的女朋友”,另一個在飛船上得家伙大聲說“你是一年半前愛上的”,你想你該有多么憤怒。而狹義相對論說這兩種說法都對。正是因為違背了直覺,所以當有時思考狹義相對論的問題時,你需要不停的問自己一些愚蠢的問題“這個時間是站臺的人的還是火車上人的”。著名物理學家海森堡大概也碰到了這樣的麻煩,他說狹義相對論中的物理因為違反直覺而理解起來很費力。

  而最近學習的Windows編程的這套系統是人工的系統,是由很多的微軟的技術專家堆砌的系統。所以你需要的是了解他們的一些想法。這些想法當然“不邪惡”,很多時候倒是很繁瑣。你需要的是知道他們的一些設計,從而弄懂這個系統如何運作。在這個過程中,常常會碰到一些生僻的名詞,這是我勸我的學生要在表述物理問題時盡量避免的,我不會對這些名詞像物理學中碰到的一樣去努力弄清楚含義,太費事了就跳過去(可能心中也不屑于花太多的時間去弄懂它)。有時候,甚至不懂它的原理,但是會操作了,也就ok了,這對于習慣于物理思維的我來說,確實是一個挑戰。

  希望能在幾個月后,能夠用程序畫出一些好看的圖線來,我的目的也就達到了。

 


胡鋒 2012-03-17 00:45:41

[新一篇] 程序員,你有多特別

[舊一篇] 一個老程序員未來10年的計劃目標
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表