關(guān)于黑暗編程語言的一切 - 直播app開發(fā)公司

言鼎科技 2023-03-31 544

Dark 是一種什么樣的編程語言?換句話說,它是一種為創(chuàng)建無服務(wù)器后端提供全新方法的語言。只需編寫您的后端代碼;不會有基礎(chǔ)設(shè)施、框架或部署問題。但是,圍繞它仍然存在很多誤解。

在本文中,Designveloper將幫助解決這個問題。繼續(xù)閱讀。

什么是黑暗編程語言?

Dark 是一種全能的編程語言,不僅具有結(jié)構(gòu)化的編輯器和架構(gòu),而且有助于更輕松地構(gòu)建后端 Web 服務(wù)。它適用于從事 Web 前端、Web 后端和移動應(yīng)用程序的程序員。

歷史

一家同名公司開發(fā)了編程語言 Dark。這家舊金山公司于 2019 年 7 月底走出隱身模式,并表示已在 2017 年籌集了 350 萬美元的種子資金。Ellen Chisa 和 Paul Biggar 于同年(2017 年)在舊金山市創(chuàng)辦了這公司在美國加利福尼亞州。

關(guān)于黑暗編程語言的一切 - 直播app開發(fā)公司

用戶可以使用該公司的平臺來設(shè)計滿足他們需求的應(yīng)用程序。通過使用基礎(chǔ)設(shè)施,這些應(yīng)用程序在谷歌云平臺上的部署非常迅速。使用 Dark 的方法,需要時間和工作來很好地了解組織以在其中很好地工作。Dark 可以理解和使用企業(yè)使用的代碼和語言后,編輯器可以自動完成,Dark 負責構(gòu)建基礎(chǔ)設(shè)施。跟蹤是另一個在編寫代碼時自動生成的功能。

Dark 的最新版本是Dark Release 8

Recommended reading: 17 Computer Programming Languages that You Should Learn in 2022

使黑暗編程語言與眾不同的功能

Dark 在很多方面都不同于其他編程語言。這包括它具有許多其他語言所沒有的特性。

Dark 的主要目標之一是盡可能地簡化代碼。Darklang 的編碼人員希望您能夠快速、安全地制作后端服務(wù),并盡可能減少額外的工作。另一件事是 Dark 平臺用于后端。大多數(shù)時候,您將編寫 HTTP 處理程序,而我們將負責部署和基礎(chǔ)設(shè)施。

因為 Dark 緊密集成了編輯器、語言和基礎(chǔ)設(shè)施,我們可以繞過編程語言的通常限制。Dark 中沒有編譯階段,也沒有編譯器和解釋器的明確組合。相反,編輯器會在您鍵入時實時顯示錯誤和警告(它還可以防止語法錯誤和某些類型錯誤)。

Dark 也有持續(xù)交付。持續(xù)交付是經(jīng)常發(fā)布小的、低風險更新的過程。您編寫的代碼一旦完成就會立即投入“生產(chǎn)”(通常隱藏在功能標志后面)。

黑暗編程語言的復雜性

Dark 的創(chuàng)始人表示,編程語言在制作軟件產(chǎn)品時專注于復雜性的四個主要階段。存在基礎(chǔ)設(shè)施的復雜性、部署的復雜性、API 的復雜性以及作為文本的代碼的復雜性。另一方面,它不是一種語言、一種編輯器或一種供所有人使用的系統(tǒng)。 

基礎(chǔ)設(shè)施復雜性

基礎(chǔ)設(shè)施的復雜性涉及與運行程序的機器打交道,而不僅僅是數(shù)據(jù)和消費者。Docker、Kubernetes、EC2 和 AWS/GCP/Azure 生態(tài)系統(tǒng)處理隊列、網(wǎng)絡(luò)、防火墻、負載均衡器、服務(wù)發(fā)現(xiàn)、可擴展性、監(jiān)控、安全、數(shù)據(jù)庫、分片和優(yōu)化。

Dark 編程語言管理您的基礎(chǔ)設(shè)施。它可以選擇正確的架構(gòu),因為它會了解您的代碼、流量和數(shù)據(jù)。它有助于消除基礎(chǔ)設(shè)施選擇,例如計算機、編排、存儲、數(shù)據(jù)庫和隊列。作為基礎(chǔ)架構(gòu)編譯器,Dark 應(yīng)該自動做出良好的可擴展性決策。Lambda、Kubernetes 和 Heroku 無法像 Darklang 那樣進行抽象和簡化。

盡管存在各種操作問題、語言、格式和操作員技能組合,但應(yīng)用程序及其數(shù)據(jù)庫如今必須得到適當?shù)木S護。將數(shù)據(jù)庫與其應(yīng)用程序相結(jié)合可以解決許多單獨無法解決的問題。這包括需要的索引、如何分片、如何構(gòu)建查詢以及如何管理長時間運行的數(shù)據(jù)遷移。

從應(yīng)用程序與數(shù)據(jù)庫交互需要考慮類型是否匹配、ORM 可能如何失敗、它將如何擴展以及它需要什么索引。語言、編輯器和基礎(chǔ)架構(gòu)的強大集成使我們能夠直接從 Dark 編輯器為您的實時生產(chǎn)系統(tǒng)提供可觀察性,從而改變?nèi)藗兙幋a和構(gòu)建系統(tǒng)的方式。它還消除了監(jiān)視、跟蹤、檢測、日志記錄和錯誤處理。

部署復雜性

部署復雜性是將完成的代碼從一個系統(tǒng)轉(zhuǎn)移到另一個系統(tǒng)的難度。這應(yīng)該是一項簡單的任務(wù),但快速安全地完成它是如此困難,以至于 Darklang 編碼人員想出了 CircleCI 來提供幫助。

公司花費大量時間和金錢試圖盡快將更改發(fā)送給客戶。但是發(fā)布代碼的過程涉及重要且耗時的步驟。它包括打包代碼(Docker 容器、tarball、webpack、AMI、git checkout、jars)、測試它(CircleCI、代碼覆蓋率、瀏覽器測試/Selenium)、同步它(git push 到 Heroku、Docker 注冊表、工件托管、S3、 CDN),啟用新代碼(Kubernetes、反向代理、Capistrano、交換符號鏈接),并發(fā)布它(功能標志、藍綠部署、數(shù)據(jù)庫遷移、API 版本控制)。

關(guān)于黑暗編程語言的一切 - 直播app開發(fā)公司

在編程語言 Dark 中,程序員改變了部署的工作方式,因此不再需要這些步驟。相反,部署很簡單。當您在 Dark 編輯器中編寫代碼時,它會立即投入生產(chǎn)并準備好被標記為功能。沒有壓縮包或容器,也沒有冗長的構(gòu)建過程。從您的編輯器切換到我們的基礎(chǔ)設(shè)施很簡單。

Recommended reading: Top 5 iOS App Development Languages: How to Choose the Right One?

Dark 的目標是讓這個過程安全。每個函數(shù)和類型都有一個版本并且不能更改,所有路由、API 和隊列都使用靜態(tài)類型。語言、編輯器和工具都具有用于部署的安全特性,例如特性標志、單元測試和強大的數(shù)據(jù)庫遷移。盡管部署只需要 50 毫秒,但它們在 Dark 中比在大多數(shù)其他工具鏈中安全得多。

API 復雜性

API 的困難在于調(diào)用函數(shù)比使用 API 容易得多。使用應(yīng)用程序編程接口 (API) 應(yīng)該與調(diào)用函數(shù)一樣簡單,但我們必須處理身份驗證、速率限制、錯誤處理和重試。每個應(yīng)用程序編程接口 (API) 都有自己處理這些問題的方式。這些方式包括身份驗證類型到協(xié)議(HTTP+JSON/REST/Protobuf/gRPC/GraphQL/SOAP)到調(diào)用約定。全世界有數(shù)百萬個 API(并且還在不斷增加)。

在 Dark 中,調(diào)用 API 就像調(diào)用函數(shù)一樣簡單。Dark 用于構(gòu)建第三方服務(wù)連接器的工具具有很好的默認行為,用于限制數(shù)據(jù)傳輸速率、驗證用戶、修復錯誤和重試操作。編輯器支持可以幫助識別一個人的秘密密鑰和信息。它還顯示成本和失敗。

代碼即文本的復雜性

代碼如何顯示為文本的復雜性有點包羅萬象。它指的是我們在編寫代碼和使用工具時遇到的問題。

語法錯誤就是一個很好且明顯的例子。因為我們把代碼寫成文本,然后讓編譯器去讀它,即使在某些情況下編譯器可能不能讀,語法錯誤也是不可避免的。我們需要一個不僅能閱讀純文本而且能說出確保沒有語法錯誤的語言的編輯器。

人們可以使用這一想法來改進工具鏈的許多其他部分。Dark 的創(chuàng)建者用來合并分支的 Git 不理解我們代碼的語法或含義。我們編輯器中的搜索和替換工具不區(qū)分函數(shù)和變量,因此它們也使用它們來重命名函數(shù)。 

Dark 編程語言是與結(jié)構(gòu)化編輯器和其他一些幫助它工作的技術(shù)一起創(chuàng)建的。正因為如此,自動完成功能知道你程序的一切,所以不會有任何語法錯誤。集成包括用于重構(gòu)的工具,以及協(xié)同工作和控制誰有權(quán)訪問什么的方法。版本控制是重中之重,并且與語言的其余部分配合良好。此集成具有功能和類型的版本控制,以及功能標志。

為什么要使用深色

關(guān)于黑暗編程語言的一切 - 直播app開發(fā)公司

在我們現(xiàn)在生活的世界中,軟件開發(fā)人員在制作產(chǎn)品時必須處理很多復雜問題。這包括調(diào)用 API、選擇基礎(chǔ)架構(gòu)、使用 git 檢查代碼和運行測試。這項工作需要很多時間,也很辛苦。如果開發(fā)人員使用這種與編輯器、編譯器和 PaaS 緊密相關(guān)的新語言,他們將能夠制作使用高級原語的分布式應(yīng)用程序。

在制作產(chǎn)品時,部署是最重要的部分之一。在開發(fā)這種語言時,使用它的人意識到軟件開發(fā)人員面臨的問題。正因為如此,部署過程現(xiàn)在只需要五十毫秒。當開發(fā)人員使用這種語言制作產(chǎn)品時,部署過程將變得精簡且易于理解。

FURTHER READING:
1. Top 7 Web Development Languages To Use In 2022
2. What Are Git Concepts and Architecture?
3. What Is Data Structure and Their Applications?

結(jié)論

Dark 的主要目標之一是阻止編碼人員意外地使他們的程序變得更復雜。Dark 的編程語言、基礎(chǔ)設(shè)施和編輯器一起工作,分析一個公司的四到八個工具(如 Docker、Git、Unix 等),然后將它們組合起來,使運營工具更容易使用。Dark 使用的平臺本身充當語言程序員、編輯器或通用基礎(chǔ)設(shè)施。相反,它將這些工具連接起來,以便它們可以與其他工具一起工作。

如果您對 Dark 語言或一般編程語言有任何疑問,請不要害怕與 Designveloper 取得聯(lián)系。我們經(jīng)驗豐富的員工始終有能力并愿意為您提供任何技術(shù)問題的充分支持。


The End