林鴻此刻并不知道,實際上,蘋果系統的視窗操作界面要先于微軟公司的windows發行,微軟正是看到蘋果的視窗操作系統之后,才立刻緊急召集人手開發的。
后來蘋果公司和微軟為了這個事情打了很多年的官司,可惜,蘋果并沒能贏得官司,因為蘋果公司也并不是第一個使用視窗系統的。最先研發視窗操作系統的是一個叫做施樂的公司,那是一家偉大的公司,守著寶山卻不知道如何將其商業化,蘋果ceo喬布斯看到這個系統之后,大為震撼,后來千方百計地從施樂挖走了多技術員,獲得了視窗系統編寫技術。
當喬布斯得知這個消息之后,大為惱火,因為當時他和比爾蓋茨的關系還相當不錯,在很多業務上有往來,喬布斯對蓋茨說:“比爾,你真是太不厚道了,枉我這么相信你”
于是,蘋果將微軟告上了法庭。
面對喬布斯的抄襲指控,比爾蓋茨聳聳肩,對他說:“我們有一個有錢的鄰居,叫施樂,我闖進他們家準備偷電視機的時候,發現你已經把它給盜走了。”
林鴻在私底下自己搗鼓了一會兒之后,便開始正式聽授課老師麥克上課,不過聽了一會兒,發現自己根本聽不懂,對方現在講的內容,已經是c語言比較靠后的部分了。
于是,林鴻便很明智地選擇了自學,這是他一貫的學習方式。
手中的這本教材是全英文的,按照字面意思,這本書的名稱就是《c語言編程》。
林鴻已經有了basic和匯編的編程基礎,心中知道,這是另外一種編程語言。
他首先從序言看起,序言部分介紹了這門語言的起源誕生,發明的作者以及發展狀況。
看完之后,林鴻才意識到,自己即將要學習的這種編程語言,是一種功能非常強大的語言,它既具有高級語言的特點,又有匯編語言的特點。
實際上,c語言的是在b語言的基礎上被設計出來的,而b語言是第一個unix操作系統的編寫語言。也就是說,c語言是一種可以用來編寫操作系統的編程語言。這點b論如何都比不上的。僅僅看到這一點,林鴻就下定決心,一定要學好這門語言。
一看到編寫操作系統這件事情,他又不由自主地想起了lus.
“不知道他編寫操作系統,是使用哪一種編程語言……”
將腦海中的雜念拋開,林鴻開始集中精神閱讀手中的教材。
這本教材寫得非常系統,比他之前所看的紅皮書中介紹basic都要更加詳細。
作者在本書的前面就給出了一個“hello_wold!”的范例,讓林鴻從一開始就對其有了一個大致的印象。
然后,從最初的基本語法變量開始慢慢開始展開敘述,將得深入淺出,精彩紛呈,與此同時還有很多實例代碼可供參考,林鴻很快就沉浸其中。
在林鴻獨自看書的時候,亞瑟卻一直在他身后觀察著他,眼神閃爍若有所思。
很快,麥克就將這節課的基本知識講完了,然后讓大家上機開始自己動手操作,說有不懂的地方,隨時可以舉手詢問。
由于林鴻是新來的學生,麥克對他比較關注,剛才在上課的時候就已經觀察到林鴻在自己做自己的事情,當然,他對此并沒有任何意見,畢竟這是他們的自由,學生如果不聽他講課,那是他講的課程太枯燥乏味,無法吸引住學生的注意力。
如果學生覺得老師的講課對自己毫無幫助,是可以選擇不聽的,甚至更嚴重者,還可以向學校提出申請,要求更換老師,如果申請的學生比較多,并且學校也認為這是有必要的,麥克還真的有可能會面臨下崗的風險。
“嗨,很高興見到你,我是麥克,你叫什么名字?”麥克走到林鴻的身邊,見他正在專心看書,不由微微點了點頭,喜歡學習的學生在哪里都是比較受老師歡迎的。
林鴻將目光從書本上移開,轉頭看著這位禿頂男人,說道:“我也很高興見到你,我是stone*林。”
“stone,你是第一次來上課,對嗎?”。
林鴻點頭:“是的”
“你來自哪里?看上去是亞洲人?日本?”
“不,不是。”林鴻連忙搖頭,“我是中國人,來自北京,是交換生。”
“噢,是嗎?你竟然是來自北京交換生”麥克感到非常驚奇,這里也是有一些華裔學生的,可是很多都是美籍華裔,真正來自北京的學生卻非常稀少。
見林鴻沒再說話,只是一臉疑惑地看著他,可能擔心林鴻會誤會他,他連忙說道:
“不好意思,我只是有點意外,沒有其他任何意思。我想說,你需要什么幫助嗎?”。
“幫助?”林鴻猶豫了一下,還真的提出了一個問題:“老師,我想問一下,c語言的編譯器在哪里?”
“麥克,你直接叫我麥克就行了。”麥克糾正道,然后他接著問道,“你之前有接觸過編程語言嗎?”。
他之所以這么問,這是因為林鴻問的問題比較關鍵,如果是初學者,可對編譯器這種東西沒什么概念。
編譯的英文為“pile”,意思是“收集、匯編”,后來根據情境和意思翻譯成中文,便是“編譯”,有“匯集”和“翻譯”的意思。
高級語言的出現完全是為了方便程序員,提高可讀性和降低編程的難度,但是對于計算機來說,高級語言就好像是一門外語,直接“說”給它聽,它完全不懂你在說什么。
于是便需要利用一個“翻譯”,將高級語言翻譯成計算機能夠理解的機器碼,編譯器所起到的作用,正是這個中間人,他既能聽懂高級語言這門“外語”,又懂計算機的“土著語言”。
當然,翻譯其實也有兩種不同的類型,一種是“同聲傳譯”,也就是聽到“外語”的同時,這個翻譯就順口就翻出來了,邊聽邊說,這種類型的語言被稱為“解釋型語言”。
另外一種翻譯,則是先完整地聽你說完,然后再全部將這些內容翻譯好,形成一個翻譯后的文稿,最后再扔給計算機讓他去執行。在這個過程中,翻譯可能還會根據計算機這個“土著”的習慣,將翻譯稿進行一番整理,讓其更加的通順并且沒有什么語法錯誤,以便能夠讓“土著”更好地去執行這些任務。這樣的語言才是真正的“編譯型語言”。
而實際上,basic語言的“翻譯”屬于前者,而c語言的“翻譯”則是后者,只不過目前林鴻并不懂這一層道理,以為這兩種語言的翻譯過程都差不多。
面對麥克的問題,林鴻點頭道:“是的,我學過basic。”
“喔,很不錯如果是這樣,那你學習c語言也應該會很順利,雖然它們是兩種不同的語言,但是在編程思想上,很多東西是相通的。”麥克微笑著說道。
“編程思想?”林鴻對這個詞匯非常陌生。
麥克以為林鴻沒有聽清楚,畢竟對于國外來的學生來說,很多都有這方面的語言障礙,林鴻是他見過的最容易溝通的國外學生之一,所以他立刻放慢了語速,將這個詞匯重復了一遍。
“什么是編程思想?”林鴻問道。
麥克聽到他的問題,稍微思考了一下,然后才用自己認為最通俗易懂的方式說道:
“這是個很大的話題,涉及的范圍很廣。簡單的來說,這就如同是我們思考問題的方式,編程思想,就是我們用計算機編程來解決實際問題的思維方式。”
林鴻似懂非懂地點點頭。
接著,他們再聊了幾句,麥克便將c語言編譯器從計算機中啟動,然后再大致地給他講解了一下這個編譯器的基本操作,例如保存,修改,執行編譯和運行程序,并且,這些操作都有快捷鍵相對應,可以極大地提高操作速度和效率。
另外,林鴻又問了個問題,他發現這臺蘋果機竟然也有一個橢圓形的小外設放在右邊,連接在機箱上,并且,這個東西和他接待家庭的那個東西還有些不同,上面并不是兩個按鍵,而是只有一個按鍵。
麥克笑著給他詳細解釋了一下,說這東西叫“鼠標”,apple-ii在剛開始的時候并沒有配備這個,后來才成為了標配。并且,蘋果機和pc機的鼠標是不同的,蘋果的鼠標只有一個按鍵,而其他計算機卻有兩個。
這個時候,有另外一位學生在呼喊著麥克的名字,他便離開了。
這個麥克形象雖然看起來很難男人接近的樣子,但是卻非常友好和熱心,林鴻看得出來,他和其他學生之間相處得很好,他們之間互相開著美國式玩笑,就好像雙方是平等的朋友關系。
因為林鴻剛到這里,心中老是會不由自主地拿這些事情和國內的情形進行對比,雖然他只在s中呆了一小段時間,但是卻已經基本對s中的教學情況了解得差不多了。他發現,中美兩國很多方面存在著非常大的區別。
當然,他現在的還無法判斷出哪些是好的,哪些又是不科學的。
林鴻仿佛又回到了第一次學習basic語言的時候,他開始按照教材上的實例代碼,一個字符一個字符地敲進去,然后再編譯,運行。
顯示器上很快就出現了“hello_world!”的字符串。
重要的第一步已經邁出,看著顯示器上的結果,林鴻微微一笑,繼續閱讀其他內容。
變量、數據和運算符、程序設計結構、循環、指針、數組……
林鴻發現,c語言和basic有很大的區別,具有很多basic所不具備的功能,其中有些功能,更接近于匯編語言,涉及到了內存和底層接口的一些操作。林鴻完全被這些內容給吸引住了,猶如海綿一樣迅速地吸取著其中的水分。
正當他看得入迷的時候,他突然聽到“嘟”地一聲在他耳邊響起,林鴻對這聲音非常熟悉,他知道這是計算機內置喇叭的聲音。
林鴻下意識地抬頭看了一眼顯示器,卻非常震驚地發現,顯示器中的正中央不知道什么時候出現了一個黑色方框,在這個黑色方框里面,有一行綠色的文字,正是這行文字令他感到震驚不已
“stone,if_you_like如果你喜歡計算機,我可以教你)”