关于黑暗编程语言的一切 - 直播app开发公司

言鼎科技 2023-03-31 271

Dark 是一种什么样的编程语言?换句话说,它是一种为创建无服务器后端提供全新方法的语言。只需编写您的后端代码;不会有基础设施、框架或部署问题。但是,围绕它仍然存在很多误解。

在本文中,Designveloper将帮助解决这个问题。继续阅读。

什么是黑暗编程语言?

Dark 是一种全能的编程语言,不仅具有结构化的编辑器和架构,而且有助于更轻松地构建后端 Web 服务。它适用于从事 Web 前端、Web 后端和移动应用程序的程序员。

历史

一家同名公司开发了编程语言 Dark。这家旧金山公司于 2019 年 7 月底走出隐身模式,并表示已在 2017 年筹集了 350 万美元的种子资金。Ellen Chisa 和 Paul Biggar 于同年(2017 年)在旧金山市创办了这公司在美国加利福尼亚州。

关于黑暗编程语言的一切 - 直播app开发公司

用户可以使用该公司的平台来设计满足他们需求的应用程序。通过使用基础设施,这些应用程序在谷歌云平台上的部署非常迅速。使用 Dark 的方法,需要时间和工作来很好地了解组织以在其中很好地工作。Dark 可以理解和使用企业使用的代码和语言后,编辑器可以自动完成,Dark 负责构建基础设施。跟踪是另一个在编写代码时自动生成的功能。

Dark 的最新版本是Dark Release 8

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

使黑暗编程语言与众不同的功能

Dark 在很多方面都不同于其他编程语言。这包括它具有许多其他语言所没有的特性。

Dark 的主要目标之一是尽可能地简化代码。Darklang 的编码人员希望您能够快速、安全地制作后端服务,并尽可能减少额外的工作。另一件事是 Dark 平台用于后端。大多数时候,您将编写 HTTP 处理程序,而我们将负责部署和基础设施。

因为 Dark 紧密集成了编辑器、语言和基础设施,我们可以绕过编程语言的通常限制。Dark 中没有编译阶段,也没有编译器和解释器的明确组合。相反,编辑器会在您键入时实时显示错误和警告(它还可以防止语法错误和某些类型错误)。

Dark 也有持续交付。持续交付是经常发布小的、低风险更新的过程。您编写的代码一旦完成就会立即投入“生产”(通常隐藏在功能标志后面)。

黑暗编程语言的复杂性

Dark 的创始人表示,编程语言在制作软件产品时专注于复杂性的四个主要阶段。存在基础设施的复杂性、部署的复杂性、API 的复杂性以及作为文本的代码的复杂性。另一方面,它不是一种语言、一种编辑器或一种供所有人使用的系统。 

基础设施复杂性

基础设施的复杂性涉及与运行程序的机器打交道,而不仅仅是数据和消费者。Docker、Kubernetes、EC2 和 AWS/GCP/Azure 生态系统处理队列、网络、防火墙、负载均衡器、服务发现、可扩展性、监控、安全、数据库、分片和优化。

Dark 编程语言管理您的基础设施。它可以选择正确的架构,因为它会了解您的代码、流量和数据。它有助于消除基础设施选择,例如计算机、编排、存储、数据库和队列。作为基础架构编译器,Dark 应该自动做出良好的可扩展性决策。Lambda、Kubernetes 和 Heroku 无法像 Darklang 那样进行抽象和简化。

尽管存在各种操作问题、语言、格式和操作员技能组合,但应用程序及其数据库如今必须得到适当的维护。将数据库与其应用程序相结合可以解决许多单独无法解决的问题。这包括需要的索引、如何分片、如何构建查询以及如何管理长时间运行的数据迁移。

从应用程序与数据库交互需要考虑类型是否匹配、ORM 可能如何失败、它将如何扩展以及它需要什么索引。语言、编辑器和基础架构的强大集成使我们能够直接从 Dark 编辑器为您的实时生产系统提供可观察性,从而改变人们编码和构建系统的方式。它还消除了监视、跟踪、检测、日志记录和错误处理。

部署复杂性

部署复杂性是将完成的代码从一个系统转移到另一个系统的难度。这应该是一项简单的任务,但快速安全地完成它是如此困难,以至于 Darklang 编码人员想出了 CircleCI 来提供帮助。

公司花费大量时间和金钱试图尽快将更改发送给客户。但是发布代码的过程涉及重要且耗时的步骤。它包括打包代码(Docker 容器、tarball、webpack、AMI、git checkout、jars)、测试它(CircleCI、代码覆盖率、浏览器测试/Selenium)、同步它(git push 到 Heroku、Docker 注册表、工件托管、S3、 CDN),启用新代码(Kubernetes、反向代理、Capistrano、交换符号链接),并发布它(功能标志、蓝绿部署、数据库迁移、API 版本控制)。

关于黑暗编程语言的一切 - 直播app开发公司

在编程语言 Dark 中,程序员改变了部署的工作方式,因此不再需要这些步骤。相反,部署很简单。当您在 Dark 编辑器中编写代码时,它会立即投入生产并准备好被标记为功能。没有压缩包或容器,也没有冗长的构建过程。从您的编辑器切换到我们的基础设施很简单。

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

Dark 的目标是让这个过程安全。每个函数和类型都有一个版本并且不能更改,所有路由、API 和队列都使用静态类型。语言、编辑器和工具都具有用于部署的安全特性,例如特性标志、单元测试和强大的数据库迁移。尽管部署只需要 50 毫秒,但它们在 Dark 中比在大多数其他工具链中安全得多。

API 复杂性

API 的困难在于调用函数比使用 API 容易得多。使用应用程序编程接口 (API) 应该与调用函数一样简单,但我们必须处理身份验证、速率限制、错误处理和重试。每个应用程序编程接口 (API) 都有自己处理这些问题的方式。这些方式包括身份验证类型到协议(HTTP+JSON/REST/Protobuf/gRPC/GraphQL/SOAP)到调用约定。全世界有数百万个 API(并且还在不断增加)。

在 Dark 中,调用 API 就像调用函数一样简单。Dark 用于构建第三方服务连接器的工具具有很好的默认行为,用于限制数据传输速率、验证用户、修复错误和重试操作。编辑器支持可以帮助识别一个人的秘密密钥和信息。它还显示成本和失败。

代码即文本的复杂性

代码如何显示为文本的复杂性有点包罗万象。它指的是我们在编写代码和使用工具时遇到的问题。

语法错误就是一个很好且明显的例子。因为我们把代码写成文本,然后让编译器去读它,即使在某些情况下编译器可能不能读,语法错误也是不可避免的。我们需要一个不仅能阅读纯文本而且能说出确保没有语法错误的语言的编辑器。

人们可以使用这一想法来改进工具链的许多其他部分。Dark 的创建者用来合并分支的 Git 不理解我们代码的语法或含义。我们编辑器中的搜索和替换工具不区分函数和变量,因此它们也使用它们来重命名函数。 

Dark 编程语言是与结构化编辑器和其他一些帮助它工作的技术一起创建的。正因为如此,自动完成功能知道你程序的一切,所以不会有任何语法错误。集成包括用于重构的工具,以及协同工作和控制谁有权访问什么的方法。版本控制是重中之重,并且与语言的其余部分配合良好。此集成具有功能和类型的版本控制,以及功能标志。

为什么要使用深色

关于黑暗编程语言的一切 - 直播app开发公司

在我们现在生活的世界中,软件开发人员在制作产品时必须处理很多复杂问题。这包括调用 API、选择基础架构、使用 git 检查代码和运行测试。这项工作需要很多时间,也很辛苦。如果开发人员使用这种与编辑器、编译器和 PaaS 紧密相关的新语言,他们将能够制作使用高级原语的分布式应用程序。

在制作产品时,部署是最重要的部分之一。在开发这种语言时,使用它的人意识到软件开发人员面临的问题。正因为如此,部署过程现在只需要五十毫秒。当开发人员使用这种语言制作产品时,部署过程将变得精简且易于理解。

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?

结论

Dark 的主要目标之一是阻止编码人员意外地使他们的程序变得更复杂。Dark 的编程语言、基础设施和编辑器一起工作,分析一个公司的四到八个工具(如 Docker、Git、Unix 等),然后将它们组合起来,使运营工具更容易使用。Dark 使用的平台本身充当语言程序员、编辑器或通用基础设施。相反,它将这些工具连接起来,以便它们可以与其他工具一起工作。

如果您对 Dark 语言或一般编程语言有任何疑问,请不要害怕与 Designveloper 取得联系。我们经验丰富的员工始终有能力并愿意为您提供任何技术问题的充分支持。


The End