<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    巴西的編程語言都占領全世界了,中國怎么就不行呢?

    VSole2022-08-05 16:01:30

    如果看一看主流的編程語言,都是由發達國家的程序員創造的。

    C、C++、C#、Java、JavaScript、Go、Rust、PHP誕生于美國;Python誕生于歐洲

    但是Lua是個例外,它出生在遙遠南半球、桑巴足球的國度:巴西

    巴西是個發展中國家,經濟水平不高,IT界也不發達,但是卻創造了一個世界流行的編程語言,它到底是怎么做到的?

    編程界有個笑話:駱駝是委員會設計的馬

    笑話諷刺是由委員會設計出的編程語言都不怎么樣,比如Algol 68, PL/I ,Ada都沒有達到最初的期望。

    Lua也是一個委員會設計的,但是,這個委員會非常小,只有三個人,他們都是里約熱內盧天主教大學的同事:Roberto Ierusalimschy, Luiz Henrique de Figueiredo, 和Waldemar Celes。

    里約熱內盧天主教大學和巴西石油公司有一些合作項目,需要一個領域特定語言(DSL)來處理數據輸入和數據配置。

    三人團隊相繼創造了DEL, SOL這兩門語言,并且在石油公司的應用中取得了成功。

    隨著需求的越來越復雜,需要一門真正的腳本語言,可以賦值,有邏輯控制,函數,可以嵌入到巴西石油公司的應用中使用。

    什么叫嵌入到別的應用中呢?

    舉個例子,你用C語言寫了一個應用,其中有一段復雜的邏輯,是計算員工工資的,但是老板希望在應用發布之后還可以修改工資,那么這段薪水計算邏輯就可以用Lua語言來寫,然后讓C語言應用去調用。

    每次老板想改變工資計算邏輯,你新寫一段Lua腳本,發布一下就可以了,整個應用不需要改動。

    這樣是不是挺爽?

    當時市面上用作腳本編程有這些:

    Perl :過于復雜,不容易嵌入到別的應用中

    Python :1.0版還沒有發布,也不容易嵌入

    Tcl:支持嵌入,但是語法對于非程序員太復雜了

    于是三人決定,干脆創造一個新的編程語言吧!

    1993年,Lua正式誕生!

    Lua短小精悍,直到Lua5.3也只有不到1萬行C代碼!包含了I/O功能的二進制包也只有200多K。(順便說一句,想深入學習C語言和語言設計的,Lua是個極好的范例

    它移植性很好,有著清晰而簡單的語法,是一個非常優秀的、可擴展的嵌入式語言。

    Lua雖然在巴西石油公司用得不錯,但是外邊就默默無聞了。

    在巴西本地,很少有程序員對Lua感興趣,無論是偏見還是實用主義,大家都傾向于向外看,尋求世界上最流行的技術來解決問題。

    這是不是和現在的中國很像?

    Lua這個巴西本地誕生的編程語言未來在哪里呢?

    Lua團隊做出了一個“艱難”的決定,暫時“切斷”和本地的聯系,走向全球。

    他們說:“Lua 必須在國外取得成功才能在國內獲得認可。”

    他們決定用英語來編寫Lua的文檔,而不是巴西的官方語言葡萄牙語。

    就連《Programming in Lua》這樣的書,也只有英文版。

    1996年,Lua團隊開始向IT界最核心的區域——美國——進發,他們先后在美國的《Software: Practice & Experience》雜志和《Dr. Dobb’s Journal》雜志發表文章,介紹Lua這門可擴展的嵌入式語言。

    恰恰是《Dr. Dobb’s Journal》這本深受程序員喜愛的雜志的報道,徹底改變了Lua的命運。

    時任《冥界狂想曲》這款游戲的首席程序員Bret正陷于苦悶當中。

    他希望有一種自定義的腳本語言,把游戲引擎和邏輯給分離開,這樣就可以輕松地編寫游戲邏輯:

    actor guybrush walk-to banana-treewait-for-actoractor guybrush say-line “Mmm, bananas...”actor guybrush face-cameraactor guybrush say-line “Wish I had a banana-picker”
    

    但是,自己公司的腳本語言SCUMM卻不夠用,苦惱之時,同事給他遞來一期《Dr. Dobb’s Journal》雜志, 上面有正是關于Lua的介紹。

    Bret看后,激動萬分,如獲至寶,立刻給Lua開發團隊發了一封郵件,大意如下:

    Lua牛掰!
    你好啊,我讀了Dr. Dobb’s關于Lua的文章,它在每個方面都超出了我的期望,它的優雅和簡單把我給震住了,祝賀你們開發了這么一個思慮周全的編程語言。
    對了,我是盧卡斯藝術娛樂公司的程序員,正在開發一個冒險類游戲,我決定用Lua來替換掉公司的腳本語言。

    Lua的開發者看到這封來自美國的郵件肯定是非常開心的吧,全球化的策略終于看到了一點成功的曙光。

    Bret說到做到,他真的在《冥界狂想曲》中使用了Lua,并且還實現了Lua中并不支持的協程。

    但是,只有一個游戲采用Lua并不能說明什么,幾年后的事情才真正讓人震撼。

    1998年,游戲開發者的盛會Game Developers’s Conference在美國的圣何塞召開。

    《絕地武士》游戲引擎的程序員,也盧卡斯藝術娛樂的Rob Huebner作為主講,講述了如何在游戲中使用腳本語言。

    這個主題特別吸引人,現場爆滿,來了兩三百人。

    Rob講解了腳本語言給游戲開發帶來的好處,也不厭其煩地介紹了如何從頭實現自己的腳本語言:詞法分析、語法分析、優化等等。

    聽眾有點兒沮喪:實現一個這樣的腳本語言太難了。

    在提問環節,Rob來了一個大轉折,他指著Bret說:其實不用那么麻煩,有現成的,他已經在《冥界狂想曲》這款流行的游戲中使用Lua了,讓他來說說吧。

    Lua ? 這是個什么東西?大家面面相覷。

    Bret站了起來,說了自己的經歷:Lua這個腳本又小又快,我只用了1天就嵌入到了游戲中。

    這一下子把整個房間的激情點燃了,游戲程序員們紛紛在本子上做記錄,圍著Bret,向他打探Lua的細節。

    經過此役,Lua一戰成名,在游戲界迅速成燎原之勢,《半條命》、《模擬城市》、《魔獸世界》、《憤怒的小鳥》等一大批著名游戲都開始使用Lua。

    隨著Lua知名度越來越高,更多的人認識到,Lua滿足了一種全世界廣泛存在的一個需求:讓用戶改變軟件的行為,而不用深入到軟件的內部

    不僅游戲可以用Lua,其他領域也可以用:比如TeX排版設置語言實現LuaTeX鍵-值數據庫Redis、文本編輯器Neovim和Web服務器Nginx。甚至Google拼音輸入法都支持Lua腳本。

    Lua還可以嵌入到硬件當中,三星的電視,思科的路由器,Verizon的機頂盒,德州儀器的計算器,羅技的鍵盤都是Lua大施拳腳的場所。

    隨著物聯網的發展,Lua肯定還會有爆發式增長。

    和企業合作-->找到廣泛存在的需求-->發明編程語言-->面向全球推廣-->返回國內。

    Lua的發明者走出了一條漂亮的“曲線救國”的道路。

    如果Lua誕生在創新的高地,如美國硅谷,它的發展肯定會快得多,因為在這里有項目、有人、有組織,能幫助它提升在全球的知名度。

    例如,JavaScript 是布蘭登僅僅花了10天就創建的語言,很多人抱怨其糟糕的設計,但是它卻伴隨著網景瀏覽器占領了全世界。

    從不發達地區發起的創新,則要難得多,不過,現在的好處是互聯網已經非常發達,只要你像Lua那樣,漂亮地解決了一個廣泛存在的問題,并且真正面向全球,互聯網會幫助你迅速傳播的。

    遺憾的是,雖然中國的互聯網產業發展了二十多年,熱鬧非凡,到目前為止,中國還沒有一個世界流行的編程語言,不但沒有,還出現了“木蘭”這樣套殼的丑聞。

    這不得不引起我們的思考,到底是我們不想弄呢,還是沒時間弄,還是不會踏踏實實地弄?

    參考資料:

    https://web.archive.org/web/20181125214924/https://www.foreignaffairs.com/articles/2013-04-21/brazil-wikipedia

    https://dcc.ufrj.br/~fabiom/lua_20years.pdf

    http://www.inf.puc-rio.br/~roberto/talks/hopl-slides.pdf

    編程語言lua
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    思科發現,當暴露于互聯網或不受信任的網絡時,Cisco IOS XE 軟件 (CVE-2023-20198) 的 Web 用戶界面 (Web UI) 功能中的一個先前未知的漏洞會被主動利用。這會影響運行 Cisco IOS XE 軟件且啟用了 HTTP 或 HTTPS 服務器功能的物理和虛擬設備。
    互聯網上存在很多開源情報(Open-Source Intelligence,OSINT)信息,其中開源是指公眾容易獲取和分發的信息或程序;情報是獲取和應用知識的能力。總的來說,開源情報就是從公開來源獲取、收集和分析信息以產生有價值情報的過程,其來源包括互聯網、社交媒體、學術和專業期刊、報紙、電視甚至某些被違規泄露的數據。
    必修漏洞,就是必須修復、不可拖延的高危漏洞。
    但是Lua是個例外,它出生在遙遠南半球、桑巴足球的國度:巴西。1993年,Lua正式誕生!Lua團隊做出了一個“艱難”的決定,暫時“切斷”和本地的聯系,走向全球。他們決定用英語來編寫Lua的文檔,而不是巴西的官方語言葡萄牙語。恰恰是《Dr. Dobb’s Journal》這本深受程序員喜愛的雜志的報道,徹底改變了Lua的命運。時任《冥界狂想曲》這款游戲的首席程序員Bret正陷于苦悶當中。
    網絡安全公司 Palo Alto Networks 近日發布博文,發現了使用 Rust 語言編寫的惡意軟件--P2PInfect 蠕蟲。設計準則為“安全、并發、實用”,支持函數式、并發式、過程式以及面向對象的編程風格。Rust 業內共識是“安全”,微軟目前正基于該語言,重新編譯?系統內核,以進一步提高 Win11 系統的安全性。
    不知道差友們還記不記得,去年的 7 月 13 日,B 站發生了一件大事。它毫無征兆的崩了……( 如果忘了的小伙伴,可以看 這篇文章 )至于為啥崩了,當時大家誰也心里沒個底。不過吹起水來可是一套一套的,什么停電啊,起火啊,程序員 rm -rf /* 跑路啊……說的是個天馬行空。
    Github滲透測試文檔資料集合
    用Rust編寫的勒索軟件持續了整個2022年,2021年底出現的BlackCat組織就采用了這種惡意軟件。Hive自2021年以來,基于RaaS的Hive勒索軟件一直在肆虐。在2022年,它們以第二種Rust惡意軟件的面目示人,在其泄露網站上披露了200多個受害者。
    例如近期發生的一系列與Lapsus$ 黑客組織有關的事件:英偉達員工信息泄露、核心數據被竊取,三星190GB的機密文件數據遭曝光、再到微軟Bing和Cortana源碼被竊取,黑客組織 Lapsus$ 活躍在各大網站,而其幕后主謀被曝是一名16歲的少年。 據外媒報道,英國警方逮捕了與Lapsus$ 黑客組織有關聯的7名嫌疑人。他們的年齡在16到21歲,現已經釋放,警方表示調查還在繼續,但警方并未透
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类