搜尋

關 於 本 書

‧強力推薦
‧內容簡介
‧作者簡介
‧目 錄

線 上 試 閱

內文摘錄

作 者 作 品

吃一場有趣的宋朝飯局
過一個歡樂的宋朝新年
吃一場有趣的宋朝飯局 + 過一個歡樂的宋朝新年
擺一桌絕妙的宋朝茶席
擺一桌絕妙的宋朝茶席+「德易包茶品體驗組」乙組
包公哪有那麼黑:你所不知道的包青天
誰說不能從武俠學物理?
誰說不能從武俠學化學?
誰說不能從武俠學物理+化學【全二冊套書】
民國房地產戰爭

科學

【類別最新出版】
小蟲大哉問:自然生態的科學探察與人文思考
未來自然史:生物法則所揭示的人類命運
有點噁的科學:尷尬又失控的生理現象
衝破慣性:善用分子心理行為法,治好你的3分鐘熱度
被蒙蔽的視野:科學全球發展史的真貌


誰說不能從武俠學程式?(VE00067)

類別: 自然‧科普‧數理>科學
叢書系列:LEARN
作者:李開周
出版社:時報出版
出版日期:2022年08月26日
定價:430 元
售價:340 元(約79折)
開本:25開/平裝/272頁
ISBN:9786263357785

 放 進 購 物 車

 轉 寄 給 朋 友

 發 表 書 評 

 我 要 評 等 

Share/Bookmark

線 上 試 閱

 

內文摘錄



  內文摘錄

【開場白】程式設計讓生活更美好

有一年暑假,我的八歲兒子迷上網路遊戲。
老師每天在線上發布作業,他要嘛不寫,要嘛少寫,不然就是唰唰唰地亂寫一通,趕緊拍照交差,騰出時間打遊戲。
我帶他進行戶外運動,他要嘛不去,要嘛拖延,要嘛找藉口提前離開,趕緊回家打遊戲。

打遊戲的時間太長,不僅學業成績倒退,視力下降,注意力也會受影響。但想讓孩子離開網路遊戲,就像讓賭徒離開牌桌一樣困難,也許還更加艱難。

我知道不只一個孩子沉迷遊戲,也不只是孩子沉迷。有些男人年近而立,或者年過而立,不願做家務,不願管孩子,甚至不願工作,只顧著天天打遊戲。給他一箱泡麵和一款大型網路遊戲,他可以連續一個月不出門,完全忘記在這個世界上還有「責任」兩個字。

我不認為遊戲全是壞東西,能讓大人和小孩無憂無慮地玩,正是現代科技與和平環境提供的美好福利。但如果毫無節制,遊戲就類似毒品,會讓人上癮。我覺得應該讓人掌控遊戲,而不是讓遊戲掌控自己。

怎樣才能讓人掌控遊戲?怎樣才能從遊戲陷阱中拔出腿呢?一個至今看起來還算有效的方法是:想辦法讓玩家了解遊戲的核心。

無論網路遊戲或單機遊戲,無論電腦遊戲或手機遊戲,無論2D遊戲或3D遊戲,核心都是一堆代碼,由程式設計師編寫的電腦代碼。程式設計師用電腦聽得懂的語言設計指令,這個過程叫做「程式設計」。當孩子學會程式設計後,他就會不由自主地從上帝視角看待遊戲,才更有可能擺脫遊戲的掌控。

道理非常簡單──假如我們試圖戰勝一個很難打敗的敵人,首先要了解敵人。「知己知彼,百戰百勝」,這句老話絕對不是亂說。所以在那個暑假,我開始教兒子電腦知識,學習程式設計。

我先讓他熟悉鍵盤,再陪他看完整套兒童電腦入門影片(網路很多,許多出版商也製作過很多這類產品),接著帶他學習一款非常適合小學生入門的程式設計軟體──由麻省理工(MIT)開發的積木式程式軟體Scratch。

我帶著他學習Scratch一年,到第二年暑假,就讓他接觸真正的程式語言。我幫他選的程式語言是Python,因為十分流行,且愈來愈大眾化。更重要的是,Python是一門在入門階段相對簡單的高級程式語言,能讓初學者找到成就感,而成就感才是學習的最佳驅動力。

第三年暑假、第四年暑假……我們利用假期,偶爾會利用週末,斷斷續續地學習Python,隔三差五地編寫代碼。學習效果如何呢?上國中時,我兒子終於可以獨立編寫一些能在生活中用到的小程式了。他是否還在打遊戲呢?是的,但他不再痴迷遊戲,而是在學習和運動累了以後,用遊戲放鬆一下。事實上,如今他喜歡自己動手編寫遊戲,就是那種非常簡陋的單機版遊戲,用來向朋友們炫耀。同時我不得不承認,他在程式設計方面缺乏悟性,絕對不是天生適合做程式設計師的天才少年。

當然,我沒有非要把孩子培養成程式設計師的計畫,因為我自己也不是程式設計師。

我現在的職業是作家,以前的職業是測量和製圖員。我在大學時期才學習程式設計,當時可不是為了擺脫遊戲,而是為了賺錢。
請允許我用一些篇幅分享學習程式設計的經歷。
一九九九年,我上大學後,第一節電腦課,老師在電腦教室裡向幾十位同學提問:
「學過電腦的請舉手。」
不到一半同學舉手。
「用電腦打過遊戲的請舉手。」
舉手的超過一半。
「有沒有從來沒摸過電腦的?」
我舉了手,又放下,因為整間教室只有我一個人舉手。
課堂上,我不敢碰任何按鍵,唯恐弄壞要賠。課後偷偷問旁邊的同學:「老師說移動滑鼠,滑鼠是什麼東西啊?」

那節課過後,我開始發憤學電腦。第一,我感覺到「別人都知道而我不知道」的那種壓力;第二,我在報紙上看到一篇新聞 ─某公司招聘程式設計師,月薪新臺幣二萬三千元。

現在月薪二萬三千元屬於低薪,但在二十多年前,可是一筆了不起的鉅款,夠我繳兩年學費!為了這筆錢,我必須學電腦,必須學程式設計,我希望將來也要賺到這麼多錢!

老師讓學盲打,我既沒有電腦,也不捨得花錢買鍵盤,乾脆在紙上畫一個鍵盤。

老師教Word和Excel,說學會了萬用字元和規則運算式的學生,將來會很搶手。我去圖書館借了一本《office高級辦公》教材,背熟上面的所有萬用字元。

二○○○年,我們開始上程式設計,兩個星期才有一次去教室免費上機的機會,平常則要花每小時七元的費用租用電腦。我不捨得花這筆錢,就在紙上寫代碼,想像實際運行的樣子。後來電腦考試,我是滿分通過。

當然,課堂上那些電腦知識遠遠不夠用,但每所大學都有圖書館,裡面都能借到程式設計參考書。從《VB程式設計》到《C++入門》,從網頁設計手冊到資料庫管理手冊,一本一本地借,一本一本地啃,看見很酷的代碼就先抄到紙上,再找機會借電腦實測。

從二○○一年下半年起,我已經可以憑程式設計的技能賺錢了。我用FoxPro(一款早已過氣的資料庫管理系統)編寫一個外掛程式,還用 VB 編寫一些能自動計算變異數、標準差、相關係數,能自動繪製關聯模型的小程式,幫助做課題的導師省去大量毫無意義的手算環節。導師沒有讓我白忙,有段時間按照每月一千三百元的標準發給我補貼。

二○○二年,我為一家勘測規劃機構開發一款「平差計算器」,能夠把測量誤差平均分配到圖紙上。透過這款小軟體,我賺了二千六百元和一臺即將報廢的電腦,這是我擁有的第一臺電腦,一直用到大學畢業。

我當時經常去3C賣場買1.44MB的磁片,把我寫的代碼存到裡面。後來還斥資買了一個32MB的隨身碟,像寶貝一樣掛在脖子上,經常被別人誤認成打火機,要借來點菸。

大學畢業後,我被導師推薦到勘測單位上班,沒有從事電腦行業。但我對程式設計的興趣並未衰減,當年學過的電腦知識,特別是程式設計,今天依然在發揮作用。

母親愛聽戲曲,我寫了一些網路爬蟲去相關網站上自動搜索可以下載的戲曲,批量下載到唱戲機裡。

孩子上小學時要做大量四則運算、分數運算,要找出公因數和公倍數,計算各種幾何體的面積和體積,這些作業通常要求家長檢查和簽名。為了減輕這個工作量,我寫了許多自動檢查作業的小工具。

我自己寫書、寫專欄、寫劇本,要查很多資料,要分析很多文獻,一些科普類書稿還不可避免地涉及數學運算。怎麼辦?透過程式設計來提高效率肯定是最划算的選擇。例如從一部長篇小說裡分析人物關係,完全可以先導入一個自動分詞的函式庫,再用K-近鄰演算法寫一個分析器,最後用matplotlib這樣的三方庫繪製一張龐大但精確的社會網路。你可能對那部長篇小說很熟悉,但借助程式設計卻能發現許多原先很容易被肉眼忽略的關鍵資訊。

金庸武俠經典《笑傲江湖》,主人公令狐沖「自習獨孤九劍後,於武功中只喜劍法」。而我則覺得,當一個人真正領略到程式設計的好處後,就會迷上它,因為程式設計讓生活更美好。

本書是繼《誰說不能從武俠學物理?》、《誰說不能從武俠學化學?》和《誰說不能從武俠學數學?》後,我的第四本「武俠科普」。書中分享的程式設計知識都是入門級,既沒有涉及高深演算法,也沒有涉及當前軟體發展領域正在使用的種種框架。無論是小朋友還是大朋友,只要此前摸過電腦,只要知道什麼是鍵盤和滑鼠,就能讀懂書中的絕大部分內容。

我希望你能耐心讀下去,還希望你在閱讀的同時,最好在電腦上寫一寫代碼,特別是書裡那些不複雜的範例。因為程式設計是一門實踐性極強的技能,光說不練是體會不到樂趣的。

最後祝全天下愈來愈多孩子盡快擺脫遊戲的控制,從此迷上程式設計的魔力。

 
內文摘錄