日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
簡(jiǎn)單介紹一下Pony編程語(yǔ)言

Pony 是一個(gè)面向?qū)ο蟮幕?AcTor 模型的安全而且高性能的編程語(yǔ)言。Pony 提供 Sublime 和 Atom 編輯插件,同時(shí)很快將提供 VIM 和 Visual Studio 支持。可使用 LLDB 和 GDB 進(jìn)行調(diào)試。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了綏濱免費(fèi)建站歡迎大家使用!

Pony 兼容 C 程序,其編譯器可從 Pony 庫(kù)中生成 C 的頭文件,這樣 C/C++ 程序可方便調(diào)用 Pony 庫(kù)。

Pony 是什么?

你可以把 Pony 想象成某種“Rust 遇上 Erlang”的東西。Pony 有著最引人注目的特性,它們是:

類(lèi)型安全存儲(chǔ)安全異常安全無(wú)數(shù)據(jù)競(jìng)爭(zhēng)無(wú)死鎖此外,它可以被編譯為高效的本地代碼,它是在開(kāi)放的情況下開(kāi)發(fā)的,在兩句版 BSD 許可證下發(fā)布。

以上說(shuō)的功能不少,但在這里我將重點(diǎn)關(guān)注那些對(duì)我們公司來(lái)說(shuō)采用 Pony 至關(guān)重要的功能。

為什么使用 Pony?

使用大多數(shù)我們現(xiàn)有的工具編寫(xiě)快速、安全、高效、高并發(fā)的程序并非易事?!翱焖?、高效、高并發(fā)”是可實(shí)現(xiàn)的目標(biāo),但加入“安全”之后,就困難了許多。對(duì)于 Wallaroo,我們希望同時(shí)實(shí)現(xiàn)四個(gè)目標(biāo),而 Pony 讓實(shí)現(xiàn)它們更加簡(jiǎn)單。

高并發(fā)

Pony 讓并發(fā)變得簡(jiǎn)單。部分是通過(guò)提供一個(gè)固執(zhí)的并發(fā)方式實(shí)現(xiàn)的。在 Pony 語(yǔ)言中,所有的并發(fā)都是通過(guò) Actor 模型 進(jìn)行的。

Actor 模型以在 Erlang 和 Akka 中的實(shí)現(xiàn)最為著名。Actor 模型出現(xiàn)于上世紀(jì) 70 年代,細(xì)節(jié)因?qū)崿F(xiàn)方式而異。不變的是,所有計(jì)算都由通過(guò)異步消息進(jìn)行通信的 actor 來(lái)執(zhí)行。

你可以用這種方式來(lái)看待 Actor 模型:面向?qū)ο笾械膶?duì)象是狀態(tài) + 同步方法,而 actor 是狀態(tài) + 異步方法。

當(dāng)一個(gè) actor 收到一個(gè)消息時(shí),它執(zhí)行相應(yīng)的方法。該方法可以在只有該 actor 可訪問(wèn)的狀態(tài)下運(yùn)行。Actor 模型允許我們以并發(fā)安全的方式使用可變狀態(tài)。每個(gè) actor 都是單線程的。一個(gè) actor 中的兩個(gè)方法絕不會(huì)并發(fā)運(yùn)行。這意味著,在給定的 actor 中,數(shù)據(jù)更新不會(huì)引起數(shù)據(jù)競(jìng)爭(zhēng)或通常與線程和可變狀態(tài)相關(guān)的其他問(wèn)題。

快速高效

Pony actor 通過(guò)一個(gè)高效的工作竊取調(diào)度程序來(lái)調(diào)度。每個(gè)可用的 CPU 都有一個(gè)單獨(dú) Pony 調(diào)度程序。這種每個(gè)核心一個(gè)線程的并發(fā)模型是 Pony 嘗試與 CPU 協(xié)同工作以盡可能高效運(yùn)行的一部分。Pony 運(yùn)行時(shí)嘗試盡可能利用 CPU 緩存。代碼越少干擾緩存,運(yùn)行得越好。Pony 意在幫你的代碼與 CPU 緩存友好相處。

Pony 的運(yùn)行時(shí)還會(huì)有每個(gè) actor 的堆,因此在垃圾收集期間,沒(méi)有 “停止一切” 的垃圾收集步驟。這意味著你的程序總是至少能做一點(diǎn)工作。因此 Pony 程序最終具有非常一致的性能和可預(yù)測(cè)的延遲。

安全

Pony 類(lèi)型系統(tǒng)引入了一個(gè)新概念:引用能力,它使得數(shù)據(jù)安全成為類(lèi)型系統(tǒng)的一部分。Pony 語(yǔ)言中每種變量的類(lèi)型都包含了有關(guān)如何在 actor 之間分享數(shù)據(jù)的信息。Pony 編譯器用這些信息來(lái)確認(rèn),在編譯時(shí),你的代碼是無(wú)數(shù)據(jù)競(jìng)爭(zhēng)和無(wú)死鎖的。

如果這聽(tīng)起來(lái)有點(diǎn)像 Rust,那是因?yàn)楸緛?lái)就是這樣的。Pony 的引用功能和 Rust 的借用檢查器都提供數(shù)據(jù)安全性;它們只是以不同的方式來(lái)接近這個(gè)目標(biāo),并有不同的權(quán)衡。

Pony 適合你嗎?

決定是否要在一個(gè)非業(yè)余愛(ài)好的項(xiàng)目上使用一門(mén)新的編程語(yǔ)言是困難的。與其他方法想比,你必須權(quán)衡工具的適當(dāng)性和不成熟度。那么,Pony 和你搭不搭呢?

如果你有一個(gè)困難的并發(fā)問(wèn)題需要解決,那么 Pony 可能是一個(gè)好選擇。解決并發(fā)應(yīng)用問(wèn)題是 Pony 之所以存在的理由。如果你能用一個(gè)單線程的 Python 腳本就完成所需操作,那你大概不需要它。如果你有一個(gè)困難的并發(fā)問(wèn)題,你應(yīng)該考慮 Pony 及其強(qiáng)大的無(wú)數(shù)據(jù)競(jìng)爭(zhēng)、并發(fā)感知類(lèi)型系統(tǒng)。

你將獲得一個(gè)這樣的編譯器,它將阻止你引入許多與并發(fā)相關(guān)的錯(cuò)誤,并在運(yùn)行時(shí)為你提供出色的性能特征。

開(kāi)始使用 Pony

如果你準(zhǔn)備好開(kāi)始使用 Pony,你需要先在 Pony 的網(wǎng)站上訪問(wèn) 學(xué)習(xí)部分。在這里你會(huì)找到安裝 Pony 編譯器的步驟和學(xué)習(xí)這門(mén)語(yǔ)言的資源。

如果你愿意為你正在使用的這個(gè)語(yǔ)言做出貢獻(xiàn),我們會(huì)在 GitHub 上為你提供一些 初學(xué)者友好的問(wèn)題。

同時(shí),我迫不及待地想在 我們的 IRC 頻道 和 Pony 郵件列表 上與你交談。

要了解更多有關(guān) Pony 的消息,請(qǐng)參閱 Sean Allen 2018 年 7 月 16 日至 19 日在俄勒岡州波特蘭舉行的 第 20 屆 OSCON 會(huì)議 上的演講: Pony,我如何學(xué)會(huì)停止擔(dān)心并擁抱未經(jīng)證實(shí)的技術(shù)。


文章題目:簡(jiǎn)單介紹一下Pony編程語(yǔ)言
網(wǎng)頁(yè)鏈接:http://m.5511xx.com/article/djpgeps.html