為啥說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語言對比時:
編寫以上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的遊戲,強烈推薦教學開發。
4
專業技能
不同於Scratch或者Logo語言教學,Python在專業和學術界有更廣泛的用途。它是一門可以伴隨學生開始和成長的語言。如果學習低級語言會發現Python與C緊密融合,而探索如Ruby的更高級語言會發現也能平滑過渡。如果想對Web應用程序進行更緊湊的控制將發現Javascript技術能與Python Web框架很好地結合在一起。倘若要探索像函數式編程的範例,會發現可以在不學習一門新語言的情況下實現。
然而最重要的是,開始編程時有更好體驗的學生,會有足夠的意願和好奇心去發展最符合自己目標的專業技能。
5
社區支持
我之前寫過如何讓代碼有內涵。學生參加社區交流會就是再明顯不過的方法,我也常去參加(更多信息點擊這裡:http://blog.trinket.io/art-history-programming-meetups/)。Python社區交流會必然最受歡迎,因為那是開始探索事物真相和接觸未來挑戰的絕佳場所。
樣例實際發揮作用的部分是內置於Python的Turtle組件,它提供了簡單有效的方式去教授抽象的Python基礎知識。Turtle組件第一次被MIT』s Seymour Papert採用,後來到了1960年在設計Logo語言中得到進一步推
想要系統學習python和免費學習資料的 可以加裙 四七四五三四九五一
※Python中用函數編程 打開另一個世界的大門
※Python使用擴展庫progressbar顯示進度條
TAG:Python |
※python是什麼語言?現在學Python好找工作嗎?
※為什麼選擇Python作為入門語言?
※為什麼Python是AI從業者的首選語言?
※python是什麼語言?零基礎適合學Python嗎?
※哪個語言敢脫離CPU?python
※Stream:我們為何要從Python轉到Go語言?
※打敗 Python、JS、C#成最受歡迎編程語言,是時候掌握 Rust 了嗎?
※我為什麼要從 Python 轉向 Crystal 語言
※好文翻譯丨我為什麼要從 Python 轉向 Crystal 語言
※Python就是語言中的C位,不服來辯!
※絕了!Python又放大招,逆襲宇宙語言!
※語言趣談:「母校」英語是「Mother school」?別鬧笑話了!
※TensorFlow,為什麼選擇 PyThon 作為開發語言?
※OpenAI被諷ClosedAI?語言模型並沒有想像中的強大
※Python作為人工智慧首選編程語言,你會Python嗎?
※python入門——動態語言
※Python編程語言學習得怎麼樣,看你是否正真入行Python領域
※Python 在數據科學中一直打壓 R 語言?
※為什麼Python被稱為「宇宙最好的編程語言」?
※都說Python是最接近AI人工智慧的語言,那麼它的優勢和缺點是什麼?