esProc vs. Other Programming language
1. esProc is not an object-oriented language.
esProc is a data computing language with powerful table sequence (TSeq) and cursor data object. It specially optimizes algorithms for (semi) structured data processing, capable of handling various complex computing problems easily. Because it is designed to serve the sole purpose of computing, esProc has simple structure and is easy to grasp. Users can effortlessly adapt themselves to esProc IDE and grasp its development method.
esProc is not an object-oriented language and free from complex concepts like inheritance or overloading. It is not used to develop a complete application. What it excels at is handling computational part of the application, such as rearranging source data for report creation, acting as the class library for JAVA in processing structured data and as the middleware.
2. esProc is programmer-oriented.
esProc has agile syntax, grid-style script, and complete debug functionalities. It is a tool more suitable for application programmers to handle multi-step business computing involving complex algorithm and hybrid computing with various data sources than for system programmers to develop the infrastructure or a whole package of utilities.
3. With esProc, programmers can focus more on business logic than technical implementation, effectively reducing the difficulty of converting business logic to program code. esProc is a dynamic language interpreted by Java
A pure Java product, esProc is as integration-friendly and open as Java. Besides, esProc is a dynamic language, agile and flexible as it should be. Theoretically, the performance of esProc won’t surpass that of Java, but it exceeds other dynamic languages. esProc is specially optimized for (semi-) structured data and inbuilt with abundant class libraries to support data computing. It also supports parallel computing through simple code to gain a much higher performance.
esProc vs. SQL
a. Both have the capability of processing structured data in batches
SQL is fit for the simple query achievable in one step. esProc is ideal for implementing the complex multi-step business logic.
b. Advantages of esProc over SQL
esProc optimizes algorithms for structured data computing by supporting stepwise computing, complete set orientation, order-related computing and object reference, which makes structured data handling easier. esProc also allows users to choose algorithms and data storage style according to specific scenarios so as to achieve higher performance.
c. Advantages of SQL over esProc
SQL is characterized with simple and consistent syntax and great universality. It has a very wide range of application support and thus enjoys richer resources.
esProc vs. Database
a. esProc cannot replace database.
b. esProc has neither the metadata mechanism, nor the interface language SQL has. Although esProc provides storage function to manipulate data, it just aims to get much higher throughput performance. esProc can to some extent serve as a database, but its emphasis is on data computing. Therefore, it cannot completely take the place of the databases.esProc is equivalent to a stored procedure.
c. esProc can work based on databases, local files, distributed file systems, and other data storage solutions. It is aimed at accomplishing the computing tasks with complex procedures, especially those that are hard for the traditional SQL/SP to implement. Essentially, esProc is a stored procedure which is more economic at scaling, better in performance, and easier to develop.
d. esProc is open
esProc has the open interface for external connection, enabling users to scale it up with Java language. Working with an external program, esProc can process non-structured data, while the database system is relatively closed and only capable of processing the structured data.
e. esProc is easy to scale out
esProc is easy to scale out and can be deployed on normal PCs, while databases, which normally require special high end equipments, are hard to scale out.
esProc vs. R Language
a. Both esProc and R language boast the agile syntax and powerful set operations to accomplish development tasks on data computing efficiently.
b. R language is designed for the statistical analysis and provides a library of abundant mathematical functions, so it’s fit for algorithms with complex mathematical model; By comparison, esProc specializes in business computing on structured data, and is comparatively more fluent with the database computing.
c. R language is mainly designed for the independent data scientists and has mediocre integration; esProc is excellent in integration and capable of integrating into the users’ applications.
d. The free R language does not offer a parallel mechanism. Users have to turn to other means to implement the big data computing. esProc has inbuilt parallel computing mechanism to directly complete the big data computing.