事情真的會如程序員們期待的那樣發展嗎?電子工程師該如何應對?Python語言又為什么突然受到了格外的重視呢?VB做錯了什么你要拋棄他?其實VB并沒錯,只是用他的人變了。
同樣在1991年出現在人們的視野中,兩者目前的地位卻截然不同:據最新的TIOBE流行編程語言排行顯示,Python牢牢占據第4名的位置,而VB已掉到第20名,甚至還有大幅下降的趨勢。
從2016年到2017年,第4位的Python地位穩固,VB則從第14位掉到了第20位。圖片來源:tiobe.com
VB的衰落有諸多原因存在。主因是微軟的退場。2008年4月,微軟宣布停止對VB的支持,轉向C#和VB.net,導致社區青黃不接;再觀國內教育市場,NOIP等信息奧賽在2005年就將BASIC語言移出可使用項,人們對VB的刻板印象還停留在畫幾何圖形、寫九九乘法表等初級應用,在找工作求職時,也很少人會把它寫在簡歷里作為掌握的計算機語言。換成一個更具活力的編程語言的需求迫在眉睫。
VB已死,Python當立
C/C++、Java、Python早已在旁邊虎視眈眈已久,但為什么Python獨獨受到了重視呢?
雖然C語言的語法簡單明了,但必須得自己管理內存是一件很頭疼的事;而Java的語法過于麻煩,導致新手過多關注語法而無法領會計算機入門的要點。Python是這三者中最好的計算機入門語言。在新手階段你可能無法體會到C和Java的強大,卻可以體會到Python的簡潔。
這種語言極易上手,接近自然語言的風格,稍加熟悉便可很快熟稔于心。閱讀Python代碼就像是在閱讀英語文章一樣,讓你更清晰地明白邏輯架構,不必過度關注語言本身。這吸引了大批其他行業人士使用Python完成專業項目,你很容易會遇到懂 Python 的醫生,會 Python 的會計師,甚至是用 Python分析葡萄種類的釀酒師。
Python開發者社區也因多元化元素的引入而蓬勃發展,無論是菜鳥碼農還是老司機,都能在充足的文檔、教程中找到你想要的答案。使用Python的明星互聯網公司也非常多,諸如Youtube、Dropbox、Quora、Instagram、Reddit,等等一些不知道存不存在的公司,核心業務都是基于Python開發的。
Python的“幕后推手”是誰?
在VB占據中學生信息技術教科書這么多年以后,教學改革也該與時俱進了。當然,這背后還有幾個大事件是“幕后推手”。
一、美國政府的推動。
奧巴馬在卸任前的最后一年里,提議大力推行基礎教育,總投入40億美元,以確保每一名K12學生都能獲得接觸計算機教育的機會。
奧巴馬于2016年1月30日的每周電視講話宣布“CS For All”
繼任者特朗普的規劃則更為清晰,他預計在教育部每年投入2億美元來增加K12學校對計算機教育的重視程度,同時要求教育部提交年度報告反饋成效。相信無論是支持或反對特朗普,人們都樂于看到政府對教育的重視。
二、高校的重視。
在美國的頂級高校中,Python已經成為教授計算機科學入門課程方面最受歡迎的語言。
其中排名前10的CS系中有8個使用Python作為主要教學教學語言,MIT和UC Berkeley的計算機系最近甚至將其入門課程的計算機語言改成了Python。
三、MOOC的支持。
最大的三個MOOC(Massive Open Online Courses)網站Coursera、edX和Udacity也全都提供了Python語言的入門課程。
Python適合青少年嗎?
對大多數人來說,編程是一件“大人的事兒”。Python又真的適合青少年從小學習嗎?
從某種意義上來說,這一點或許恰好是Python的優勢。實際上,已經有不少年輕有為的少年英才通過Python取得不俗的成績。早在2013年,就有一位13歲的Python開發者朱利安·邁耶(Julian Meyer)在網站上發表文章,教自己的同齡孩子用Python做小游戲。在這篇教程中,他通過一款自己設計的名為《兔子和獾》的塔防游戲來引導讀者直接上手。從安裝Python,到添加兔子的形象、動作,再到設計和反派獾的交互動作,最后添加聲效和背景音樂,一個入門級的小程序由此成型。
邁耶用Python做的塔防游戲《兔子和獾》截圖。 圖片來源:winduino.co.kr
另一名Python開發者、現年17歲的學生凱文·法蘭斯(Kevin Frans)做出了更為驚人的成就:他以第一作者的身份發表論文《Meta Learning Shared Hierarchies》,提交到了機器學習頂級會議ICLR2018上。
法蘭斯與他發表的論文。圖片來源:twitter
在法蘭斯15歲時,他就已經通過Python來訓練神經網絡了。受到玩Atari游戲的AI和AlphaGo相關報道的影響,他閱讀大量論文并且復現了部分功能。吸收大量知識后,他創作了一個交互式網頁,可以用漫畫風格為素描畫自動上色。
法蘭斯的才能被挖掘的過程也頗為有趣。一次,法蘭斯在試圖解決OpenAI的一項開放問題時頗有眉目,便寫信給OpenAI研究員約翰·舒爾曼(John Schulman)尋求建議。來來回回討論幾次算法后,舒爾曼查看了法蘭斯的個人博客才知道他是高中生,大為吃驚。后來法蘭斯申請了OpenAI的實習資格,面試官正是舒爾曼,他也對這次法蘭斯提交的論文贊不絕口:“他為這一問題提供了全新思路,部分結果已經超越前人所做。”
結語
無論是Python還是JAVA還是C亦或是其他什么編程語言,最重要的都是教學方式。
如果只是單純地者加進高考或者納入義務教育的范疇,而教學模式仍然還是VB那種老一套,老師照著課本照本宣科,或者是紙上談兵,圍繞考點背誦學習做習題,開放機房讓學生自己隨便摸一摸,那么效果肯定是不理想的。
在興趣引導下學習,才能事半功倍,法蘭斯就是很好的示范。作為初學者,如果帶著目的、帶著需求去學,進步就會很快。計算機編程本身是一個動手實踐的項目,動手越多學的就越快、越好。不管Python會不會成為高考項目,這門語言都能為學習者帶來無窮樂趣。
一個AI
假如你一覺睡醒發現自己回到了小學……你恐怕就再也畢不了業了!
-
電子工程師
+關注
關注
252文章
769瀏覽量
95657 -
C語言
+關注
關注
180文章
7608瀏覽量
137152 -
python
+關注
關注
56文章
4800瀏覽量
84820
發布評論請先 登錄
相關推薦
評論