查看原文
其他

全网最抽象编程语言:内置“典”、“蚌”特性

出品 | OSC开源社区(ID:oschina2013)

今天在网上冲浪看到了一个极其抽象的逆天编程语言,不用多说,看名字就知道是什么成分了——ShitLang

据介绍,ShitLang 通过魔改过的 Lua 解释器来实现,它具有丰富的功能和操作符,包括输出、循环、函数声明等,还有内置了数学库和闭包等特性。

ShitLang 部分特性

  • 具有输出、循环、函数声明等功能
  • 可以使用 budong 数学库和闭包等特性
  • 可以生成随机数并对数据进行处理
  • 支持大于小于等操作符
  • 具有多种数据类型和操作符

使用示例

  • 创建 shit 文件,并用 Shitlang 的 shit 语句向控制台打印数据 —— 简称拉 shit

  • 函数声明,关键字是 fxxk

  • 内置 “典”、“蚌” 特性

  • 内置 budong 数学库

budong 数学函数库能够进行简单的数学计算、生成随机数等。

ShitLang 演示地址
https://www.bilibili.com/video/BV13h4y1s7kJ/

这里顺便斗胆提一下同样抽象的赛博编程语言:HeLang。

整活到此为止,上面只是图一乐罢了。


最后来点严肃的内容,介绍几款中国人主导的编程语言。

aardio 编程语言

aardio 是一门专注于桌面软件开发的编程语言,特点是小、轻、快,体积仅 6.5MB,学习和使用成本极低。

aardio 虽然小,但提供了惊人数量的开源标准库、扩展库 —— 这些库基本都是由纯 aardio 代码实现。


ReScript —— 类型化 JavaScript
ReScript 是一种强大的类型化语言,可以编译成高效且可读性高的 JavaScript。ReScript 包含了一个快速的编译器工具链,可以扩展到任何代码库的大小。
示例代码
ReScript 编写:
module Button = { @react.component let make = (~count: int) => { let times = switch count { | 1 => "once" | 2 => "twice" | n => Belt.Int.toString(n) ++ " times" } let msg = "Click me " ++ times
<button> {msg->React.string} </button> }}
编译为 JavaScript:
var React = require("react");
function Playground$Button(Props) { var count = Props.count; var times = count !== 1 ? ( count !== 2 ? String(count) + " times" : "twice" ) : "once"; var msg = "Click me " + times; return React.createElement("button", undefined, msg);}
var Button = { make: Playground$Button};
exports.Button = Button;
项目地址:https://www.oschina.net/p/rescript
文言 —— 文言文编程语言
文言(wenyan-lang)是一门采用文言文输入的编程语言,该语言不使用英文字符,仅包含繁体中文字符,并保留繁体引号「」。

Helloworld demo 

Wenyan:

吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。

等效 JavaScript:

var n = 3;
for (var i = 0; i < n; i++) {
console.log("問天地好在。");
}

输出:

問天地好在。
問天地好在。
問天地好在。
项目地址:https://www.oschina.net/p/wenyan-lang
Go+ —— 为数据科学而生的编程语言
Go+ 是一门适用于工程、STEM 教育和数据科学的编程语言。主要特性包括:静态类型语言、与 Go 完全兼容、脚本化的风格,以及比 Go 更易于阅读的数据科学代码。
简单对比:
GoPlus 代码
println [1, 2, 3.4]
Go 代码
package main
import "fmt"
func main() { fmt.Println([]float64{1, 2, 3.4})}
项目地址:https://www.oschina.net/p/goplus
凹语言 —— 国内 Go 开发者设计的实验性编程语言
凹语言™(凹读音 “Wa”)是国内 Go 开发者设计的实验性编程语言。发起者称其为“披着 Go 和 Rust 语法外衣的 C++ 语言”。
例子
项目地址:https://www.oschina.net/p/wa-lang
HVML —— 可编程标记语言
HVML 即 Hybrid Virtual Markup Language, 能够让熟悉 C/C++ 或其他编程语言的开发者可以通过 HVML 使用 Web 前端技术(如 HTML/SVG/MathML 和 CSS)轻松开发 GUI 应用程序。

项目地址:https://www.oschina.net/p/hvml
CovScript —— 跨平台脚本编程语言
CovScript 是一门跨平台、开放源代码的动态类型脚本编程语言,具有高效、易懂、可靠的特点,充分吸收了现代编程语言研究的成果,与 C、C++ 等现代语言有良好的可交互性。
项目地址:https://www.oschina.net/p/covscript
OpenBlock —— 可视化块编程语言
OpenBlock 是可视化块编程语言,是一门希望通过将编程简化、将业务逻辑可视化的图形化编程语言,语言特性上有 Erlang 和 Smalltalk 的影子,语法层面借鉴了 Scratch,使用 Blockly 作为语言前端。

项目地址:https://www.oschina.net/p/openblock

草蟒 —— 基于 Python 的全中文编程语言
草蟒是 Python 汉化版,开发草蟒的目的是消除英语门槛,提供一种简单自然、易学易用、功能强大、应用广泛的中文编程语言,让普通国人能自由地使用母语进行编程。
示例 :
# '列表型' 和 '枚举' 函数>>> 水果 = ['香蕉', '苹果']>>> 水果.追加('梨')>>> 列表型(枚举(水果))[(0, '香蕉'), (1, '苹果'), (2, '梨')]
项目地址:https://www.oschina.net/p/grasspy
木兰编程语言 —— 基于 Python 实现的编程语言
木兰编程语言是基于 Python 实现的编程语言,木兰源代码转换为 Python 的中间表示(AST)后执行,可实现各种语法设计与周边功能,并可方便地利用 Python 现有生态。
代码中可以直接调用现有 Python 库,如下调用了草蟒的中文 API:
项目地址:https://www.oschina.net/p/mulan-rework

完整查看:中国人主导编程语言列表

往期推荐



Rust内部大乱斗不休止

MINIX已死,那么Linux呢?

作大死!Firefox 强制弹出全屏广告惹众怒



这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存