国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

巴西都發(fā)明兩門流行的編程語言了!

0
分享至

1993年,巴西里約熱內(nèi)盧天主教大學(xué)的三個(gè)老師發(fā)明了Lua。

Lua以其簡單性、小尺寸和可移植性,成為嵌入式編程語言之王。

除了游戲這個(gè)主戰(zhàn)場(chǎng)之外,Lua還入侵了各種軟件(TeX排版,Neovim,Nginx......),各種硬件(三星的電視、思科的路由器、TI的計(jì)算器,羅技的鍵盤......)

Lua的故事可以移步我這篇文章《》

20年后,巴西人José Valim又發(fā)明了一個(gè)編程語言Elixir。

這個(gè)編程語言知道的人不太多,但是很多著名公司都在使用它。

Elixir特別適合開發(fā)分布式、可擴(kuò)展的、高并發(fā)的應(yīng)用程序。

Discord的CTO在2017年的一篇文章中說道:

Discord 就是 Elixir 的早期采用者, Erlang VM 是我們想要構(gòu)建的高并發(fā)實(shí)時(shí)系統(tǒng)的完美候選者,過去兩年,系統(tǒng)中的并發(fā)用戶數(shù)已達(dá)到近 500 萬,每秒有數(shù)百萬個(gè)事件......

如果讓我從頭再選擇一次的話,我還會(huì)選擇Elixir。

在Stackoverflow 2021年的報(bào)告中,在38種編程語言中,Elixir是收入排行第三的編程語言。

1

Elixir的作者是José Valim(下文簡稱何塞),本科在巴西圣保羅大學(xué)讀電氣工程,后來在意大利都靈理工大學(xué)拿到碩士學(xué)位。

在意大利時(shí)他遇到了現(xiàn)在的波蘭妻子,然后搬到了波蘭。

在發(fā)明Elixir之前,何塞已經(jīng)是著名Web框架Ruby on Rails團(tuán)隊(duì)的核心成員。

可惜的是Ruby語言在并發(fā),多核的表現(xiàn)不咋滴,沒有解決并發(fā)問題的適當(dāng)工具。

這讓何塞有點(diǎn)沮喪,他不斷研究其他解決方案,直到有一天,它發(fā)現(xiàn)了Erlang虛擬機(jī)。

Erlang虛擬機(jī)已經(jīng)解決了高并發(fā)和分布式的問題,為什么不把Ruby移植上去呢?

但是Ruby的思想和概念和Erlang格格不入,沒法子的何塞最終決定:發(fā)明一門新的編程語言Elixir。

在設(shè)計(jì)上,何塞借鑒了Erlang,Clojure和Ruby的思想。

Erlang :函數(shù)式思想、基礎(chǔ)設(shè)施

Ruby:優(yōu)雅的語法、標(biāo)準(zhǔn)庫、命名方式

Clojure :基于協(xié)議的多態(tài)實(shí)現(xiàn)

大家可能覺得一個(gè)大牛發(fā)明一門新語言是很容易的,其實(shí)并非如此。

何塞并不是科班出身,也缺乏編譯器的知識(shí),也得從頭學(xué)詞法分析,語法分析......

他看了幾本經(jīng)典編譯書籍如龍書,更關(guān)鍵的是閱讀了Erlang、Ruby、JavaScript等語言的解析器源代碼,然后才開始動(dòng)手。

即使如此,何塞依然步履維艱,他的第一個(gè)Elixir原型非常糟糕,就像迷失在了山洞中的原始人,到處探索。

等到第一個(gè)版本發(fā)布,已經(jīng)是兩年以后了。

一門新語言出現(xiàn)以后,如果獲得眾人關(guān)注是最難的一步。

在這一點(diǎn)上,何塞充分學(xué)習(xí)了Rails創(chuàng)始人DHH的營銷能力。

何塞開始走出去,在各種活動(dòng)上宣傳Elixir,接受各種采訪介紹Elixir,寫各種文章為Elixir造勢(shì)。

提到Elixir,就不能不提Web框架Phoenix。

他們像當(dāng)年的Rails一樣,錄制了一個(gè)視頻:在15分鐘內(nèi)克隆一個(gè)Twitter。

這個(gè)視頻引發(fā)了不小的關(guān)注度,成功地引發(fā)了對(duì)Elixir和Phoenix的討論,吸引了更多人來使用Elixir。

2

說到這里,可能大家會(huì)問:這個(gè)Elixir到底有什么神奇之處呢?

一般來說,我們要開發(fā)一個(gè)交互很強(qiáng)的Web應(yīng)用,通常會(huì)這么來構(gòu)建:

在前端有各種框架和類庫,如React,Vue等,在瀏覽器端處理:

1.數(shù)據(jù)模型,2.控制邏輯,3.視圖模板

后端主要提供數(shù)據(jù)接口,前端的JavaScript負(fù)責(zé)展示和邏輯。

讓人吃驚的是:使用Phoenix的LiveView,這三個(gè)東西都被放到了服務(wù)器端,實(shí)現(xiàn)了服務(wù)器端的渲染。

猛一看,這很難理解,舉個(gè)簡單的例子,我們現(xiàn)在需要實(shí)現(xiàn)一個(gè)計(jì)數(shù)器應(yīng)用:

在服務(wù)器端:

數(shù)據(jù)模型:就是那個(gè)Count數(shù)字。

客戶邏輯:就是一些函數(shù),來處理事件,事件是“增加按鈕被點(diǎn)擊”(increment event)或者“減少按鈕被點(diǎn)擊” (decrement event)

視圖模板:用來渲染這個(gè)簡單的界面

當(dāng)用戶點(diǎn)擊“增加”按鈕時(shí),一個(gè)事件(increment event)通過websocket發(fā)給服務(wù)器端。

服務(wù)器端收到后,調(diào)用服務(wù)器端的相關(guān)函數(shù),修改數(shù)據(jù)模型,給count加一,然后渲染新視圖,再發(fā)給瀏覽器。

瀏覽器收到新數(shù)據(jù),就會(huì)展示出來:

當(dāng)然,服務(wù)器肯定不會(huì)把所有的視圖都發(fā)回給瀏覽器,它會(huì)做優(yōu)化,使用狀態(tài)跟蹤,diff算法,從而發(fā)送最少的數(shù)據(jù)

在這個(gè)例子中,只需要告訴瀏覽器,那個(gè)count的值變了,僅僅更新這個(gè)值就可以了。

你可能覺得這種處理方式非常瘋狂:對(duì)每個(gè)用戶都保存這么多信息,用戶多了該怎么辦???怎么擴(kuò)展啊?

這就要涉及到Elixir的關(guān)鍵了,和其他編程語言不同,Elixir的process(如圖中的Live View Process)并不是操作系統(tǒng)的進(jìn)程(Process)或者線程(Thread)!

Elixir的process是非常輕量級(jí)的,在單臺(tái)服務(wù)器上可以幾十萬,甚至上百萬個(gè)process。

這也正是Erlang平臺(tái)的優(yōu)勢(shì)所在!

使用Phoenix的LiveView,在代碼復(fù)雜度不高的情況下,就實(shí)現(xiàn)了媲美單頁應(yīng)用良好的用戶體驗(yàn),可以說是非常漂亮。

所以發(fā)明人何塞說:Elixir非常適合開發(fā)一切運(yùn)行在socket上應(yīng)用!

3

上世紀(jì)90年代,你寫一段代碼,放在那里什么也不做,兩年以后,新的硬件就會(huì)讓它的性能提升一倍。

現(xiàn)在摩爾定律失效了,CPU走向了多核,系統(tǒng)走向了分布式。

多核和分布式讓編程變得非常麻煩,但是Elixir用函數(shù)式編程的不變性和Erlang平臺(tái)正好解決了這兩個(gè)問題。

如果你也有類似的需求,強(qiáng)烈建議關(guān)注下這門獨(dú)特的編程語言,它也許就是幫助你擊敗競(jìng)爭對(duì)手的秘密武器。

全文完,覺得不錯(cuò)的話點(diǎn)個(gè)贊或者在看吧!

參考資料:

https://www.youtube.com/watch?v=U_Pe8Ru06fM (本文 中LiveView例子的來源 )
https://www.youtube.com/watch?v=lxYFOM3UJzo

https://www.youtube.com/watch?v=IZvpKhA6t8A

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
15天保質(zhì)期的“鮮牛奶”?起底光明“新鮮牧場(chǎng)”的標(biāo)簽游戲

15天保質(zhì)期的“鮮牛奶”?起底光明“新鮮牧場(chǎng)”的標(biāo)簽游戲

商業(yè)透鏡
2026-04-20 15:47:15
西方媒體:就算中國全力以赴,也不可能按時(shí)建成這樣龐大的工程

西方媒體:就算中國全力以赴,也不可能按時(shí)建成這樣龐大的工程

泠泠說史
2026-04-20 20:17:23
甘肅天水一佳人好漂亮, 身高168cm,體重48kg 美的讓人移不開眼

甘肅天水一佳人好漂亮, 身高168cm,體重48kg 美的讓人移不開眼

鄉(xiāng)野小珥
2026-04-08 00:48:57
新疆油氣資源潛力巨大:或超越中東,新疆油氣新篇章即將開啟

新疆油氣資源潛力巨大:或超越中東,新疆油氣新篇章即將開啟

叮當(dāng)當(dāng)科技
2026-04-20 18:13:19
多個(gè)城市門店暫停營業(yè)!又一老牌海鮮自助扛不住了?

多個(gè)城市門店暫停營業(yè)!又一老牌海鮮自助扛不住了?

藍(lán)鯨新聞
2026-04-20 17:59:30
利潤猛增350%,PCB獨(dú)角獸,踹開AI大門!

利潤猛增350%,PCB獨(dú)角獸,踹開AI大門!

飛鯨投研
2026-04-20 18:40:24
外觀非常驚艷 全新一代寶馬6系有望回歸

外觀非常驚艷 全新一代寶馬6系有望回歸

車質(zhì)網(wǎng)
2026-04-20 10:06:04
韓國一美女因晨跑健身“走紅”,身材緊致太吸睛,網(wǎng)友:太漂亮了

韓國一美女因晨跑健身“走紅”,身材緊致太吸睛,網(wǎng)友:太漂亮了

馬拉松跑步健身
2026-04-19 06:30:13
大風(fēng)突襲,山東一飯店老板霸氣喊話“不用結(jié)賬,直接回家”!老板娘:損失兩三千,不心疼錢,只想讓顧客安全到家

大風(fēng)突襲,山東一飯店老板霸氣喊話“不用結(jié)賬,直接回家”!老板娘:損失兩三千,不心疼錢,只想讓顧客安全到家

大象新聞
2026-04-20 17:43:06
瓜帥:這是英超的一次精彩展示;賽季最佳新人必須頒給奧賴?yán)?>
    </a>
        <h3>
      <a href=懂球帝
2026-04-20 02:54:06
有沒有人敢爆自己的瓜?網(wǎng)友:確定玩這么大嗎?

有沒有人敢爆自己的瓜?網(wǎng)友:確定玩這么大嗎?

夜深愛雜談
2026-02-18 20:55:58
20歲女孩兩年內(nèi)花上千萬元打賞主播,致父親企業(yè)瀕臨破產(chǎn)

20歲女孩兩年內(nèi)花上千萬元打賞主播,致父親企業(yè)瀕臨破產(chǎn)

上游新聞
2026-04-20 18:40:11
豪取22連勝穩(wěn)居聯(lián)盟第一!上海雙外缺席34分狂勝遼寧 弗格32+7

豪取22連勝穩(wěn)居聯(lián)盟第一!上海雙外缺席34分狂勝遼寧 弗格32+7

顏小白的籃球夢(mèng)
2026-04-20 21:16:13
埃迪·豪七秒沉默:冠軍教頭的信任危機(jī)

埃迪·豪七秒沉默:冠軍教頭的信任危機(jī)

賽場(chǎng)速報(bào)局
2026-04-19 19:01:49
朱琳53歲再婚,找了個(gè)普通男人,提一條件:別提生孩子的事

朱琳53歲再婚,找了個(gè)普通男人,提一條件:別提生孩子的事

人生錄
2026-04-19 20:57:49
深大一口氣停招26個(gè)專業(yè),這些“坑”你還在踩嗎?

深大一口氣停招26個(gè)專業(yè),這些“坑”你還在踩嗎?

牛鍋巴小釩
2026-04-17 13:18:03
丟臉丟到國外!張本兄妹改名風(fēng)波鬧大,韓媒點(diǎn)名怒懟,活成笑話

丟臉丟到國外!張本兄妹改名風(fēng)波鬧大,韓媒點(diǎn)名怒懟,活成笑話

落梅如雪亂飛
2026-04-20 22:55:13
“3歲男童遭生父女友虐待致死案”,明日宣判

“3歲男童遭生父女友虐待致死案”,明日宣判

南方都市報(bào)
2026-04-20 17:00:24
伊朗在核問題上忽悠國際二十多年,直到遇上不按常理出牌的川普

伊朗在核問題上忽悠國際二十多年,直到遇上不按常理出牌的川普

壹家言
2026-04-18 06:07:05
保加利亞親俄候選人贏得議會(huì)選舉,另一個(gè)歐爾班來臨?

保加利亞親俄候選人贏得議會(huì)選舉,另一個(gè)歐爾班來臨?

山河路口
2026-04-20 20:38:41
2026-04-20 23:43:00
碼農(nóng)翻身 incentive-icons
碼農(nóng)翻身
有趣且硬核的技術(shù)文章
252文章數(shù) 645關(guān)注度
往期回顧 全部

科技要聞

HUAWEI Pura X Max發(fā)布 售價(jià)10999元起

頭條要聞

19歲女孩挪用自家1700萬當(dāng)"榜一大姐" 親爹帶女兒自首

頭條要聞

19歲女孩挪用自家1700萬當(dāng)"榜一大姐" 親爹帶女兒自首

體育要聞

阿森納已拼盡全力,但你早干嘛去了...

娛樂要聞

《八千里路云和月》田家泰暗殺

財(cái)經(jīng)要聞

利潤暴跌7成,字節(jié)到底在做什么

汽車要聞

把天門山搬進(jìn)廠?開仰望U8沖上45度坡的那刻 我腿軟了

態(tài)度原創(chuàng)

藝術(shù)
教育
家居
本地
手機(jī)

藝術(shù)要聞

王羲之《換鵝帖》尚在人間,驚艷無比!

教育要聞

南方電網(wǎng)招了7308人,華南理工485個(gè),這所學(xué)校把南網(wǎng)變成了"自家后院"

家居要聞

自然慢調(diào) 慢享時(shí)光

本地新聞

12噸巧克力有難,全網(wǎng)化身超級(jí)偵探添亂

手機(jī)要聞

消息稱蘋果iOS 27拋棄iPhone 11 / Pro / Max及SE 2機(jī)型

無障礙瀏覽 進(jìn)入關(guān)懷版