未来编程语言展望——G语言的神奇新要素

本文探讨了未来编程语言G语言可能引入的新特性,包括pos_t类型用于标签跳转,以相关函数代替成员函数,全文编译无定义次序依赖,底层关键字和高级宏的增强,以及局部语法和常量字符串的创新。G语言旨在提供更高效、灵活的编程体验。
摘要由CSDN通过智能技术生成

我在QQ上加了一个专门讨论DirectX的群,里面有不少的高手。这让我也有机会去感受一下GNU之父——斯托曼在大学时代曾经体会过的那些快乐。客观地讲,这就是传统黑客(有技术和共享合作精神,而非入侵他人计算机)。

在讨论技术之余,我发现大家都在抨击C++的语法问题。臃肿、复杂、难以理解,很多时候不够灵活,也无法榨干硬件能力。其他那些C++之外的语言更是如此。像Java这种语言只能被抨击为邪语(类似邪·教这种)。

仔细看不难发现,甚至没有哪种主流的编程语言是中国人发明的(其实还是有的,比如易语言,但很少见有人用这种东西)。最近华为非常高调,宣称已经造出了自主研发的操作系统(鸿蒙OS),下一步还要开发自主研发的编程语言。这其实是好事。但要落地,而绝不能画饼。可以以旧的编程语言为参照,改进轮子,大功一件。

我对脚本语言(比如Python、JavaScript),以及像Java这种半编译语言兴趣不大。以后再说。

本文专讲未来的编译语言。我只能算编程业余爱好者,水平不高,想到哪儿说哪儿。

自娱自乐,不必太当真。

一、pos_t类型

size_t类型大家都不陌生。这是一种typedef的无符号整数,且同指针有通常的长度(x86下是32位=4字节,x64下是64位=8字节)。而pos_t同size_t具有同样的长度,也是无符号整数。这东西什么用?请看下面的代码:

void func()
{
    pos_t pos = End;
    goto pos;
End:
    return;
}

也就是说,要允许将标签赋值给变量,并以变量为目标进行跳转。ASM(汇编)是有这个能力的。在至少1/3以上的函数内,对于保证代码的效率而言是必须的。写过代码的人必深有体会。

函数内的标签还应该可以被导出来。上代码:

int func1(pos_t pos)
{
    goto pos;
Pos1:
    return 1;
Pos2:
    return 2
}

void func2()
{
    pos_t pos = func1:.Pos2;
    int x = func1(pos);
    printf("%d
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值