摘要: 本文作者列舉了一些Python特性,並認為Python是最適合入門的編程語言,一起來看一下。
作者:Elliott Hauser
翻譯:黑色巧克力
本文作者列舉了一些Python特性,並認為Python是最適合入門的編程語言,一起來看一下。
最近發表了三篇關於我的藝術史背景是如何影響我教學的文章。現在要分享一篇,為什麼Python對於青少年和成年人是入門語言的最佳選擇。
偉大的入門編程語言有什麼特徵呢?或者換一種方式問,“當我們教他們編程時,應該給予他們什麼?”對於成年人和青少年學生,我認為以下五點非常重要。
學生從入門語言獲得的五樣東西
- 非常棒的首次體驗,就像一本書的第一頁,首先需要“入迷”,學習新知識不可避免的會遇到挫折,但要有持續的熱情和好奇心,這對於那些從未接觸過編碼的年輕人來說是至關重要的;
- Web編程的能力,對於職業發展和程序工藝來說,Web編程越來越重要,學生有機會就應當掌握一定的Web架構基礎;
- 桌面編程能力,儘管將來趨勢將更多的轉移到Web應用上,但沒什麼能比開發和運行一個本地程序來的直接;
- 有市場的職業技能,儘管在學術和業餘編程中已經非常出色,但教授學生的技能在職業環境中也應該能派上用場;
- 社區支持和輕鬆的語言環境,這裡再一次強調,對於那些從未接觸過編碼的年輕人來說是至關重要的。
一些老師或者學生可能不同意這些作為入門語言的必要條件。但我的觀點和經驗是,沒有任何一門語言能像Python一樣做到以下五點。
1.非常棒的入門體驗
按照慣例,用戶寫的第一個程序是打印“Hello World”。在所有實現“helHello World”程序的語言中,Python可以說是最簡單的。只需要在Python編譯器中簡單的輸入以下這些,然後按下回車。
Interactive Python Console
>> > print( "Hello World" )
Hello World
>> >
這個互動示例值得嘗試!
Python代碼的可讀性使它成為入門語言的最佳選擇,尤其是當它與語法冗長明顯的Java語言對比時:
public class HelloWorld {
public static void main ( String[] args ) {
System. out .println( "Hello, World" );
}
}
編寫以上Java代碼後,還需要進行編譯,然後在命令行運行。這些不可避免的流程讓學生覺得編程困難。而那些輸入print(“Hello World”) 然後按下回車就能實現的學生,會有機會和信心學習更多。
2.Web編程
Web上Python廣為熟悉,不同於C.Frameworks這樣的低級語言,而像Django,Pyramid和Flask,可以讓學生創造出真正的Web應用程序,這類應用程序與他們每天使用的網站一樣強大。Flask是我個人非常喜歡傳播的語言,因為它與免費的Heroku賬號組合,能讓學生在一個小時之內部署他們自己的簡易博客。添加一條web應用的響應路徑也是如此簡單。
@app.route("/about")
def about () :
return render_template( "about.html" , now=datetime.datetime.now())
這幾行代碼並不簡單,但幾次課程之後學生便可以自己理解。在信心和好奇的驅使下,學會以最基本的方式響應Web應用請求,也是巨大的進步。
3.桌面應用
專為Web設計的PHP和JavaScript語言限制了學生對Web的開發,然而Python在本地計算機開發同樣廣為熟悉。Pygame,wxPython和其他為桌面程序使用的開發庫,讓學生勇於建立和運行他們自己的桌面應用。Katie Cunningham寫了一本我認為是關於Pygame教學的權威指南的書。我使用Pygame教青少年和畢業生開發桌面應用,樂趣多多。下面是一款被稱為Starpusher的遊戲,強烈推薦教學開發。
這款遊戲可以從pygame.org 下載,或者從我Github的倉庫獲取,它也可以在Raspberry Pis平台上預裝。
4.專業技能
不同於Scratch或者Logo語言教學,Python在專業和學術界有更廣泛的用途。它是一門可以伴隨學生開始和成長的語言。如果學習低級語言會發現Python與C緊密融合,而探索如Ruby的更高級語言會發現也能平滑過渡。如果想對Web應用程序進行更緊湊的控制將發現Javascript技術能與Python Web框架很好地結合在一起。倘若要探索像函數式編程的範例,會發現可以在不學習一門新語言的情況下實現。
然而最重要的是,開始編程時有更好體驗的學生,會有足夠的意願和好奇心去發展最符合自己目標的專業技能。
5.社區支持
我之前寫過如何讓代碼有內涵。學生參加社區交流會就是再明顯不過的方法,我也常去參加(更多信息點擊這裡)。Python社區交流會必然最受歡迎,因為那是開始探索事物真相和接觸未來挑戰的絕佳場所。
樣例實際發揮作用的部分是內置於Python的Turtle組件,它提供了簡單有效的方式去教授抽象的Python基礎知識。Turtle組件第一次被MIT's Seymour Papert採用,後來到了1960年在設計Logo語言中得到進一步推廣。這裡可以看到2009年關於組件的最新特徵介紹。Trinket使得Turtle組件更易使用和學習。更多信息可以查看我們主頁上的交互示例。
使用Python教學吧!
- 我的下一篇文章會寫關於Python教學的最好互動資源。同時我在下面列了一份清單,包括為初學者提供幫助的社區資源,以及其他討論為什麼Python是一門偉大的入門語言的文章,希望對你有所幫助!
- Python軟件基金會維護的新手教程和指南,它們都有對新語言支持的特徵。
- Python教育的特殊興趣組。
- 公開於Python.org的系列優秀視聽資源鏈接。
- 從Java轉向Python的大學研究論文。非常感謝北卡羅來納州州立大學研究生Michael Head的貢獻。
- 生活駭客文章寫到Python在關於最好的入門語言讀者投票中獲得了第一。
- Jessica McKellar最近在PyTennessee報告中陳述了Python教育在學校的情況,並指出我們可以採取一些具體行動步驟表示支持。
- 你好世界程序講述為什麼Python是偉大的入門語言。
End.
轉貼自: 36大數據
回應
- 找不到回應
留下你的回應
以訪客張貼回應