iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
1

今天真是風和日麗的好日子呢。我踏著輕快的腳步前去車站附近的咖啡廳。我和男孩約在那呢!

「那...不知道你週末有沒有空呢??」上次一起吃午餐時,最後男孩害羞地問道。

上次午餐後來他講了一些簡單的電腦知識給我聽,比方平常用的 PNG 或 JPEG 分別代表不同的圖片格式,然後說原來圖片壓縮其實有很多種方式,像是 JPEG 是一種破壞壓縮,壓縮過就回不去了。我想想,就像是保特瓶壓扁之後,想要恢復原狀幾乎不可能了呢!

實在是太有趣了,勾起我學習的慾望,所以就叫他在多講一些給我聽。

「有喔」我不懷好意地笑著看他,看他要怎麼接下去。

「那我們週末約在咖啡廳如何?」

「可以・喔!」


男孩已經在咖啡廳內,看到我便向我招手。

「你今天穿的真漂亮耶!」

果然是單純直率的理工男,我心想。

「謝謝」我撥了一下瀏海,心理爽不得了。

「那我們今天來聊聊程式語言吧!還有什麼是程式。」男孩眼神開始變得很專注。

「我們平常用的軟體、App、網站這些,其實都算是一種程式,然後運作在不同裝置上,像是手機或電腦。」
「比方說我看到你有用記帳的 App 對吧?」男孩問。

「對唷,不然我常常不小心就要吃土了」我看著手機,不好意思地回答。

男孩繼續:「這個 App 其實就是程式設計師將各種邏輯用程式碼表達出來,然後包裝成一個軟體。
舉例來說,App 中可以新增一筆消費記錄,每次增加消費記錄就要填上買什麼東西、花了多少錢、還有日期。並且他還能去統計每個月總共花了多少,並且分類分別是花在什麼東西上面。
那項統計總花費這個功能,就可以視為一個邏輯:完成這步驟需要先把這個月份的紀錄選出來,然後再把錢的部分加總」

「好像還是有點抽象耶...所以程式確切要怎麼辦到?」

「舉個例子,假設你要製造一支聖誕,你會怎做?」

「恩...挖幾球冰淇淋,然後淋上果醬吧?」

「好。假設你是就是一個製造聖誕的程式,他現在開始運作了,那我們先嘗試挖冰淇淋。可是,你的程式卡住了喔!」

「為什麼!!」我大叫。

「因為『你』不知道冰淇淋桶在哪裡,所以無法挖唷」

「原來這麼麻煩...那我把要去哪裡挖也講清楚這樣總行了吧?」

「那我們找的到要去哪裡挖了,可是還是有問題耶」

「又怎麼了?」我一臉苦笑。

「因為『你』不知道一次該挖多大的冰淇淋、多少球冰淇淋、哪幾種口味的冰淇淋」男孩賊賊地笑道。

「OMG!怎麼那麼麻煩!」我有點無言了。

「恩,這就是一支程式該如何運作的模樣,程式設計師必須把各種情況都考慮周全,並寫的一清二楚,這樣電腦才能真正照工程師的想法去跑,並且跑出正確答案喔!」

「所以一支聖誕程式到底長的像怎樣啊?」我歪著頭,無法想像他會多複雜,

「我想想喔。大概會是這樣吧」

男孩從包包拿出紙和筆,開始在紙上寫下一條條「指令」。

製造聖誕的程式:
1. 知道哪裡可以挖冰淇淋。
2. 一次要挖完整的一球,並且分別挖巧克力和草莓各一球。
3. 都放到玻璃碗中。
4. 淋上草莓果醬 20 ml。
5. 灑上一點巧克力碎片。

「我想這樣應該就可以了吧。」男孩盯著指思考著。

「這和食譜哪裡有差啦!!」我無奈的說道。

「的確滿像的呢!食譜就是人類把製作料理的步驟寫得很清楚,讓另一個人可以照著做就做出來;那程式就是工程師把要做的工作定義得很清楚,讓電腦知道該怎做並做的出來。」
「這樣去想的話,他們還真的沒啥差別呢~」男孩開心地說,玩弄著手上的筆。

「原來這樣就算是一支程式了喔?」我實在無法相信。

「對唷!這就是妳的空想程式!」


嗨,喜歡本系列的話,可以追蹤作者粉專「微中子」喔!


上一篇
零、美術女孩遇見工程師男孩
下一篇
二、女孩的第一支程式(1)
系列文
念美術的女孩不可能學會資料結構與演算法?4
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
hannahpun
iT邦新手 3 級 ‧ 2019-09-12 00:36:52

所以每次客戶提出需求工程師都會在內心白眼,因為根本沒說清楚他們要甚麼...
對了 "看到我變像我招手" -> 這裡似乎有錯字

微中子 iT邦新手 4 級 ‧ 2019-09-12 01:16:08 檢舉

謝謝糾正 XD

客戶不懂 感覺也只能慢慢幾是給他們聽了

我覺得溝通能力滿重要的,能把專業知識用別人聽的懂的話說出來也很重要

0
best1433
iT邦新手 5 級 ‧ 2019-09-16 14:20:33

是聖「代」嗎?

我要留言

立即登入留言