ARSpark
本帖最后由 RarityEG 于 2022-5-7 20:57 编辑





(排版前纠结:用紫色还是用粉红色呢……)
(2 Hours Later)


只能说本小马脑袋是实在不太正常,放着好好的 TypeScript 不用,自己非要摸一种新语言 —— 重复造轮子,嗯,就是我(认真)
Hello World 程序


其实这不是本小马做的第一门语言,遥想当年本小马也尝试过实现 Jvav,效果大概类似:
输入一行并免费获得其它 4000 行。

输入一行……


……并免费获得其它 4000 行:(?!)



不过这次不一样! 我们隆重向您呈现……

The Slarity Programming Language
集 Ruby 的运行快速,C 的易于使用,Java 的内存低耗,Lua 的丰富功能和 Python 的句尾不加分号于一身的高级编程语言!
(是的,我是在开玩笑)



不过既然已经写出来了,那诸位不妨来看一看 Slarity 的一些(设计的)特性:

1. 超长的 Hello World

一门语言的示例程序通常是从 Hello World 程序开始的,以下是 Slarity 的 Hello World:

  1. main() {
  2.     s = $createString()
  3.     $appendString(s, 104)
  4.     $appendString(s, 101)
  5.     $appendString(s, 108)
  6.     $appendString(s, 108)
  7.     $appendString(s, 111)
  8.     $appendString(s, 44)
  9.     $appendString(s, 32)
  10.     $appendString(s, 119)
  11.     $appendString(s, 111)
  12.     $appendString(s, 114)
  13.     $appendString(s, 108)
  14.     $appendString(s, 100)
  15.     $printString(s)
  16. }
复制代码


是不是和你想象的不太一样?这是因为 Slarity 并不原生支持字符串

可能并不那么令人兴奋的是,Slarity 也不原生支持浮点数。

可能更令人兴奋的是,Slarity 不支持负数字面量 这意味着 -1 是不能被识别的,而 0-1 是可以的。

是不是已经开始迷惑了?那我们来看看下一个……

2. 莫名其妙的变量命名


你可能会认为这样的程序并不可以通过编译:

  1. 123Foo!() {
  2.     456Bar##!!$ = 123
  3. }
复制代码


不过在 Slarity 里,这是可以的,不仅没有任何警告,而且还能完全正常运行
用数字开头,或者加入各种特殊符号(但不包括大多数运算符),都不会改变变量名的识别。
(看来你并不相信,那我们来实验一下?)



3. 超级慢的运行速度

用 Slarity 和 Ruby 各写个程序玩一玩……
通过 1 + 2 + ... + 100000 的性能比对,我们得到了:




……大概差了三倍以上吧。

这是因为本小马过于疯狂,居然直接用 Node 编写解释器,如果改用 C 甚至汇编,就可能会好一些……或者甚至是 Java 都可以,但 JS 的运算能力……如果你用过 Alicorn 就知道是什么感觉了。

(顺便说一句,pinkie 是 Slarity 默认解释器的昵称)

4. 它将被用于 Alicorn 的后续开发!!!


这才是最重要的一点!Alicorn 的很大一部分代码或者新功能,将逐渐尝试改换到使用 Slarity,因为 Slarity:
  • 虽然有 Ruby 的运行速度,但更有 Ruby 的简便
  • 虽然有 C 的使用难度,但更有 C 的可扩展性
  • 虽然有 Java 的内存消耗,但更有 Java 的健壮

而且只要有对应的解释器,它可以运行在任何地方!

5. 玩!玩得开心!


正如我在文档中提出的那样:





欢迎访问 Slarity 编译器的源代码仓库:https://github.com/SlarityLang/SlarityC

也欢迎访问 Pinkie(Slarity 解释器)的源代码仓库:https://github.com/SlarityLang/Pinkie

本文排版借助了 VI Improved

最后施放召唤术:
@天空ag @青蛙的名单 @洞穴夜莺 @尸先peng @HaPi_r @DGai @dengyu @振翮高飞 @William_Shi


Test

尸先peng
本帖最后由 尸先peng 于 2022-4-4 23:35 编辑

愚人节……(bushi
↑↑↑以上仅为开玩笑,别当真↑↑↑


Devanaai
咳咳,前几天用了一段时间Alicorn,然后,然后搓整合的时候顺手换回pcl了

搞得我现在差点没脸回复小马
因为这个所以这期没@我吗

ARSpark
本帖最后由 RarityEG 于 2022-4-4 23:30 编辑
尸先peng 发表于 2022-4-4 23:24
愚人节……(bushi

(我要是闹着玩我就不会单独为此创建新的 Organization 了……(https://github.com/SlarityLang
(气哭(
(我通过编写一个新的编译器来创建一个新的编程语言来制造一个新的功能来改进一个启动器来玩 Minecraft)

ARSpark
满船清梦丶 发表于 2022-4-4 23:24
咳咳,前几天用了一段时间Alicorn,然后,然后搓整合的时候顺手换回pcl了

搞得我现在差点没脸回复 ...

(要说不生气那肯定是假的(
(但是既然现在我可以打字,那大概就是还没有哭到撕心裂肺的程度(
(迷离一点都不知道怜香惜玉,居然欺负这么可爱的我(
(哇哇大哭(

试炼
看不懂
我是个**

De/Fe-東
BUG百出的新编程语言好东西

子逍遥
点进来的我,明明和主题无关,但是听到这首歌我想起了那个音游

下一页 最后一页