程序员最喜欢的编程语言 程序员各种语言

亚历山大蒲柏说过“人类的希望是永恒的”。虽然Pope是诗人,不是极客,但我相信他能理解当他发现一种新的编程语言时的期待。他知道,软件开发人员总是在期待一种语言,这种语言可以用其独特的Unicode字符组合解决我们所有的问题,并使编码更容易,甚至只需几次点击。他一定会...

亚历山大·蒲柏说过“人类的希望是永恒的”。虽然Pope是诗人,不是极客,但我相信他能理解当他发现一种新的编程语言时的期待。他知道,软件开发人员总是在期待一种语言,这种语言可以用其独特的Unicode字符组合解决我们所有的问题,并使编码更容易,甚至只需几次点击。

他一定会理解我们对一种新语法的渴望,这种新语法是如此的直观,我们只需要想象我们想要做什么,然后我们就可以用语法清楚地表达其中的逻辑。这是对新规则的渴望,这些规则看起来像三圈阿克塞尔、向前三圈半或奥运会的大回转一样轻松优雅。

但是,大多数现代编程语言的初衷并不是让创作者异想天开,也不是为了展示自己的编码能力。它们的产生是为了应对创作者需要解决的一个共同问题。尽管大多数开发人员会继续使用一种或多种更古老、更成熟的语言进行日常编码,但我们总是在寻找新的语言来帮助我们解决编码问题。我们可以看到这种趋势,尤其是语言或DSL在特定领域的兴起。这些语言紧凑而集中,不适合通用,但正是因为这个原因,它们可能会在你的工具箱中赢得一席之地。

这里有11种较新的语言,它们都找到了自己的用途。一些DSL被设计用来做好一件事。其他人似乎拯救了世界。就算你现在不需要它们,它们都可以让我们的电脑做更好的事情。

1.活性Clojure

反应式Clojure是Clojure和React的结合:一个结合了反应式前端所有可能性和Clojure坚实的功能优势的系统。您可以使用Reactive Clojure来布局一组复杂的前端组件,并使用函数将它们连接在一起。反应式框架可以处理这些细节,并确保应用程序数据在组件和数据库之间流动。Clojure提供了功能基础,这使得非常规用例成为可能,并且可以调试。

看似天作之合,但仍需经过时间的考验。Reactive Clojure是结合前端组件的好选择。它的多线程模型自然匹配多任务和反应式仪表板的复杂性。

2.镍

有时,程序员把大部分工作花在配置文件上,这些文件通常用JSON、YAML甚至XML编码。在某些情况下,您甚至不需要编写特定的代码,只需不断切换各种配置文件即可完成工作。

镍的诞生就是为了解决这个问题。它是一种用于创建配置文件的编程语言。您可以使用Nickel来创建非静态的配置文件。参数的值可以改变。它可以是一周中的一个值,也可以是周末的另一个值。当您运行Nickel时,它将创建一个新的配置文件来容纳它接收到的所有参数。

镍的结构很大程度上是功能性的,可以使用类型检查。一段非常好的镍代码几乎可以保证输出符合语法规则和任何其他需要执行的规则。可以写代码创建配置文件,然后管理其他代码,听起来很搞笑。但是对于现代建筑来说,这是一个非常实用的解决方案。

3.科布拉

Kobra的创造者希望一种语言可以为工程师、科学家和其他不太专业的编码人员开启机器学习,于是诞生了这种机器学习的可视化语言。Kobra的编辑器使用拖放块来形成类似代码的序列。这些模块用于统计分析和机器学习的常见内置例程。这个过程感觉像R语言。其数据框架由表格数据和一组用于创建仪表板和纸张的图形显示函数组成。

4.二头肌

这是云计算最有用的功能之一,可以启动和关闭服务器来应对数据爆炸。数据中心的硬件团队过去需要花费数周时间来购买、安装、测试和配置机器。现在,云可以让你在几分钟甚至几秒钟内完成这一切。

许多敏捷开发团队已经开始为不同云支持的各种API编写代码。微软为Azure中的启动机器创建了一种简化语言,作为其基础设施即代码概念的一部分。

Bicep语言提供了一种高效的声明式格式,可以在新实例中编写开发人员想要的应用程序。一些基本的类型安全有助于防止错误,VS代码中提供了一个语法感知编辑器。该语言本身是为关于基础设施的高阶思考而设计的,具有强大的声明式结构,允许你以任何顺序包含指令,以便Azure的资源管理器可以优化执行。

5.弗林克

众所周知,使用浮点数的错误会导致开发风险,相当一部分bug是由于粗心的数字格式造成的。

Frink就是为了解决这个问题而产生的。它是一种具有“单位意识”的语言。Frink中的每个变量不仅保存一个数字,还表示测量单位(几乎所有的测量单位),如吨、瓦、英尺或米。这使得单位转换很容易,Frink的核心机制是使用任意精度的数字来减少舍入问题。这就像对测量单位的类型检查。

6.浮士德

声音合成对于游戏开发、VR以及任何依赖于良好音质的应用都非常有用。浮士德是这个特定领域的语言,它的结构是纯功能性的,每个功能都建立了声音处理管道。它的后端将传入的声音分解成数字表示,而代码本身是一组可以形成最终结果的函数。例如,您可以通过分割代码输出并引入延迟来创建回声和混响。另外,Faust的代码可以翻译成C++、C、LLVM Bitcode、WebAssembly、Rust等一些语言,所以你几乎可以在任何项目中使用它。

7.梅尔斯和格利科尔

任何写代码的人都知道程序员如何组建乐队。写一些代码,为架子鼓拼出节奏,然后用子程序代替所有其他乐队成员。这样,你甚至可以组建一个完整的交响乐团。

Melrō se和Glicol是这种音乐创作的编程语言。使用这两种语言,只需敲击几下键盘,你就可以创作出看起来精致的作品。梅尔斯的作品围绕西方音乐中常见的标准十二音展开。音符被分组为序列,软件处理大部分细节,如移调。当输出到任何具有MIDI功能的乐器时,代码也可以响应通过MIDI端口输入的信号,因此运行Melrō se代码可以替换乐队成员。

Glicol是基于Rust的工具,它可以完成许多与Melrō se相同的任务,但级别较低。Glicol可以与数字信号处理相结合,提供多种音乐类型。该工具旨在通过其开源音频引擎生成可在浏览器中使用的声音。正如其开发商所说:“入场费低,上限高。”,用于鼓励与所有了解该技能的人合作。

8.WebAssembly和Wase

将指令传输给计算机最有效的方法是将其编码成二进制,并限制在CPU使用的基本操作集内。每个芯片都有自己喜欢的二进制语法,有些语言如Pascal或Java有中性的二进制格式,可以在本地虚拟机上运行。WebAssembly为Web浏览器提供预处理的二进制代码,并将其与标准格式的文本组合在一起。它的目标是用一种二进制格式代替JavaScript代码来构建Web应用程序,这种格式更容易运行并且接近本地速度。

很多开发者使用WebAssembly但是不直接写。相反,他们使用编译器将高级语言转换成WebAssembly,并在浏览器中运行。另一项举措是创建一种低级语言,以人类可读的形式公开WebAssembly的大部分基本结构。Wase就是这样一个选项,它提供了一个类似于c的语法和强类型。

除了Web浏览器,还有WebAssembly的使用。作为一种通用的指令编码方式,其栈机类似于Java JVM。比如Redpanda是一个流媒体数据平台,它通过WebAssembly编写的代码,在数据进入管道时,为开发者提供了调整或修改数据的机会。

9.Java 17

从某种意义上说,Java并不是一门新语言。Java最伟大的一点是,它的开发人员在维护与旧版本的兼容性方面做得很好。对于最新的JVM,通常很容易编译10年甚至20年前的代码。虽然不能保证这段代码能够正常工作,但它仍然比几乎任何其他语言都容易编译。Java团队有一个包含数百万集成测试的套件。

Java 17被列入这个列表是因为它太现代了,以至于90年代的开发者肯定认不出它是Java。它有许多额外的功能和扩展,可以改变开发人员的编码方式。

例如,增强的随机数生成器或更严格的浮点数学语义解决了编写非常复杂的数字代码的问题。写会计系统的开发人员可以使用整数来节省资金量,但是处理AI算法和复杂线性代数的开发人员需要浮点数。

其他的,比如强封装和扩展的开关语义,给核心语言带来了标准化和灵活性。总而言之,由于所有这些改进,编写更强大、更安全的代码比以往任何时候都容易。它的核心还是Java,只是附加的功能不同了。

本文来自是我太自作多情投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/584282.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-09
下一篇 06-09

相关推荐

  • variety的各种形式

    variety的名词形式是variety;副词形式是variously;形容词形式是various, variable;动词形式是vary。variety作名词是意思是:不同种类,多种式样; 变化; 多样化; 多变性; (植物、语言等的)变种,变体; 异体; 品种。一、variety读音英[vrati]美[vrati]二、单词释义variety主

    2023-07-29 05:46:01
    214 0
  • 电子书格式有哪些(各种电子书格式的关系与区别分析)

    边肖从初中开始接触电子书。那时候我以为电子书就是TXT。后来,我逐渐接触到了PDF、DOC和CAJ。才知道电子书还分这么多格式。当时我还在想,为什么我要弄这么多不同格式的?那不是自找麻烦吗?接触多了,渐渐明白了不同格式文档的区别:哪种格式的文档各有什么优缺点?什么样的

    2023-07-29 03:40:01
    629 0
  • ipad上市时间顺序 ipad各种型号年份

    目前iPad产品线还是每年更新。据外媒最新消息,苹果将在2022年发布三款iPad产品。包括入门级的iPad,iPad Air和iPad Pro等。,将被更新。iPad Pro近几年入门级iPad的更新率并不高,但是即将到来的第十代入门级iPad会有很大的变化。首先,新款入门级iPad的设计将会与以往有所不

    2023-07-28 22:47:01
    315 0
  • 电脑出现各种问题怎么办 电脑出现各种问题解决办法软件

    这台电脑出了毛病。如何判断哪个配件有问题?就用这些软件很多白人用户,刚接触电脑,只懂基础。他们对电脑故障或暗病没有实际经验,比如蓝屏、花屏、自动重启等。,最后被黑心商家所困。其实有些暗病是可以用检测软件跑出来的。如果电脑出现了一些怪异的问题,那么测试软件完

    2023-07-28 17:08:01
    962 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信