ShoneSharp语言(S#)的设计和使用介绍
系列(4)— 入门概述
作者:Shone
声明:原创文章欢迎转载,但请注明出处。
摘要: S#语言演变到如今,其实已经形成比较强的个性了,也有很多利弊。语言的个性是由其语法确定的,S#的基因就是公式系统,其设计、表达和核心库在各种语言比较中绝对算的上是一流的,已支持近3800个函数或属性或方法调用。
前面几篇博文发布后我发现各种搜索引擎很难索引到S#,应该是把#看成了特殊符号,因此我把标题改成“ShoneSharp语言(S#)的设计和使用介绍系列”,同时也突出了本系列还将介绍S#的语言设计过程与相关考量,可供语言设计爱好者参考。
今天开始就进入正题,对S#语言本身进行抽丝剥茧,详细介绍。
一、S#语言观
编程语言是人设计和使用的,因此不可避免也反应了人性,肯定会带有某些主观偏好和执念。有人的地方就有江湖,不同民族也有不同方言,可见编程语言的多样性也是必然。物以类聚,人以群分,持有类似编程语言观点的人在一起交流也会比较融洽,不过也没有必要党同划异、争论不休。
个人认为没有一种编程语言是完美的。每种语言都在走平衡木,在机器理性与人类感性世界里徘徊,在运行性能与开发效率中摇摆,在科学理论与工程现实夹缝中求生。
S#语言的开发不是为了替代谁谁,也不是为了显摆和牛逼,他是Shone个人爱好和探索的产物,也是语言自身不断进化的结果。S#语言演变到如今,其实已经形成比较强的个性了,要添加新的功能特性,很多情况下会产生排斥反应。
S#语言也有很多利弊。比如其特色是追求强大的表达能力,但是会牺牲一些运行性能;解析运行一体化很好,但是肯定不利于大规模程序的调试;万物皆树结构很酷,但是会多消耗一些内存。
S#语言不是大规模系统开发语言,但也是一种颇具特色的领域语言,因为他一开始就在内核层面支持二维三维的几何类型,因此天生就适用于表达图形,特别是参数化的矢量图形。
总之天下语言千千万,哪里有需求,哪个语言更适用就用那个。比如