您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

你可能不知道的4种奇怪的编程语言

时间:2020-06-22 10:36:52  来源:  作者:

 

你可能不知道的4种奇怪的编程语言

> Photo by Jantine Doornbos on Unsplash

 

存在大量的编程语言。 如果包括难以置信的甚至是已淘汰的产品,则将近700。 当前,编写您自己的编程语言比以往任何时候都容易,并且有很多方法可以实现。 创建自己的编程语言的较低入门门槛导致了许多新的,有趣的,有时是奇怪的语言。

这些独特的语言中有一些具有独特的目的,而其他一些则纯粹是学术性的甚至是喜剧性的。 能够写仅由两个或三个字符组成的语言可能不是最有用的方法,但在这种情况下,旅程可能比目的地更有价值。 从头开始学习创建语言的实际内容,并确定诸如解释与编译,静态与动态之类的东西,可能是宝贵的经验。

尽管以前曾无数次讨论过奇特而深奥的编程语言,但我整理了一份独特的清单,列出了新的和相当古老的语言。 让我们一起探索其中一些奇怪的发现,并发现突破编程界限的语言。

1. LOLCODE

你可能不知道的4种奇怪的编程语言

> http://www.lolcode.org/

 

首先是深奥的编程语言的"经典"。 LOLCODE于2007年问世,它基于" lolcats"语言。 如果您想知道它是什么样的,下面是一条读取文件内容的语句:

PLZ OPEN FILE "<filename>"?

好笑吧? 虽然这种语言乍一看似乎像是一个可爱的玩具,但实际上它是一种相对完整的语言。 甚至有完整的教程集可用于tutorialspoint上的LOLCODE的不同元素。

LOLCODE甚至启发了其他衍生项目,例如LOLPython,它是LOLCODE的翻译版本,可与Python一起使用。

2. ArnoldC

你可能不知道的4种奇怪的编程语言

> http://lhartikk.github.io/ArnoldC/

 

还记得《终结者》电影吗? 还记得阿诺德·施瓦辛格的一些名言吗? 您是否曾经想过用他的热门电影中的每句话都是一句话来编写语言的代码? 好了,现在您可以使用ArnoldC!

ArnoldC是一种语言,使您几乎可以完全使用Arnold Schwarzenegger的报价进行开发。 如果您过去几十年来一直生活在一块岩石上,请查看一些著名语录的清单。 这是来自ArnoldC网站的示例代码片段:

IT'S SHOWTIMETALK TO THE HAND "hello world"

YOU HAVE BEEN TERMINATED

这只是一个简单的" Hello World"程序。 更完整的程序看起来很有趣,而且阅读起来非常有趣。 Sublime Text甚至提供了一个语法突出显示插件,因此您可以真正炫耀自己的ArnoldC技能。

3. Velato

这是一种独特的编程语言,并且很好地说明了如何获得有趣的语言。 Velato是一种使用MIDI文件编写的语言。 在这种情况下,MIDI文件既可以构成音乐,也可以构成软件。 每个指令基于音符本身的音高和音符之间的间隔。

你可能不知道的4种奇怪的编程语言

> http://velato.NET/Language/HelloWorld/

 

上图所示的片段实际上是产生音乐和软件输出的示例" Hello World"程序。 如果您要通过MIDI软件演奏乐曲,这听起来可能不像是一件真正的艺术品,但是它将在Velato中生成一个正常运行的程序。

Velato有很多音乐/软件交叉的可能性。 您可能会挑战自己,创作一首既能完成编程任务又能听起来……音乐的音乐。

4.披萨

你可能不知道的4种奇怪的编程语言

> http://pizzacompiler.sourceforge.net

 

不,不是真正的比萨。 比萨编程语言。 这是一种基于JAVA的语言,是在Java具有其今天拥有的许多功能(例如泛型或代数类型)之前编写的。 比萨可以说是此列表中较不陌生的语言之一,但在Java历史中占有很有趣的位置。

比萨看起来很像Java,因为它实际上就是Java。 在该语言的后期,它甚至可以在常规Java环境中运行。 这是Wikipedia的Pizza代码段:

public final class Main { 
  public int main(String args[]) { 
    System.out.println( new Lines(new DataInputStream(System.in)) 
                       .takeWhile(nonEmpty) 
                       .map(fun(String s) -> int { 
                            return Integer.parseInt(s); 
                       }) 
      .reduceLeft(0, fun(int x, int y) -> int { return x + y; })); while(x == 0) { map.create.newInstance() } }}

Scala是Pizza的继任者,它以更简化的方式和更强大的功能集来实现事物。 要了解有关Pizza和其他基于Java的语言的历史的更多信息,请查看此处提供的Martin Odersky访谈。

自己写

无论您是对编程语言的构建方式感到好奇还是只想创建一种吸引人的有趣语法,都有大量资源可用来编写自己的语言。

Chirag Khandelwal给初学者写了一篇很棒的文章。 他带领您完成了开发自定义编程语言的旅程,并向您展示了您在此过程中必须做出的一些有趣的选择。

谢谢阅读! 希望您喜欢随着时间的推移而发明的一些有趣的编程语言。

 



Tags:编程语言   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
什么编程语言最好?这是个能让各路程序员吵翻天的话题,每种语言都有自己的拥趸,全球现在找出三五十种编程语言都不是问题,热门的至少也有20种,先不说这些语言好用与否,它们的性能也...【详细内容】
2022-07-01  Tags: 编程语言  点击:(29)  评论:(0)  加入收藏
转自:https://www.jdon.com/61280 本文分析了来自 5,508 个软件工程职位列表的数据,以帮助您找出哪些编程语言的薪水最高。 我们分析了RemoteOK(世界上最大的工作委员会)上 5k...【详细内容】
2022-06-30  Tags: 编程语言  点击:(27)  评论:(0)  加入收藏
出品|开源中国文|叶子2015 年的 5 月 15 日,Mozilla 发布了 Rust 1.0。 走近Rust Rust 是通用的编译器型编程语言,设计准则为“安全、并发、实用”,支持函数式、过程式以及面向...【详细内容】
2022-05-16  Tags: 编程语言  点击:(49)  评论:(0)  加入收藏
1 语言先来说一下什么叫语言吧,以及语言的功能。我们用来交流的工具叫语言,通过这个工具,你可以和你想交流的人进行一番的交流,这就叫语言;它只是一个用来交流的工具而已。它的功...【详细内容】
2022-03-30  Tags: 编程语言  点击:(76)  评论:(0)  加入收藏
近日,Rust和Swift资深专家Aria Beingessner发布的一篇文章《C 不再是一种编程语言》在Hacker News上引起了热烈讨论。原文链接: https://gankra.github.io/blah/c-isnt-a-lang...【详细内容】
2022-03-25  Tags: 编程语言  点击:(121)  评论:(0)  加入收藏
为什么编程对黑客很重要?在了解黑客的最佳编程语言之前,您必须了解编程在黑客中的重要性。 必须了解编码:黑客攻击涉及破坏协议和利用网络;因此,作为一名黑客,您需要了解您所关注...【详细内容】
2022-02-23  Tags: 编程语言  点击:(137)  评论:(0)  加入收藏
本文是“2021 InfoQ 年度技术盘点与展望”系列文章之一,由直播内容整理而成,重点聚焦编程语言领域在 2022 年的核心趋势展望,希望能帮助你准确把握 2022 年编程语言领域的核心...【详细内容】
2022-01-29  Tags: 编程语言  点击:(114)  评论:(0)  加入收藏
即使在安全技术取得进步之后,网络犯罪仍在不断增加。据统计,网络犯罪每分钟给企业造成约 290 万美元的损失。主要是因为新技术不断涌现,难以维护安全。随着网络威胁的增加,网络...【详细内容】
2021-11-04  Tags: 编程语言  点击:(157)  评论:(0)  加入收藏
作为程序员吃饭的工具,编程语言之间也形成了某种鄙视链,各大论坛里弥漫着剑拔弩张的气氛,众口难调。也难怪有很多初学者会有疑惑,为什么会有这么多编程语言,我到底应该学什么语言...【详细内容】
2021-06-29  Tags: 编程语言  点击:(198)  评论:(0)  加入收藏
JavaScript是Web开发中最简单的面向结果的语言之一。该语言使数据的处理和计算成为一种方便。它还有助于将视觉效果添加到屏幕上。它是一种同时用于客户端和服务器端应用程...【详细内容】
2021-06-25  Tags: 编程语言  点击:(186)  评论:(0)  加入收藏
▌简易百科推荐
1. 前言了解响应式编程,首先我们需要了解函数式操作和Stream的操作,下面我们简单的复习一下喽。1.1 常用函数式编程函数式接口中我们先来回顾一下Java中的函数式接口。常见的...【详细内容】
2022-07-15  二哥学Java    Tags:编程   点击:(1)  评论:(0)  加入收藏
在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastify 构建一个 Full-stack 应用程序。在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastif...【详细内容】
2022-07-12  qaseven    Tags:全栈   点击:(9)  评论:(0)  加入收藏
好的软件开发网站有哪些?做软件开发哪些网站能提供帮助呢?这些很多做软件开发的小伙伴都会问到的问题。007出海全球社交流量导航网站,整合了多方出海跨境网站资源,为你介绍出海...【详细内容】
2022-07-08  Chuhai007    Tags:软件开发   点击:(10)  评论:(0)  加入收藏
我们用monkey做压力测试后,会保存一个monkey日志,那如果想快速的分析日志中有哪些异常,我们可以用批处理工具进行快速的筛查,我们一起来看看吧。先编写个小脚本,然后修改为bat后...【详细内容】
2022-07-08  溪流涌动    Tags:monkey   点击:(13)  评论:(0)  加入收藏
白盒测试落地实践分为两个大方向,一个是静态分析,一个是动态分析,当然啦,也可以叫做静态测试和动态测试。那我们如何高质量保效率的做好白盒测试呢?Parasoft已经为您准备好了成熟...【详细内容】
2022-07-08  Parasoft中国    Tags:白盒测试   点击:(11)  评论:(0)  加入收藏
Altium Designer 自带脚本功能的开发项目,可以调用官方AD API接口对原理图或者PCB进行自动操作,本文主要分享开发的流程,和一些基本的概念信息,本文介绍的脚本工具例子可以用在P...【详细内容】
2022-07-07  电子工程师伟哥    Tags:Altium Designer   点击:(21)  评论:(0)  加入收藏
一、目录介绍 前置知识点 NIO Netty 的核心组件 Channel Callback Future 和 Promise 事件和 ChannelHandler Hello World二、前置知识点1、NIO首先我们需要回顾一...【详细内容】
2022-07-06  架构师jickly    Tags:聊天系统   点击:(16)  评论:(0)  加入收藏
1.事件流事件流是对事件执行过程的描述,了解事件的执行过程有助于加深对事件的理解,提升开发实践中对事件运用的灵活度。2.捕获和冒泡捕获阶段是【从父到子】的传导过程,冒泡阶...【详细内容】
2022-07-06  金乾坤    Tags:API   点击:(13)  评论:(0)  加入收藏
刷盘策略CommitLog的asyncPutMessage方法中可以看到在写入消息之后,调用了submitFlushRequest方法执行刷盘策略:public class CommitLog { public CompletableFuture<PutMe...【详细内容】
2022-07-06  Java码农之路    Tags:RocketMQ   点击:(16)  评论:(0)  加入收藏
最近读了本好书-《深度学习推荐系统》,读完不觉全身通畅,于是就有了写这篇文章的想法,把自己的理解和总结分享给大家。 本文将按照从算法到工程的顺序,先介绍一下推荐系统整体...【详细内容】
2022-07-05  InfoQ    Tags:推荐系统   点击:(22)  评论:(0)  加入收藏
站内最新
站内热门
站内头条