查看: 265|回复: 0

[ASP.NET教程] ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇

发表于 2017-12-4 08:00:02
句号论坛
ShoneSharp语言(S#)的设计和使用介绍 系列(1)— 开篇 作者:Shone

声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp。

一、开宗立派

编程语言已经百花齐放,为什么还要开发另一个语言?难道不是重复造轮子吗?

不管是自然语言还是编程语言,其最核心的功能都是一种表达。在常用的编程语言中,主要有以下四种表达方式:

1. 面向函数:函数是一等公民,经典如LISP、Python、F#等语言;

2. 面向过程:数据+算法=程序,经典如BASIC、Pascal、C等语言;

3. 面向对象:一切皆对象,经典如C++、Java、C#等语言;

4. 面向数据:数据层叠嵌套,经典如XML、YAML、JSON等语言;

当然上述语言以及其他未提到的语言或多或少都支持其中一到多种表达方式,每种表达方式都有一些约定俗成的语言特性,这些特性有些可以共通兼容,有些则会相互排斥。可见要设计一种语言包含所有特性其实很难,这也是为什么一谈到语言,容易引起程序语言民族主义式的争论。

本人才疏学浅、无知无畏,多年来一直在尝试设计并开发这样一种“面向表达”的编程语言,可以包容大多数惯用的语言特性。直至今天方才略有所成,特此分享以求进一步完善。

本人为新创立的编程语言取名为ShoneSharp(简称为S#),其中Shone兼有表达和炫酷之意,Sharp则表明设计出处,主要参考CSharp、FSharp(即C#、F#)。从今而后S#自成一派,号称“炫语派”,创立祖师为Shone,欢迎各位使用和支持S#。

炫语派的立派之本是:

  1. S#语言心法:一切皆表达。数据即程序,程序即数据,函数、过程和对象本质都是数据的不同表达。正所谓空即色,色即空,大象无形,大音希声,万物归一。
  2. S#语言内功:一切都是树。与堆栈式语言不同,语法解析树就是数据结构树,解析时就是运行时,独木成林,一树一世界。
  3. S#语言招式:化繁为简。所想即所得,所见即所得,语言特性尽量简化,与已有惯用表达保持一致,无招胜有招。

开发一门语言是很困难的事情,涉及到语言设计、开发以及应用的方方面面,要介绍的内容也很多。本篇作为系列的开篇,后面将按照下面所列的大纲顺序逐步进行写作并发布,敬请期待与交流。

二、S#语言编辑器

1) 软件下载

2) 软件界面

3) 程序输入

4) 语法解析

5) 查看结果

6) 高级功能

三、S#语言简介 3.1. 基本类型

1) 数值

2) 字符串

3) 布尔值

4) 几何类型

5) 扩展类型

3.2. 复合类型

1) 数组

2) 列表

3) 数据表

4) 自定义函数

5) 自定义类

3.3. 基本语法

1) 常量

2) 变量

3) 算符

5) 函数

6) 属性

7) 方法

8) 公式

9) 语句

3.4. 高级语法

1) 变量作用域

2) 顺序控制

3) 条件控制

4) 循环控制

5) 函数定义

6) 函数调用

7) 类定义

8) 类实例化

9) JSON式表达

8) XML式表达

四、S#语言应用

1) 数据配置

2) 文件解析

3) 二维参数化

4) 三维参数化

5) BIM信息模型

6) 软件界面

五、S#语言展望

1) 软件跨平台

2) 开源计划

3) 建立生态

声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp。



太阳http代理AD
回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条