程式碼是下一個世界的共通語言。
七十年代,龐克族音樂引領整個世代,
八十年代,可能是金錢吧!
但到我這一代,
軟體是我們的幻想與世界的介面,
這意謂著我們需要
更多更多各式各樣的人
來製造這種產品,
這些人不會把電腦看為機械式、
孤獨、無聊與神奇的,
他們會把電腦看成是
可以改進的、可以變好的等等。
我個人的程式設計與
科技世界的旅程,
從我稚嫩的 14 歲開始。
我狂熱地迷上了一位年紀比我大的男士,
而這位男士恰好是
那時的美國副總統艾爾.高爾先生。
而我做了一件每一個青少女
都會想要做的事情,
我要以某種方式表達我全部的愛慕,
所以我為他做了一個網站,就在這裡。
在 2001 年,那時沒有 Tumblr、
沒有 Facebook、沒有 Pinterest。
所以我需要學編寫程式,
來表達我全部的渴望與愛意。
這就是我如何開始編寫程式。
它開始是一種自我表達的手段,
就像我還小的時候,
我會用蠟筆和樂高積木來表達。
當我大些,我會利用
吉他課程及戲劇表演。
然後,還有其他令人興奮的事,
例如詩歌及織襪子、
練習法文的不規則動詞變化、
自創的幻想世界、
還有伯特蘭.羅素以及他的哲學。
然後我開始變成那些
覺得電腦是無聊的、
專業的和孤獨的人之一。
現在我是這樣認為:
小女孩不知道她們被認為不該喜歡電腦。
小女孩是很厲害的,
她們非常非常擅於專注在事物上,
又很精準,而且她們會問一些奇妙問題,
像「是什麼?」「為什麼?」
「怎麼樣?」「如果?」
她們不知道她們被認為不該喜歡電腦。
是父母們這樣認為的。
是我們父母覺得
電腦科學是一門難懂又詭異的學科,
那是專屬於製造神秘的人的。
它幾乎就像離日常生活
遙不可及的核子物理學一樣。
他們部份是對的。
編寫程式中是有許多語法、
控制項、資料結構、
演算法、演練、
通訊協定以及程式範例。
我們一起將電腦做得越來越小,
我們在人與機器之間,
建立了層層疊疊的抽象觀念。
一直到我們不再了解
電腦是如何運作的
或如何與電腦溝通。
我們有教孩子,人體是如何運作的,
我們教他們,內燃機是如何作用的,
我們甚至告訴他們:
如果你真的要成為太空人,
你會辦得到的。
但當孩子來問我們:
「什麼是冒泡排序演算法?」
或「當我按 “執行” 時,
電腦怎麼知道它要做什麼?
它怎麼知道要放映那部影片呢?」
或是:「琳達!
網際網路是一個地方嗎?」
我們大人變得異常安靜。
「它有神奇力量!」有些人會說。
「它太複雜了!」另一些人會說。
嗯!其實兩個都不是。
它既沒有神奇力量,也不複雜。
只是這一切發生得太快太快了!
電腦科學家製造了這些驚人美妙的機器,
但卻讓我們對它非常非常陌生。
也讓電腦對於我們溝通的語言也很陌生,
以致於如果沒有巧妙的使用者介面,
我們就不知道如何與電腦溝通了。
這就是為什麼沒有人看出
當我在做法文的不規則動詞變化時,
事實上我是在做 ‘模式識別技巧’ 練習。
當我對編織感到很興奮時,
事實上我是在遵循一串符號指令,
包括好幾個在裡面的重複指令。
伯特蘭.羅素終其一生的追求,
在英文與數學之間找一種精確的語言,
這追求就在電腦裡找到了歸宿。
我那時就是個程式設計師,
但沒有人知道。
現代的孩子終日把玩電腦,
除非我們給他們內含電腦的製造工具,
否則我們只是在培育一群消費者,
而不是創造者。
整個追求過程帶領我
遇到這個小女孩,
她是六歲的露比,
她膽子很大並且富想像力,
還有一點霸道。
每次我遇到一個有關
自我教育寫程式的問題,
例如:「物件導向設計是什麼?
或是垃坄回收是什麼?」
我就會試著想像一個六歲小女孩
會如何解釋這問題。
我寫了一本有關她的書,並畫了插圖,
描述露比教我的事情就像這樣。
露比教我 「我不認為妳應該怕
床底下的蟲子」。
還有「即使是最大的問題
也是一群小問題湊在一起而已」。
露比也將我介紹給她朋友,
他們是網路文化多彩多姿的一面。
她有朋友,例如雪豹,
它很美可是不想和其他小朋友一起玩。
她有朋友,像綠能機器人,
十分友善但超極散亂。
她有朋友,像名叫 Linux 的企鵝,
十分冷酷地有效率,但有點讓人難以了解。
還有理想主義的狐狸等等。
露比的世界是透過遊玩學技術。
又譬如,電腦很擅長於重複的事物,
所以露比教我像這樣用重複指令。
這是露比最喜歡的舞蹈動作:
“拍、拍、踩、踩、
拍、拍、跳“。
這樣重複四次,
就可學會counter計數器迴圈,
當我單腳站,重複這個排序時,
就學會了 while 迴圈。
而當你一直重複那個排序,直到你媽氣瘋了
你就了解甚麼是 until 迴圈了。
(笑聲)
最重要是你學到的是沒有現成的答案。
當我要設計一個
訴說露比世界的課程時,
我需要真正地問孩子們,
他們是如何看這世界的,
以及他們有什麼樣的問題,
然後我會安排些遊戲測試。
一開始我會給孩子們看四張圖片,
一張是一部車的圖片,
還有雜貨店.一隻狗和一個馬桶的圖片。
接著我會問:「這些之中,
你認為那一個是電腦?」
孩子們會非常嚴肅地說:
「這裡沒有一個是電腦,
我知道電腦是什麼:
它是一個會讓媽媽或爸爸
在它面前花很多時間的發光盒子。」
然後我們會討論,
並且發現其實車子就是一部電腦,
它裡面有導航系統。
狗或許不是電腦,
但它有個項圈,
項圈內可能有個電腦。
雜貨店裡有各式各樣的電腦,
例如收銀機及防盜警報器。
孩子們,你們知道嗎?
在日本,馬桶是電腦,
甚至駭客也會駭入它們。
(笑聲)
再進一步地,
我給他們一些在上面有開關按鈕的貼紙,
然後我告訴孩子:「今天你們有魔力,
能將這房間裡的任何東西都變成電腦。」
然後孩子們又說了:
「聽起來很難,我不知道正確答案。」
我告訴他們:「別擔心,
你們父母親也不知道正確答案。
他們只是才開始聽說有這個
叫『網際網路』的東西。
但是孩子們,你們會活在一個
所有的東西都是電腦的世界。」
然後有位小女孩走向我,
手裡拿著一個腳踏車車燈,
她說:「如果這腳踏車車燈是個電腦,
它會變各種顏色。」
我說:「這真是個好主意。
它還可以做其它什麼嗎?」
她想了又想,
然後回答:「如果這腳踏車車燈是個電腦,
我們就能和我爸爸騎腳踏去旅行,
我們可以睡在帳篷裡,
這腳踏車車燈也可當電影放映機。」
這正是我期待的一刻!
這一刻當孩子們明瞭
這世界肯定尚未準備就緒,
讓這世界更能準備就緒的最棒方法
就是開發技術。
而我們每個人都能成為這改變的一部份。
最後一個故事,我們還建立了一台電腦,
我們知道了發號施令的「中央處理器」
及有幫忙的「隨機存取記憶體」
和幫電腦記住一切的「唯讀記憶體」
在我們將電腦組裝之後,
我們也為它設計了應用程式。
我特別喜愛的故事是這位小男孩,
他六歲,
在這世上最喜愛的一件事
就是成為太空人。
這小男孩戴著很大的耳機,
完全沉醉在他的小紙張電腦裡。
你看!他創造了自己的
星際宇宙導航應用程式。
他的爸爸 ─在火星軌道上唯一的太空人─
在這房間的另一邊,
這小男孩的重要任務
就是將他爸爸安全地帶回地球。
這些孩子將會對這世界及我們用科技
創造世界的方法有截然不同的看法。
最後,越是平易近人就越能包羅萬象;
我們創造這世界的技術越多樣化,
這世界就會看起來越多彩多姿且越好。
所以,和我一起想像一個世界,
我們說了個故事:這世界裡
東西是如何被創造出的,
它不只是包括
二十多歲的矽谷男孩,
也包括肯亞的女學生及挪威圖書館員。
想像一個世界,那兒
未來的小愛達.勒芙蕾絲
她的世界就是 1 和 0,
他們長大後對科技既樂觀又勇敢。
他們擁抱了這世界的力量、機會與限制。
一個美好、新奇別緻
又有點古怪的科技世界。
當我還是個小女孩,
我想成為一個說故事的人。
我愛虛幻世界,
我最喜歡做的事
就是早上在姆明谷醒來,
下午在塔圖因行星漫遊,
晚上則睡在納尼亞裡,
而程式設計成為我最理想的職業。
我仍然在創造世界,
但不是說故事,而是編寫程式。
程式設計給了我神奇力量
去建立我整個小宇宙
有它自己的規則、範例和演練。
用邏輯的單純力量去創造出「從無到有」吧!
謝謝!
(掌聲)