S # Original Language introduction series (1)-opening section,
S # Original Language introduction series (1)-OpeningAuthor: Shone
Copyright Disclaimer: This article is an original article by the blogger. You are welcome to repost or reference the content, but please indicate the source.
I. kaizongli School
The programming language has been blooming. Why should I develop another language? Isn't it a duplicate wheel?
Whether it is a natural language or a programming language, its core function is an expression. In common programming languages, there are four main expressions:
1. oriented to functions: functions are first-class citizens, such as LISP, Python, and F;
2. process-oriented: Data + algorithms = programs, classic languages such as BASIC, Pascal, and C;
3. Object-oriented: all objects, such as C ++, Java, and C;
4. Data-oriented: data is stacked and nested, such as XML, YAML, and JSON;
Of course, the above languages and other languages that are not mentioned more or less support one or more expressions. Each expression has some common language features that can be compatible with each other, some are mutually exclusive. It can be seen that it is difficult to design a language that contains all its features. This is also why the discussion of language is prone to debate over procedural language nationalism.
I have been learning and ignorant, and have been trying to design and develop such a "expression-oriented" programming language for many years. It can accommodate most of the common language features. I have made some achievements until today. I would like to share with you for further improvement.
I named ShoneSharp (S # for short) as the newly created programming language. Shone has both expression and cool meaning, while Sharp indicates the source of the design, refer to CSharp and FSharp (C # And F #). From now on, S # is an independent school. It is known as the "Hyun language school" and created the ancestor Shone. You are welcome to use and support S #.
This is the beginning of the xuanyan school:
Developing a language is very difficult. It involves all aspects of language design, development, and application. There are also a lot of content to be introduced. This article is the beginning of the series and will be gradually written and published in the outline sequence listed below. Please stay tuned for further communication.
Ii. S # language editor
1) Software Download
2) Software Interface
3) program input
4) Syntax Parsing
5) view results
6) advanced functions
Iii. S # Language introduction 3.1. Basic Types
1) Value
2) String
3) Boolean Value
4) ry type
5) Extension Type
3.2. Composite Type
1) array
2) List
3) Data Tables
4) User-Defined Functions
5) custom class
3.3. Basic syntax
1) Constant
2) variables
3) Operator
5) Functions
6) attributes
7) Method
8) Formula
9) Statement
3.4. Advanced syntax
1) variable scope
2) Sequential Control
3) condition Control
4) cyclic control
5) Function Definition
6) function call
7) Class Definition
8) Class instantiation
9) JSON expression
8) XML expression
Iv. S # language application
1) Data configuration
2) File Parsing
3) two-dimensional parameterization
4) 3D parameterization
5) BIM Information Model
6) Software Interface
V. S # Language Outlook
1) cross-platform software
2) Open-source plan
3) Establish an Ecosystem
Copyright Disclaimer: This article is an original article by the blogger. You are welcome to repost or reference the content, but please indicate the source.