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