当前位置: 首页 > 科技观察

每个开发人员都应该知道的16个优秀新计算机编程语言

时间:2023-03-17 12:33:01 科技观察

EveryDeveloperShouldKnow16GreatNewComputerProgrammingLanguagesElixir基于Erlang虚拟机,以运行低延迟、分布式、容错系统而广为人知,并已成功应用于Web开发和嵌入式软件。ElmElm是一种用于构建Web应用程序的函数式语言。业界普遍认为它适合创建高度交互的应用程序,例如复杂的用户界面,开发者可以通过Elm快速编写富有表现力的系统。Elm也以没有运行时异常而闻名。PureScriptPureScript是一种编译为JavaScript的纯函数式编程语言。与Haskell最相似的是,PureScript最适合开发Web应用程序和服务器端应用程序。PureScript支持类型推断并且需要比其他语言少得多的显式类型注释。SwiftSwift是Apple开发的一种通用编译型编程语言。最早的想法是取代上一代编程语言Objective-C。在这个过程中,它结合了Objective-C、Rust、Ruby和Python的编程思想。Swift目前用于在Apple自己的手机、服务器和台式机上开发应用程序。编程语言GoGo是由Google创建的类C语言。Go比C++或Java更简洁,比Ruby或Python更安全。一些缺点:严格的编码要求。例如,有符号和无符号整数不能混合。另一个明显的遗漏,Go没有泛型和继承。但是Go语言的优点同样明显,简单易用。Go语言擅长网络和多线程编程。面向对象语言DARTDart也来自谷歌,具有C语言风格。Dart使编写JavaScript、AndroidJava、本机机器代码或独立的Dart虚拟机变得容易。它还可以运行后端代码。Dart非常适合使用事件驱动代码构建用户界面。根据Dart团队成员的说法,Dart的优势在于:可选的静态类型、最少的编译时错误以及强大的内置编辑器。PonyPony是一种基于无数据争用类型和垃圾收集的语言,并使用参与者模型和称为引用函数的东西。你可以把Pony想象成某种“Rust遇见Erlang”的复合体,没有锁,高并发是它的主要优势。Pony的缺点是API稳定性低,优质第三方库少,原生工具有限。TypeScriptTypeScript是一种开源编程语言,由Microsoft维护并基于JavaScript静态类型定义构建。VisualStudioCode或VisualStudio是推荐的IDE编辑器,微软的用户体验和错误检查是毋庸置疑的。复合编程语言HackHack是一种用于HipHop虚拟机的编程语言,是PHP的一个方言。由Facebook于2014年创建,允许程序员同时使用静态类型和动态类型(也称为渐进式类型),这为编码提供了灵活性。JuliaJulia是一种用于计算科学和数值分析的高级通用编程语言。Julia以其动态类型和可重现的高性能特性而闻名。Julia广泛用于数据可视化和机器学习等领域。事实上,它被英国保险公司Aviva用于风险计算,纽约联邦储备银行用于金融建模,甚至气候建模联盟用于气候变化建模。它具有Fortran、C++、R、Java、C、Python等接口,这使其成为最受追捧的新语言之一。KotlinKotlin是在Java虚拟机中运行的更快、更流畅的Java版本。它现在是Android开发的首选语言。根据Android开发者网站的说法,程序员正在转向Kotlin,因为该语言的样板代码更少,空指针异常更少,并且与Java具有互操作性。Kotlin可用于在iOS和Android上运行的应用程序,而无需使用额外的运行时或虚拟机。NimNim是一种优先考虑可读性的静态类型语言。通过结合多种语言的特性,Nim为程序员提供了速度和易用性。它带有一个JavaScript后端、分散的包管理、自动内存管理、C和C++库的绑定以及用于调试的回溯。作为一种语言,Nim是有限的,但它包含一组元编程功能,例如泛型、模板和宏,因此开发人员可以以不同的风格工作,同时避免冗长的代码。OCamlOCaml作为这个列表中较早的语言,OCaml是一种多范式语言——函数式、命令式、类型安全以及面向对象。OCaml的一些优点:定义数据类型很容易。默认情况下,所有变量都是不可变的。API稳定,具有良好的库向后兼容性。该语言还为独立应用程序提供自动内存管理和单独编译。如果Reason比JavaScript更快、更简单且类型安全怎么办?这就是创建Reason的Facebook开发人员想要回答的问题。不过,他没有从头开始构建一种新语言,而是采用了OCaml并将其调整为类似于JavaScript。Reason使用ProjectBucketScript编译成JavaScript,并且可以访问80%的JavaScript工具和生态系统。它还可以编译为准系统、iOS、Android和微控制器。RedRed是一种编程语言,最初是为了克服Rebol语言的局限性而设计的。Red于2011年推出,受到Rebol、Lua和Scala等语言的影响,可用于高级和低级编程。该语言可用于开发从高级GUI到低级操作系统的所有内容。Red具有人性化语法、低内存使用和垃圾收集的优点。RustRust解决了一些与Go相同的问题,例如系统级线程和进程安全,但Rust更像是一种C风格的语法但是Rust语言的缺点:静态类型和缺乏垃圾收集Rust对内存的直接访问意味着程序员可以编写低级代码,例如操作系统内核。Rust也非常适合嵌入式设备、Web服务和命令行编写。