說從事界面設計(UI)及用戶體驗(UX)要懂編程(programing)好像有點過份,但事實上世界已經是斜槓(Slash)世代,我們什麼都需要做。所謂知識(knowledge)就是"知"與"識",你不一定什麼都要識做,只少什麼都要知,懂一點點永遠都有好處。
從事界面設計有十年以上經驗的都會懂一點HTML,今天以 figma 制作界面可能不需要懂編程,界面與編程是分開的,但設計師不懂編很多時都難與編程員溝通,這便會出現問題,所以文章會講解編程的基本,讓不懂編程不要怕了,何況大數據年代也不可能對編程零知識。
首先我們講解syntax(語法),就是編程的獨有指令表達,例如我們打開一個HTML檔案,最先出現的是<html>, 這指令是告之以上的段落是HTML,那browser就會明白,再執行一些指令。以上說是段落,所以完整的syntax是<html>再加</html>, 就是開始與完結,程式便會知道這兩個syntax之間全都是HTML的指令。Syntax會以"<"及“>"包起一些文字,這也是程式辨認指令的方法。
編程的基本慨念就是頭尾碼,"< >"是一個字詞的頭尾碼,"<>"加上"</>"就是段落的頭尾碼,以下是一個簡單的例句:
<html>
Hello World!
</html>
如果你以plan text輸入到browser,便會出現"Hello World!",那些<html>不會出現,因為這些都是syntax,是不會被展示。
以下說編程進一步慨念,也是為什麼編程這麼強大的原因,coding與programing有一些分別,coding如以上說的syntax,有些像代碼,但programing可以自的執行指令才是它的強大。以下所說的 for loop便是一個循環去執行指令,是一種算法,之後會以數學的方法運作,所以小學時學的equation可以重新應用。
下圖是一個 for loop 的運作,for 可以解析為"當",第二個指令是 initialization, 第三個指令是 condition, 第四個指令是updation,For Loop 有趣的地方是它會不停更新(updation),可以一秒更新一次,可以千份之一天新一次,例如以上的編程是控制一個燈的開關,首先程式要check現在的狀況(condition),它可以是關或開,我們可以下一個指令,當燈的狀況是關便開,當是開的時候便關上,最後for loop會不停更新狀況,最後產生一個閃燈的效果。
可能你會問,做一個閃燈的效果,這有什麼大不了。這只是最基本的編程能執行的原因,今天的5G及光纖都是以這種開與關的二進數學為基礎,程式不會明白人類的複雜的情感指令,但它可以執行被編寫後的指令,當一個用家的臉出現奇怪的變化,變化是情感表達,就是用家這一刻在想什麼,那程式兒可以收集data,程式也可以執行一些預設的指令。這樣的解析希望可以給不懂編程的設計師及營商者明白,程式與日常生活指令化的關系,程式就是一個極低廉的員工在24小時不停運作,也是現在流行的big data與AI的基本原則。
Sic Leung
UX Evangelist
Chairman of IxDC Hong Kong
www.sicacademy.org