esProc SPL is a programming language. Unlike most text-based programming languages, SPL code is written in a grid similar to Excel, and just like Excel, you can see the execution results step by step in real-time. This reduces the learning curve for beginners and provides an excellent interactive experience:
SPL provides standard programming language features like branching, looping, and even recursion. Notably, SPL has powerful set operation capabilities, making the code more concise. For instance, the famous eight queens puzzle can be solved in just a few lines.
You can try it at: https://try.esproc.com/splx?3VU, and find more code examples at: https://c.esproc.com/article/1688024127696#toc_h2_2.
SPL stands for Structured Process Language, and its main goal is structured data computation. Currently, SQL is the mainstream language in this field, but SQL has many limitations and often requires external help, such as Python, to implement a full computational task. SPL introduces discreteness based on set operations for structured data tables, integrating the shared advantages of SQL and Java, allowing you to achieve the effect of SQL+Python using only SPL.
From this essay The most powerful grouping operation in history, bar none, you can gain insight into one aspect of SPL's stronger language capabilities and understand why SPL can cover SQL+Python. With even more powerful features yet to be explored, SPL has the potential to revolutionize how complex data processing tasks are handled.
We are constantly collecting practical SQL problems and solving them in SPL here: https://c.esproc.com/tag/Application. Through these examples, you'll further appreciate SPL's elegance and powerful cappabilities.
esProc is developed entirely in Java, allowing it to be seamlessly integrated into Java applications and deployed as part of them. SPL also offers robust multi-data source capabilities, supporting a variety of data sources, including RDBs, NoSQL, and more - possibly the most in the industry.
esProc can easily implement lightweight multi-data source hybrid computations, rather than relying on a heavy logical data warehouse, making it an ideal embedded computation engine for report queries and other application systems.
For open-source users, we have not provided an automatic installation package, but rather a ZIP file. You can find the installation instructions here: https://c.esproc.com/article/1718848717817. Additionally, Eclipse users can find instructions for downloading and running the source code here: https://c.esproc.com/article/1677815008127.
For other editions, installation packages can be downloaded from https://www.esproc.com/download-esproc/. No further instructions are necessary, as the installation process is straightforward.
This book: SPL Programming is a good start for learning SPL syntax. The book intends for beginners who do not have any programming experiences. Look it through quickly if you are a veteran, but the object understanding explained in section 4.4 is worth a study. Chapter 5 is important, too. It explains SPL’s set-oriented way of thinking, which is quite different from the other languages. But once you understand and master SPL, you can write elegant code. Chapters 8-10 are staple of SPL learning. It regards the structured data computations in a different perspective from SQL. This is significant even for the professional programmers! From the SPL point of view, SQL is a little simple in understanding the structured data as the world is complex. The knowledges you obtained in various database courses are not broad and profound enough! You need a review and brush-up!
Find basic SPL concepts in this post: SPL concepts for beginners. For beginners, you can find characteristic basic computations of SPL in SPL Operations for Beginners. Experienced programmers can quickly understand the differences between SPL and SQL. A software architect can understand the differences between SPL and traditional databases after reading Q&A of esProc Architecture.
Find comprehensive SPL documentation in SPL Learning materials. Generally, an application programmer can get started in handling basic operations from database connection: SPL: Connecting to Databases and database read/write SPL: Reading and Writing Database Data or file access and computation SPL: Reading and Writing Structured Text Files. Then you can learn how to integrate SPL in a Java application How to Call an SPL Script in Java. Those make a simple learning loop.
High-performance computations are relatively difficult, but there is a systematic book on algorithms: Performance Optimization. Performance optimization algorithms are not unique to SPL. You can implement high-performance computations using another programming language (except for SQL) after you learn these algorithms. The key lies in algorithm instead of syntax. Yet, you need to grasp SPL concept and syntax well in order to better understand the algorithms.
The SPL learning posts above also contain applications of the performance optimization algorithms.
Storage forms the cornerstone of high-performance computing. The following post introduces the proprietary storage schema commonly used in SPL for beginners: How to use SPL storage for beginners. Usually, the first step of performance optimization is designing an appropriate storage schema.
You are welcome to post your troubles and problems when trying to achieve high performance computing and discuss with us to find a solution: Wanted! Unbearably slow query and batch job.
- esProc Official WebSite: http://www.esproc.com Forum: http://c.esproc.com/
- Tutorial esProc download, installation, as well as principles and applications
- Function Reference esProc syntax, applications and examples
- User Reference esProc programming by examples
- External Library Guide Deployment of and connection to esProc external libraries
- Please head to Download esProc SPL to download esProc executable files
- How to Get Open-source esProc for Eclipse through Git
esProc is under the Apache 2.0 license. See the LICENSE file for details.