SPL Programming - Preface



Programming, like driving, has increasingly become a basic skill of modern people. There is no need to say the benefits of mastering programming skills and being able to use programming to deal with problems in daily work and life.

However, at present, almost all the programming languages in the IT field are designed for professionals, and they set a threshold too high for employees in other job positions to learn and master in daily work. This also indirectly leads to the difficulty of finding a book about programming for this kind of people and putting what they have learned into practice.

In fact, it is not difficult to understand the basic concepts and logic of programming. With an appropriate programming language and book tutorials, programming can become a skill that most people can master like driving.

This book hopes to help this process.

The content of this book can be divided into two parts.

The first part is the foundation, which introduces the basic concepts of almost all programming languages. After understanding these knowledges, you can quickly grasp the key content and master a new language. However, only learning these contents, you can only handle some arithmetic problems that you almost never encounter in your work, and you can’t apply what you have learned. Nevertheless, these contents are still necessary as a basis.

The latter part is about the most common structured data and its processing methods in daily work. After obtaining these knowledges, you can handle the tasks of tables and data analysis and so on efficiently. The content of structured data computing described in this book is far beyond the current traditional system based on relational algebra. Many operation types are incorporated into the book for the first time all over the world, and mastering these operations is very important for structured data processing.

This book is not for professional programmers who have an in-depth understanding of programming. It does not involve professional contents such as object orientation, event driven, framework and so on. Most of the knowledge here can be understood and mastered by beginners, but a small amount of content is relatively difficult. The part marked with * in the section name can be used as optional reading content to deepen the understanding of programming. It doesn’t matter if you skip it and it won’t affect the learning of other parts and daily work application.

The programming language used for examples in this book is called SPL, and the development environment is called esProc. At present, it is open source and can be downloaded from Raqsoft official website. The specific installation process is very simple and will not be described in detail here.

SPL is the simplest programming language in the industry that has all the basic features of programming and can easily process structured data computing. Other languages are either too difficult or too cumbersome (including Python, which is very popular at present), and are not suitable for beginners.

Table of contents

SPL Programming - Preface
SPL Programming - 1.1 [Doing arithmetic] Data
SPL Programming - 1.2 [Doing arithmetic] Variables and statements
SPL Programming - 1.3 [Doing arithmetic] Functions
SPL Programming - 2.1 [Doing judgement] Logic operation
SPL Programming - 2.2 [Doing judgement] Branching structure
SPL Programming - 2.3 [Doing judgement] Comments and jumps
SPL Programming - 3.1 [Doing loop] Single layer loop
SPL Programming - 3.2 [Doing loop] Multilayer loop
SPL Programming - 3.3 [Doing loop] Conditional loop
SPL Programming - 3.4 [Doing loop] Endless loop
SPL Programming - 4.1 [Sequence] Sequence
SPL Programming - 4.2 [Sequence] Loop of sequence
SPL Programming - 4.3 [Sequence] Multi-layer sequence
SPL Programming - 4.4 [Sequence] Understanding objects
SPL Programming - 5.1 [Sequence as a whole] Set operations
SPL Programming - 5.2 [Sequence as a whole] Loop functions
SPL Programming - 5.3 [Sequence as a whole] Loop functions: advanced
SPL Programming - 5.4 [Sequence as a whole] Iterative function*
SPL Programming - 5.5 [Sequence as a whole] Positioning and selection
SPL Programming - 5.6 [Sequence as a whole] Sorting related
SPL Programming - 5.7 [Sequence as a whole] Lambda syntax*
SPL Programming - 6.1 [Reuse] User-Defined Functions
SPL Programming - 6.2 [Reuse] Recursion*
SPL Programming - 6.3 [Reuse] Reusable script
SPL Programming - 7.1 [String and time] String
SPL Programming - 7.2 [String and time] Split and concatenate
SPL Programming - 7.3 [String and time] Date and time
SPL Programming - 8.1 [Data table] Structured data
SPL Programming - 8.2 [Data table] Table sequence and record sequence
SPL Programming - 8.3 [Data table] Generation of table sequence
SPL Programming - 8.4 [Data table] Loop functions
SPL Programming - 8.5 [Data table] Calculations on the fields
SPL Programming - 9.1 [Grouping] Grouping and aggregation
SPL Programming - 9.2 [Grouping] Enumeration and alignment
SPL Programming - 9.3 [Grouping] Order-related grouping
SPL Programming - 9.4 [Grouping] Expansion and transpose
SPL Programming - 10.1 [Association] Primary key
SPL Programming - 10.2 [Association] Foreign key
SPL Programming - 10.3 [Association] Merge
SPL Programming - 10.4 [Association] Join
SPL Programming - 11.1 [Big data] Big data and cursor
SPL Programming - 11.2 [Big data] Fuctions on cursor
SPL Programming - 11.3 [Big data] Ordered cursor
SPL Programming - 11.4 [Big data] Big cursor
SPL Programming - 12.1 [Drawing graphics] Canvas and elements
SPL Programming - 12.2 [Drawing graphics] Coordinate system
SPL Programming - 12.3 [Drawing graphics] More coordinate systems
SPL Programming - 12.4 [Drawing graphics] Legend
SPL Programming - Postscript


SPL Programming Exercise - Chapter 1 Doing Arithmetic
SPL Programming Exercise - Chapter 2 Doing Judgment
SPL Programming Exercise - Chapter 3 Doing loop
SPL Programming Exercise - Chapter 4 Sequence
SPL Programming Exercise - Chapter 5 Sequence as whole
SPL Programming Exercise - Chapter 6 Reuse
SPL Programming Exercise - Chapter 7 String and time
SPL Programming Exercise - Chapter 8 Data table
SPL Programming Exercise - Chapter 9 Grouping
SPL Programming Exercise - Chapter 10 Association
SPL Programming Exercise - Chapter 11 Big data