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