ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇
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#。
炫语派的立派之本是:
- S#语言心法:一切皆表达。数据即程序,程序即数据,函数、过程和对象本质都是数据的不同表达。正所谓空即色,色即空,大象无形,大音希声,万物归一。
- S#语言内功:一切都是树。与堆栈式语言不同,语法解析树就是数据结构树,解析时就是运行时,独木成林,一树一世界。
- 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。
ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇的更多相关文章
- ShoneSharp语言(S#)的设计和使用介绍系列(4)— 入门概述
ShoneSharp语言(S#)的设计和使用介绍 系列(4)- 入门概述 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...
- ShoneSharp语言(S#)的设计和使用介绍系列(3)— 修炼工具
ShoneSharp语言(S#)的设计和使用介绍 系列(3)- 修炼工具 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...
- ShoneSharp语言(S#)的设计和使用介绍系列(2)— 掀开盖头
ShoneSharp语言(S#)的设计和使用介绍 系列(2)- 掀开盖头 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...
- ShoneSharp语言(S#)的设计和使用介绍系列(11)—“类”披炫服靓妆化成“表”
ShoneSharp语言(S#)的设计和使用介绍 系列(11)—“类”披炫服靓妆化成“表” 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Sh ...
- ShoneSharp语言(S#)的设计和使用介绍系列(10)— 富家子弟“语句“不炫富
ShoneSharp语言(S#)的设计和使用介绍 系列(10)— 富家子弟“语句“不炫富 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Sho ...
- ShoneSharp语言(S#)的设计和使用介绍系列(9)— 一等公民“函数“爱炫巧
ShoneSharp语言(S#)的设计和使用介绍 系列(9)— 一等公民“函数“爱炫巧 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Shon ...
- ShoneSharp语言(S#)的设计和使用介绍系列(8)— 最炫“公式”风
ShoneSharp语言(S#)的设计和使用介绍 系列(8)— 最炫“公式”风 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSha ...
- ShoneSharp语言(S#)的设计和使用介绍系列(7)— 布尔Bool及对象Object
ShoneSharp语言(S#)的设计和使用介绍 系列(7)— 布尔Bool及对象Object 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ ...
- ShoneSharp语言(S#)的设计和使用介绍系列(6)— 字符串String
ShoneSharp语言(S#)的设计和使用介绍 系列(6)— 字符串String 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneS ...
随机推荐
- python 基础一
Python安装 Python --:安装时可以勾选 PATH环境变量,安装后无需再设置环境变量; Python 交互下 exit().quit()----可以退出交互环境; Pyhton 安装库与卸 ...
- 【转】CPU与内存的那些事
下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址: ...
- 如何用VS EF连接 Mysql,以及执行SQL语句 和存储过程?
VS2013, MySQL5.7.18 , MySQL5.7.14 执行SQL语句: ztp_user z = new ztp_user(); object[] obj = new object[] ...
- mybatis mysql 批量插入
场景描述: 使用mybatis操作mysql数据库,进行批量插入数据,提高代码质量和执行效率. 环境: mybatis spring mysql java xml配置文件 <insert id ...
- sql执行报错--This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
问题: 不支持使用 LIMIT 子句的 IN/ALL/ANY/SOME 子查询,即是支持非 IN/ALL/ANY/SOME 子查询的 LIMIT 子查询. 解决: 将语句:select * from ...
- eclipse项目中引入shiro-freemarker-tags会jar包冲突
maven项目中引入了这个依赖. <dependency> <groupId>net.mingsoft</groupId> <artifactId>sh ...
- asp.net在类库中使用EF 6.0时的相关配置
前提:之前使用EF的配置都是直接使用NuGet安装在项目中,然后直接修改web.config中的connectionString,然后创建相关dbcontext直接使用就可以了.此次为直接将EF安装在 ...
- C++编译程序时的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.程序结束时由编译器自动释放 ...
- Linux中main是如何执行的
Linux中main是如何执行的 这是一个看似简单的问题,但是要从Linux底层一点点研究问题比较多.找到了一遍研究这个问题的文章,但可能比较老了,还是在x86机器上进行的测试. 原文链接 开始 问题 ...
- 学习UML --用例图
用例图用于描述系统提供的系列功能.使用用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求.用例图对系统的实现不做任何说明,仅仅是系统功能的描述. 用例图主要在需求分析阶段使用,用于描述 ...