用文言文來編程?99行代碼就可以實現冰雪魔法?

2020-12-13 小棧學編程

中學生有三怕,一怕文言文,二怕寫作文,三怕周樹人。文言文雖然是中國古代文化的重要載體之一,但是背誦文言文卻是現在學生最為頭疼的事情。

而就是這樣令人頭疼的文言文,一位華人計算機人才Huang Lingdong將文言文和編程結合起來,開發了基於文言文的程式語言。

他利用NLP的一些技術,將文言文程序語法轉換到 JavaScript 或 Python 運行,讓程序語言遵循文言文的語法。項目問世幾日即獲贊 2.2K,還得到了很多人的微博轉發。

不論是定義變量、函數,還是生成數列,每個文言文都有對應的程序語法。

變量命名

數學計算

函數

數組(列表)

為了更接近歷史的氣息,作者還提供了渲染器,可以將程序渲染成古代書籍的樣子。

編程是一門未來的國際化語言,而文言文則是古代記錄歷史的語言,兩者相結合,蹦出了不一樣的火花。

值得一提的是,這位叫做Lingdong Huang的少年目前是卡耐基大學計算專業的一名大四學生。從高中便開始做各種程序小項目,曾在迪士尼研究實驗室、紐約時報等大廠實習過。

瀏覽他的項目主頁,我們還會看到更多有趣的項目,例如用程序無限生成中國山水畫、慢慢變老特效、格律詩編輯程序等等。

從這些項目上我們可以看出他深厚的文化底蘊,以及對中國傳統文化的熱愛。不論是文言文編程還是其他有趣的項目,都處處體現出這位少年的努力與創造力。

現在的人才,不只寫得了代碼,讀得了文言文,還做得了動畫。

《冰雪奇緣》有多火?有一個班裡有15個小女生的英文名都叫艾莎,可見這些女孩中毒有多深,每個小女孩都想像艾莎一樣擁有魔法。

冰雪奇緣霸屏熒幕,高票房背後是兩億多的超高成本。動畫是一幀一幀渲染的,幾秒的動畫可能會消耗一個動畫師一個月的時間。

動畫特效製作需要花費大量的人力、物力成本。然而這位MIT博士,開發了新特效程式語言Taichi(太極),只需要99行代碼就能像艾莎公主一樣擁有魔法。

一個簡單的物理場景,普通PC僅需幾分鐘即可渲染完成,相比TensorFlow提速了188倍、比PyTorch快13.4倍,代碼長度只有其他底層方法的十分之一。

這位MIT博士叫胡淵鳴,也是一位大神級學霸。高一保送清華,曾拿下APIO 2012、NOI 2012、ACM-ICPC2013長沙區域賽、ACM-ICPC上海區域賽四塊金牌。

不僅如此,他還是清華姚班的學生。在清華有一句話,半國英才聚清華,清華半英在姚班。

清華大學姚班:

姚班是清華大學「計算機科學實驗班(姚班)」的簡稱。由迄今為止首位、也是唯一一位華裔圖靈獎得主姚期智院士於2005年創辦,致力於培養與美國麻省理工學院、普林斯頓大學等世界一流高校本科生具有同等、甚至更高競爭力的領跑國際拔尖創新計算機科學人才。姚班擁有清華大學提供的優質資源,強大的師資陣容,立志培養最優秀的本科生做最優秀的本科教育。姚班的學生匯集了各省狀元和競賽大牛。

在本科期間,胡淵鳴先後前往東京大學、史丹福大學訪學,並曾於微軟亞洲研究院實習,從事深度學習和計算機圖形學研究。本科便有多篇論文中選CVPR、SIGGRAPH等國際頂會。在讀博期間,胡淵鳴完成碩士論文ChainQueen,拿到MIT碩士學位。博一期間,共發表6篇頂會論文。

胡淵鳴接觸編程是很偶然的機會,在小學三年級的時候,他看到堂姐在家玩《仙劍奇俠傳》網遊,就想著自己也想做出一個遊戲,於是便開始有意識地去接觸這方面的書籍。

從此便一發不可收拾,計算機成為他最大的愛好。在同齡人還在玩泥巴時,他便已經投入到編程學習當中。

胡淵鳴說:我並不認為編程枯燥,其實你要是仔細琢磨,很有意思的。就像你們寫完一篇文章一樣,編成一個程序,或是用一種新的算法數據結構優化、迅速地完成一個運算,都是很能帶來愉悅感的。

通過編程,我們可以無限發揮自己的創造力,去實現很有趣的東西;通過編程,我們可以創造並使用工具來突破生理的局限,做到原本不可能做到的事情。

這就是編程的魅力所在。

現代科技背後往往都依託著各種各樣的程序和算法。曾經對這些科技只是設想,現在因為代碼而變成了現實。人臉識別、增強現實(AR)、虛擬實境(VR)、安防監控......這都是編程給予世界的變化。

編程創造可能,同樣也賦予人類更多創造力。擁有編程思維的人,遇到問題時會用全新的思維方式去思考,經常能迸發出新的想法。

編程最大的一個特點就是能讓孩子在編程的世界裡肆意發揮想像力。從製作作品到完成作品,整個創作的過程帶來給孩子的成就感和自信心,是他們最好的持續學習的動力。

蘋果CEO庫克說:「雖然編程不會為人類創造新的世界,但它為創造性解決問題提供了一個機會。」

學習編程,不僅僅是簡單地學習一項技能,而是讓你有機會以「上帝」視角來認識和改造這個世界,並擁有幾乎無限的可能性。因為在現代社會,一切最終都被信息化,而你可以通過編程來對信息做任何形式的加工和處理,只要你想做的,就能做得到。

讓孩子從小去接觸編程便是讓孩子學會去觀察、去解決、去創造。

我們正處於一個只要願意思考,就能改變世界的時代,那麼你是願意去改變世界,還是等待被世界改變呢?從小學習編程,有利於激發孩子不同成長階段的創造力,同時掌握未來信息化社會所需的能力。

相關焦點

  • 用99行代碼實現《冰雪奇緣》
    說到這裡小夥伴們應該反應過來了,嗷~就是那位開發了新的特效程式語言,用99行代碼來實現魔法世界的學霸吧?沒錯~這位學霸就是畢業於清華大學姚班,目前是麻省理工學院CSAIL( 計算機科學與人工智慧實驗室)博士生的胡淵鳴,愛好圖形設計、動畫電影,在基於物理的模擬器中創建和銷毀一切東西。你們感受到那種撲面而來的霸道真氣了嗎?
  • 世界上第一個文言文程式語言誕生,創造它的是一個大學生
    ▲Lingdong Huang上個月,Huang利用畢業後最終一周的時間來實現這種程式語言的聚焦效果。世界之上第一種文言文程式語言正式誕生。雖然文言文的誕生只有一個月,但它吸引了很多人用它來編寫程序。據黃奇帆介紹,目前用文言文編寫的10個程序比較少見,而且大多是別人編寫的。
  • 趣味scratch編程課:讓冰雪奇緣中的艾莎公主畫魔法陣,讓天空下雪
    冰雪奇緣中的艾莎公主有很厲害的冰魔法,這次我們就用scratch編程軟體,讓艾莎公主畫一個冰雪魔法陣,讓天空下雪。效果如下動圖:這個小程序需要三個角色,分別是艾莎公主,畫魔法陣的雪花,以及從天空上飛下來的雪花片,還需要一個背景。用到的素材老師都給你們準備好了,就在下方!
  • 程式設計師用中文編程不遠咦——居然是用「文言文」寫出來的
    畢竟有易語言在前,有人認為中文可以降低國人學習編程的門檻,也增強漢語的國際地位。然而最近大火的文言文程式語言,讓你明白什麼叫「中文比英語還難」。Hello wenyan最近有個 GitHub 項目火了 —— 文言程式語言 / wenyan-lang。
  • 當STEM 叩響教育大門,編程貓想用圖形來理解代碼世界
    2014 年,英國政府規定 5 歲以上學齡兒童必須學習電腦編程課程,法國將編程列入初等教育選修範圍內;2015 年,美國總統歐巴馬呼籲所有人都學習編程;在矽谷,Microsoft、Google 等公司都在爭相舉辦各種編程教育活動.........
  • 教你用十行代碼編寫一個Python小遊戲!不信?來看看!
    我們即將開始激動人心的遊戲編程之旅。或許你之前學習過一點編程,但若是你從沒接觸過遊戲編程,那麼你仍然會對遊戲程序的運行感到不解。遊戲程序不像計算一個公式或謎題,得到答案之後程序就結束了,遊戲程序一直是處於運行中的,只要你不主動退出,那麼你可以永遠呆在遊戲之中。這就遊戲循環的神奇魔力。下面我們嘗試用最少的代碼來編寫一個小遊戲。
  • 機器編程要讓全球78億人都能寫代碼
    數據顯示,全球78億人中,只有2700萬人會編寫代碼,佔比不到1%。不過,機器編程想讓另外99%的人也能編寫代碼。這聽起來很科幻,但英特爾在機器編程領域的進展讓我們相信讓100%的人都能寫代碼並非觸不可及。
  • 三段詭異的JavaScript代碼,結果出乎意料
    以下為譯文:本人從事JavaScript開發已經7年了,但即便到了如今,我仍然會遇到一些令我瞠目結舌的代碼片段。有時,我不禁納悶JavaScript究竟是一門程式語言,還是一種魔法。我知道很多人認為JavaScript是一門愚蠢的程式語言,bug很多,所以才有了這些「魔法片段」,但我認為JavaScript是一種通用且有趣的語言,而且它也是我養家餬口的手藝。在本文中,我會介紹一些「魔法片段」。但是,我不建議你在生產應用程式中使用這類代碼,因為這些代碼片段只是為了理解概念,並對JavaScript產生敬畏之心。
  • 3D遊戲編程:遊戲代碼的整體結構是什麼樣子的?
    也就是說,你能把前面17節的內容完全掌握了,你的3D遊戲編程基礎就有了,接下來再講解代碼,你就很容易明白了。從這一節開始,我們將要把整個3D遊戲示例程序的代碼講解一遍。由於有Direct3D的幫忙,我的程序代碼只有1000來行,所以,即便你是初學者,也是可以學明白這些代碼的。
  • 讓代碼飛一會,代碼也可以重構?
    重構是用微小的步伐修改程序,在這個過程中也能夠很容易的發現程序中的錯誤。重構的時機可以是添加功能時,也可以是修補錯誤時,還可以是覆審代碼時。重構的目標是讓代碼容易閱讀、所有邏輯都在唯一地點指定、新的改動不會危及現有行為、儘可能簡單的表達邏輯。
  • 『新奇玩意』《哈利波特》魔法編程套件 面向6歲小朋友
    ▼《哈利波特》魔法編程套件 面向6歲小朋友 《哈利波特》魔法編程套件
  • 用哈利波特的魔杖學編程
    圖源:engadget1997年,第一部《哈利·波特》問世,為全世界的兒童打開神奇的魔法大門。在Mac, PC, iPad或安卓平板上安裝「哈利波特編碼應用」(Harry Potter coding app),連接魔杖藍牙,用戶便可以開始選擇服裝和眼鏡,創建自己在魔法世界裡的角色,編寫「咒語」,與魔杖互動。「我們有一個個寫好的編程語句,用戶只需把它們拖拽到相應位置,就能讓魔杖發揮功能。通過拼湊不同的語句,魔杖可以實現不同的咒語功能。
  • 用代碼敲出櫻花開放,你也可以!
    春天來啦!又到了賞櫻花的時節,處在疫情中心的武漢也是以武大的櫻花而全國聞名,不過現在各地還沒有完全解封,看櫻花似乎還有那麼一點小困難,怎麼辦呢?嘿嘿,這可難不倒我們武大的小夥伴——他們用手裡的代碼,敲出了一朵朵櫻花綻放的美麗奇觀!看一朵花開,等花開成海,和武大櫻花一起為武漢加油!
  • 周末玩個球,幾行代碼用PyQt5實現足球射門動畫
    ()中,並通過addItem()方法將圖形項目添加到圖形場景管理self.scene中:png = QtGui.QPixmap()png.load("logo.png")item = QtWidgets.QGraphicsPixmapItem(png)self.scene.addItem(item)
  • 搶鮮評測 | 冰雪奇緣 41148 艾莎的魔法冰雪城堡
    樂高 冰雪奇緣 41148 艾莎的魔法城堡 評測視頻積木片數:701迷你玩具人偶:2 (艾莎與安娜)發售價格:$ 79.99艾莎使用魔法建造了一座旋轉冰雪階梯。作為一件700多片積木的套裝,冰雪城堡的整體設計是充滿誠意的,並增添了不少把玩的樂趣。這一次,安娜與艾莎的魔法冒險之旅,可不止是堆雪人這麼簡單了。
  • 50行Python代碼實現經典遊戲,不僅是划水神器,更是學習利器!
    --Terri FurtonFree Python Games在輕鬆的環境中把遊戲和學習結合在一起,從而減輕了編程過程中的壓力。--Brett Bymaster...貪吃蛇、迷宮、吃豆人、掃雷、Flappy Bird...這些遊戲可以是非常經典,甚至伴隨著很多人的童年回憶。那麼,你是否想過自己開發一款專屬遊戲?
  • 兒童編程寒假班 | 這個寒假我們要用電腦搞事情!代碼編程動畫遊戲,孩子來設計!
    我有一個大膽的想法————這個寒假,讓孩子來做一個遊戲設計師吧!自己編程設計程序,編動畫遊戲!第一個原創卡通它巧妙把兒童需要學習的文學、數學、邏輯等各種基礎知識融匯到電腦創意項目,讓老師們在教學中集成了趣味數學邏輯、兒童音樂創作、兒童配音演員、兒童戲劇編劇、兒童卡通美術創作、樂高積木模式的電腦編程、兒童遊戲設計師、兒童英語國際交流八大主流興趣創作,還可以通過攝像頭、麥克風、藍牙、無線等通訊手段連接電腦外部世界,給孩子們帶來視頻、聲波、機器人等神奇體驗
  • VS Code能自己編程了,GitHub推出「AI程式設計師」插件,根據注釋自動補全代碼
    現在,GitHub官方和openAI聯合為程式設計師們送上編程神器——GitHub Copilot。AI來給你打工當秘書,從此寫代碼不用再去Stack Overflow上瘋狂搜索了,效率立刻翻倍!這個系統可以像有高手指點一樣,配合程式設計師寫代碼。
  • 如何用2 KB代碼實現3D賽車遊戲?2kPlus Jam大賽了解一下
    為了壓縮代碼,我用 Google Closure Compiler (https://closure-compiler.appspot.com/home) 來運行它。這個編譯器會刪掉所有空白,把變量重命名為 1 個字母的字符,並且做了一些簡單的優化。你可以通過下面的連結使用這個編譯器:https://clocompiler.appspot.com/home。
  • 背誦代碼得國賽二等獎!這麼學編程看得我一臉懵……
    話題提問者寫到,自己是一名專科大一新生,本想多參加比賽升本容易些,但看到自己學長靠背誦代碼拿到人工智慧全國總決賽二等獎,質疑自己想要參加的究竟是什麼比賽...並且補充說明,「這份代碼好像是他們幾個星期就得到的原題答案,不知道是怎麼來的。