人人能編程是可能的 嗎? gasolin @ Coscup 2012 1
Jan 28, 2015
人人能編程是可能的嗎?
gasolin @ Coscup 2012
1
大綱• 為什麼要談這講題• 對講題的定義• 不太可能的可能性• 編程元素間距假設• 實例驗證 (周蟒、App Inventor、Blockly)
• QnA
2
上網設備使用量
PC
Internet
1995
滿足需求
3
上網設備使用量
PC NB
Internet
1995 2003
滿足需求
3
上網設備使用量
PC NB SmartPhone + Pad
Internet
Mobile
1995 2003 2010
滿足需求
3
上網設備使用量
PC NB SmartPhone + Pad
Internet
Mobile
1995 2003 2010
更多設備
滿足需求
3
上網設備使用量
PC NB SmartPhone + Pad
Internet
Mobile
1995 2003 2010
更多設備更常使用
滿足需求
3
上網設備使用量
PC NB SmartPhone + Pad
Internet
Mobile
1995 2003 2010
更多設備更常使用更易取得
滿足需求
3
上網設備使用量
PC NB SmartPhone + Pad
Internet
Mobile
1995 2003 2010
更多設備更常使用更易取得更多需求
滿足需求
3
上網設備使用量
PC NB SmartPhone + Pad
Internet
Mobile
1995 2003 2010
更多設備更常使用更易取得
人 設備
更多需求
滿足需求
3
上網設備使用量
PC NB SmartPhone + Pad
Internet
Mobile
1995 2003 2010
更多設備更常使用更易取得
人 設備
更多需求
滿足個人化的需求
3
轉化
使用者
• 個人化的需求始終存在• 更多使用者->轉化更多開發者
開發者
4
人人 = 大眾
15~45聽眾
5
人人 = 大眾
15~45聽眾
BG 0~24 (1984~2012)
5
人人 = 大眾
15~45聽眾
BG 0~24 (1984~2012)
資訊世代
5
人人 = 大眾
15~45 略長聽眾
46~80
資訊世代
5
人人 = 大眾
15~45 略長聽眾
46~80
工業世代資訊世代
5
人人 = 大眾
15~45 略長略少聽眾
46~805~14
工業世代資訊世代
5
人人 = 大眾
15~45 略長略少聽眾
46~805~14
工業世代原生(資訊)世代 資訊世代
5
人人 = 大眾
15~45大眾
略長略少聽眾
46~805~14
工業世代原生(資訊)世代 資訊世代
5
(與大眾之間)數位落差
聽眾
大眾
6
(與大眾之間)數位落差
聽眾落差
大眾
6
30年間的三波變化
接上網路 接入網路世界
社交網路 串連實體/網路世界
移動網路 隨時融入實體/網路世界
BG -0~24+
7
30年間的三波變化
接上網路 接入網路世界
社交網路 串連實體/網路世界
移動網路 隨時融入實體/網路世界
Web 2.0
BG -0~24+
7
30年間的三波變化
接上網路 接入網路世界
社交網路 串連實體/網路世界
移動網路 隨時融入實體/網路世界
Web 2.0
Web 3.0?
BG -0~24+
7
落差 是結果
8
落差 是結果
怎麼解決?
8
落差 是結果
怎麼解決?
8
落差 是結果
找出背後的問題怎麼解決?
8
可能性 (各種)
9
人人能下廚是可能的嗎?
credit http://angertfamilyblog.blogspot.tw/2012/05/side-dish-favorites-corn-avocado-and.html10
微波食品
credit http://www.hireitperth.com.au/microwave.html11
即使有可能,但何必人人編程?
14
定義15
編程和大眾很有距離和現在常見的也不⼀一樣
1940’
16
編程的元素
人
18
編程的元素
人 程式編寫
18
編程的元素
人 程式 指令編寫 轉換
18
編程的元素
人 程式 指令 設備編寫 轉換 操縱
18
假設判斷是否更易用的標準
19
四元素間距
人 程式
指令 設備
20
四元素間距
人 程式
指令 設備
六個維度
20
元素間距越近 = 編程越可能發生
人 程式
指令 設備
21
驗證22
驗證過去在Coscup發表過的那些事兒
22
周蟒定義 印出最大值(甲, ⼄乙): 如果 甲 > ⼄乙: 印出 甲, '最大' 否則: 印出 ⼄乙, '最大'印出最大值(3, 4)子 = 5丑 = 7印出最大值(子,丑)
http://zhpy.blogspot.tw
credit http://goo.gl/s0Ozp09人 程式
23
AndroidScripting
Layerhttp://code.google.com/p/android-scripting/
10人 指令
24
AndroidScripting
Layerhttp://code.google.com/p/android-scripting/
10人 指令 設備
24
App Inventor hackthon@ last year coscup BoF
11人 指令程式
25
人 指令程式
27
人 指令 設備程式
27
學習環境28
codecademy
人 指令29
codecademy
人 指令 設備29
khan cshttp://www.khanacademy.org/cs
人 指令程式30
khan cshttp://www.khanacademy.org/cs
人 指令 設備程式30
人 程式
指令 設備
元素間距 =造成數位落差的因素
31
最大限度的封裝複雜度,同時盡可能的追求易用性
32
人人都是博格人credit http://goo.gl/YLPMC
人 程式
指令
borg http://goo.gl/lCyGH
33
人人都是博格人credit http://goo.gl/YLPMC
人
設備
程式
指令
borg http://goo.gl/lCyGH
33
• 程式語言歷史 http://goo.gl/CQRsc
• 視覺化程式設計語言 http://goo.gl/tpJ3e
• http://ejohn.org/blog/introducing-khan-cs/
參考資料
34