SGL专用语言SGS开发灵感

要说我这样的人是真喜欢自己造轮子,一点也没错。接触代码刚刚两年多一点,什么微软谷歌干过的事情我都会去亲自尝试一遍,像自己制作一个图形界面的操作系统、自己实现一套独立的图形库、使用OpenGL封装一个比unitiy菜许多的3D引擎这样子的事情我都做得津津有味。现在,我又开始自己研发新的语言了。考虑到实用性,最终我还是决定将这个SGS语言作为SGL图形库的专属脚本语言。


SGS(Super Graphic Script),从名字就可以看出其和SGL的关联。所以,在这个语言的一些特性的设计上,我就会着重考虑使用它进行图形界面编程的实用性。


这款语言的设计初衷是希望打造一款接近于英语的编程语言,所以很多语言特性都跟英语很接近。为什么不是汉语呢?原因很简单,道理不在编码的难易,主要在于汉语的分词是无法简单实现的。英语中单词之间用空格间隔,但是汉语的单词之间并没有什么间隔。所以对于完整的一句话,计算机该如何分割成为了很大的难题。如果这个问题可以解决,那么汉语编程就很快会出现。那么我们继续说英语编程的事情,越接近英语,那么使用的符号就越少,多为逗号句号这样常见的标点符号。同样地,SGS语言里削减了绝大部分编程符号的使用,主要以逗号句号为主。


下面举几个例子:像编程中最常见的声明并赋值,以C为例,写作“int a = 0;”。那么,在SGS中,同样含义的句子要写作“let integer a be 0.”也许大家会觉得这样阅读代码会更加吃力,不过事实上并不会。在加入合适的高亮之后,代码的阅读跟其他语言相比不会逊色。于是乎,凭着这样一个想法,这个语言就这样慢慢地被设计了出来。综合考虑到各种编程语言的优点,像什么面向对象、动态绑定、函数式编程这样的种种优点,都会慢慢地加入SGS语言中。对于SGL图形库来说,较为常见的就是绘图函数了,比如putBmp("back.bmp", 0, 0);这样的,这种操作使用一句SGS语言就可以完成。因为SGS是解释器语言,所以它的每一句都是可以单独运行的,不必和C一样整个代码文件放在一起才能编译运行。这样的好处很明显,就是我们可以很容易地将整个程序分成若干个部分,逐个部分完成,最后再拼接到一起。


除了SGS本身的特性之外,这个解释器还将嵌入我的另一个项目(RWE)中,就是一款三维的继承开发环境。在这个开发环境中,我们可以将SGS语言的运行结果显示在一块虚拟的屏幕上来进行调试,从而更方便我们编写图形界面的程序。


当然,如果SGS真的实现了上述全部的期望,那当然可以继续对它委以重任,比如对数据处理这样的任务也可以使用SGS来完成。不过,SGS终究也只是script,是以启发式为根本的编程脚本语言,与C这样的基础编程语言还是不能比较的。接下来,我会尽力将现有的设计加以实现,让SGS为编程世界带来更多的便利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值