Python

advertisement
Computer Programming
for Everyone
and ...
How
Python
Helps You ?
胡崇偉
marr.tw@gmail.com
In the 70s,
Can We Have
a Computer
on Every Desk?
Take It or Not?
不管你是否喜歡這個數位世界
它都已經全面影響你的工作和生活
A Follow-up
Question:
What will Happen
if Users can Program
their own Computer?
Question:
What will Happen
A Follow-up
if We have More
Hackers ?
我看到的是…
人們可以
有更多機會
實現
自己的
夢想
真正的窮
不是沒有錢,
而是沒有能力去付出
是滿腔袂爽的自主貢獻者
不是佛心志工
我相信…
夢想,不分大小
實踐,贏得掌聲
天賦,有所不同
機會,應該相同
程式語言
一定要夠簡單
才能讓人
快速上手
三歲小孩也會 Python 嗎?
互動 Interactivity
直譯 vs 編譯
素描 vs 油畫
修訂詞句 vs 批改作文
History of
Programming
Languages
2,500+ for 50 years
COBOL
C
Pascal
C++
BASIC
Java
Perl
PHP
1968
1978
1988
1998
Fortran
IBM PC
Internet
Python
Javascript
2008
History of Python
vs Diffusion of Innovation
多數的
學習與進步
依賴
既有經驗
做為基礎
以 數學, 語言 為例
Fibonacci Numbers
def F(n):
if n <= 2:
return 1
else:
return F(n-1) + F(n-2)
縮排 Indentation
視覺式辨識 程式區塊 Block
def F(n):
if n <= 2:
return 1
else:
return F(n-1) + F(n-2)
Code is Read
more than
it is Written
Readability counts.
學習語言
是怎樣的
歷程?
口語前期 1. 開始出現字彙
2. 累積達50字彙並組合
口語期
(電報句)
3. 開始使用關連詞
(而且,可是)
精熟期
口語前期
口語期
精熟期
聽說
讀
寫
剪下 貼上
有意識地拷貝 對常見錯誤能夠反應
有意識地使用成語 能夠重構
Code is Copied
and Pasted
more than
it is Written
Repository counts.
關鍵字 Keywords
Python
Ruby
PHP
Java
~ 30
~ 40
~ 50
~ 50
def F(n):
if n <= 2:
return 1
else:
return F(n-1) + F(n-2)
簡單的東西
搬不上檯面吧?
NASA
Google
Dropbox
MIT
表面上簡單
內涵並不簡單
不斷演進的動力
來自
社群參與
形成
最佳典範或慣例
客製化運算
資料要在異質系統之間互通
資訊要在操作環境之間同步
行動要在群組之間協調
Dark
Age
PC
Net
Web
Cloud
1968
1978
1988
1998
2008
通用語言 Lingua Franca
A language that is
adopted as a common
language between
speakers whose native
languages are different.
語言
有什麼
用途?
數位世界的語言需求
探索
大師
腳步
Pythonic Thinking
Graphical Programming
Blocky
Programming Riddles
The Python Challenge
Project Euler
Community Projects
Kivy, Pandas, iPython Notebook,
Pygame, OpenStack
IPython Notebook
Code Demo
Presentation Mode
LaTeX, Plot
Integration
ArcGIS, GAE, Blender, Bonhamizer
線上課程
1. Codecademy
2. Treehouse
3. Udemy
4. Coursera
5. Udacity
社群聚會/付費課程
1. Taipei.py, PyHUG, Hualien.py,
Tainan.py, Kaohsiung.py, Taichung.py,
Taoyuan.py
2. PyLadies, Django Girls
3. KidsCoding, CodeKoala
4. RaspberryPi, BananaPi
5. HackerSpace, MakerBar, Maker Faire
一見如故
Python folks around the world share the
same culture.
我相信…
實踐夢想
的過程
能讓我們
體驗
所有的
美好
Python Inspired
Find Your Dream
Download