為什么說Python是偉大的入門語言

yrred 7年前發布 | 31K 次閱讀 Python Python開發

原文: Why Python is a Great First Language

作者: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是偉大的入門語言。

 

來自:http://www.iteye.com/news/32434

 

 本文由用戶 yrred 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!