第一章 你好世界
楊成是一位普普通通的大學(xué)生。
作為一名計算機系的尖子生,他喜歡學(xué)習(xí)各種奇怪的知識,比方說用顯卡烤雞蛋吃。
最近呢,他發(fā)現(xiàn)周邊很多人都迷上了一款名為“代碼戰(zhàn)爭”的網(wǎng)絡(luò)游戲。
在好奇心的驅(qū)使之下,他去了好久都沒有去過的一家網(wǎng)吧。
現(xiàn)在的網(wǎng)吧跟以前的完全不是同一個概念了,除了改名叫“網(wǎng)咖”之外,還有一些較大的變動。
由于VR技術(shù)的流行,原本的主機+顯示器模式被替換成了VR終端,這一個個猶如摩托車頭盔般的玩意兒。
楊成選擇了一個座位,然后熟練地戴上一個“頭盔”,視覺一暗,迅速地在眼前成像出一份三維立體的菜單。
“選擇進入代碼戰(zhàn)爭”。
楊成發(fā)出指令,眼前很快出現(xiàn)了一個巨大的進度條,下方則是一條條在切換的進度提示:
加載圖片素材,加載UI特效,加載動畫效果...
估摸著過了五秒鐘的樣子,一陣輕微的眩暈感襲來,整個世界陷入一片黑暗,猶如混沌未開。
我該不會是變成創(chuàng)世神盤古了吧?
帶著這樣稀奇古怪的想法,他四處摸索著,希望能找到一把用來開天的大斧頭...
然而,下一刻,楊成站在了實地上,一陣寒意涌上來,讓他不禁打了個寒顫。
云霧繚繞的群山之巔,終年有積雪不化,寒風(fēng)陣陣,杳無人煙。
然而,程序猿眼前有一座猶如筆架般的高山,比這山巔更高,更寬闊!
更令人嘖嘖稱奇的是這高山的絕壁,就如同鏡面一般光滑透亮,這讓人聯(lián)想起了古老的液晶顯示器屏幕。
真是鬼斧神工,巧奪天工!
出現(xiàn)在楊成面前的還有一個并不起眼的東西,一臺貌似21世紀(jì)初期出現(xiàn)的古董電腦。
這電腦并沒有連上電源,甚至沒有類似于電源線的東西,那它是怎么開機的呢?
楊成好奇地走了過去,對于一位程序員而言,大自然的美妙奇觀自然是不如一臺“老爺機”來的有吸引力。
這電腦顯示器閃爍著藍色的熒光,上面有一些文字,楊成定睛一看。
“歡迎來到代碼戰(zhàn)爭,為了表明你的玩家身份,請用您最熟悉的編程語言,編寫Hello World并提交”。
楊成撓了撓頭,覺得有些乏味,他畢竟不是剛?cè)腴T的菜鳥了,對于這種小把戲不感興趣。
不過,為了進一步地了解這個世界,他還是拿起了鍵盤,在上面敲了一行代碼:
alert(“Hello World!”);
接著就是一鍵回車。
顯示器沉默了整整一分鐘,似乎在進行某種艱難而復(fù)雜的解析。
--------------
WTF?
游戲的主要控制程序表示,從來沒有遇到過這樣的異常情況,它于是求助于人工智能程序。
“嘿,伙計,這個API調(diào)用該怎么做特效才Nice?”
AI于是友好地臨時設(shè)計了一套方案。
“嘻嘻,只管拿去用吧,這是我基于大數(shù)據(jù)分析,得到的最佳用戶體驗”。
--------------
楊成本來想用JavaScript寫個更通俗點兒的“你好世界”。
比方說用console.log函數(shù)。
它的功能就是做控制臺打印嘛,這似乎更加和諧,更能讓人愉悅。
但他覺得不夠刺激,就來了個alert彈窗警告,鬼知道會發(fā)生什么樣的事呢?
在楊成這樣的“復(fù)古派”程序員看來,“平穩(wěn)退化”與“漸進增強”原則是絕對要遵循的。
(IE6,7,8瀏覽器)
比方說console.log函數(shù),這個玩意兒在老版本的瀏覽器都無法兼容,又是這么舊的電腦,天知道會報什么樣的Bug!
時間一分一秒地過去了,顯示器還在一閃一閃地運轉(zhuǎn)著,楊成等得不耐煩了,于是走到一邊,打算抽一根煙。
他除了很愛搞學(xué)習(xí),還是一桿老煙槍,這是人生中最快樂的兩件事情,學(xué)習(xí)就跟香煙一般會讓人上癮呢...
“警告!警告!”
這時,四面八方猶如有無數(shù)個高音喇叭,在同時播音,頓時嚇了楊成一跳。
“什么鬼?”
楊成四處張望,然后,他看到眼前的絕壁上,大塊大塊的巖石脫落,滾下山崖。
一個個模模糊糊的英文字母和特殊符號逐漸成形,直到最后,成為一個個肉眼可辨的字跡。
“Hello World!”
大氣磅礴的幾個字出現(xiàn)在了楊成的視線當(dāng)中。
(God?。?p> “歐!我的上帝??!”
楊成一聲驚呼,簡直太不可思議了,究竟是怎么做到的,這個效果太棒啦...
“尊敬的玩家,恭喜您完成了我們的開局測試”。
一個系統(tǒng)音出現(xiàn)在了楊成耳畔。
“由于您在測試中的代碼非常有創(chuàng)意,我們?yōu)槟_啟了系列任務(wù),斐波那契之旅”。
“期待您更加精彩的表現(xiàn)!”