作者:指向BIOS的野指针 原文出处:bilibili
引言在这个计算机发展越来越快速的时代,编程语言、操作系统的重要性不言而喻;而自从计算机普及以后,C语言就一直占据着编程语言的大半边天,这是为什么?
这是因为,各大操作系统平台几乎都是c语言及其衍生的语言开发的,Linux:主要使用GNU C语言开发;windows:主要使用c++;macOS:主要使用苹果自家的objc。因此,想要让应用程序运行在主流的操作系统上,就必须以C语言为基础,任何高级语言都不例外;java、python都是用c++写的。自然而然,大多数学习编程的人都会使用C语言。因此,甚至很多的库都是C语言写的。那既然C语言用得这么广泛,那就都用C吧。
但是,C语言也正是由于历史原因,它很大、很复杂、甚至很混乱,就连C语言(c++)的编译器也是一只手数不过来:msvc、gcc、clang、turboc、intel c、amd c…(虽然intel amd的编译器基本没人用,但是人家自家优化肯定比gcc等开源组织的好,在他们自家的驱动等的上面用得很广泛)。由此,c语言的复杂性可见一斑。
还有,不得不说,对于非系统开发,C语言真的很烂。
Hare语言C语言棘手就在这,它烂吧,确实烂;你不想用吧,你必须得用。就在两年前,30位硅谷大佬齐聚一堂,就为了解决C语言这个很棘手的问题。于是,Hare出现了。
这个系列,我会首先给大家介绍Hare语言是什么、Hare的语法,然后我会浅析一下Hare语言到底怎么样,它的前景在哪,以及它能否真正替代C语言。
在这个时候,网络上基本没有任何关于Hare语言的资料,那最好的办法就是:上官网。先感受一下这个语言的气质。
直接上图:
首先映入眼帘的是黑白的兔子(野兔Hare),不得不说,一股GNU味;不过Hare语言发布在Mozilla公共许可证(MPL)下,并不是想像中的GPL。
然后就是中间的这段样例代码了,首先我们看use语句,应该是用来引用库的,它直接抛弃了C语言的简单include的模式,而是用了现在大多数高级语言的import的模式。接着是函数声明,export应该就是表示公开给外部使用的意思了。fn可能就是function的简写。值得注意的是,它把返回值类型写在了函数名后面,这很符合我们的直观感受,先是知道有这样一个函数,然后知道这个函数返回什么。函数声明使用等号我不是很理解。接下来我注意到每一个花括号后都要有分号,可以说是方便了人们阅读代码吧。在for循环中,最引人注目的就是i += 1了——它把++和–直接砍了!绝对是因为谭浩强(不是;虽然这么说,但是这样也是减少了这种ub给程序员带来的困扰吧。
然而变量的声明方式我不是很理解,系统编程语言应该是静态类型但是为什么我没看到类型声明呢?也有可能是我没看懂,或许是在编译时确定类型?这个留到后面说。
接下来的GettingStart部分就是告诉你怎么安装Hare以及Hare的文档导航了。



