An Introduction to the Qore Programming Language

Did you know that Qorus Integration Engine® is built using its own unique programming language?

The Qore programming language was originally developed and designed by Qore Technologies’ CEO David Nichols in 2006 for a large European telco and has since gone through many iterations. In this blog, we’ll take a deep dive into the language itself and what makes it so unique. 

What is the Qore Programming Language?

Qore is an integrated, multithreaded (meaning more than one part of the same code can run at the same time) programming language that was designed for the rapid development of enterprise software solutions and focuses on fundamental support for multithreading, logic embedding with sandboxing controls and symmetric multiprocessing (SMP) scalability.

Qore features the world’s most advanced garbage collector supporting C++ style destructors for resource and automatic memory management (meaning developers do not have to allocate and free memory explicitly). This means Qore enables destructors to be operated instantly once the objects go out of scope, and it supports the RAII idiom.

The thread-safe programming language also allows developers to dynamically import Python and Java code, allowing these types of APIs to be used directly in Qore. The Python module also implements the Python qoreloader module in the same binary, allowing Python to dynamically import Qore and Java APIs.

Qore syntax is similar to (and inspired by) Perl, Java, C++, D and (regarding functional operators) Haskell. Developers who know C or C++ will easily understand the syntax of Qore and find it quite similar.

Qore Programming Language includes:

Optional strong typing and exception handling

Logic embedding and sandboxing controls

Object-oriented programming

Exceptions and exception handling

Weakly-typed development

Strong type restrictions with parse-time validation

Run-time optimizations with typed code

Destructors for scope-based resource management and exception-safe programming

Automatic memory management

Multithreading and thread-safe programming

Prompt Collection or completely deterministic garbage collection (unique to Qore)

Multiple inheritance

High-level APIs for SQL, schema and DBA management

Functional extensions such as foldl , map and foldr operators

Definition of interfaces through the definition of classes with all abstract methods

Lexical-scope-based resource management and exception-safe programming

All major operating systems (macOS, Windows and UNIX/Linux)

Why Choose Qore Programming Language?

Qorus Integration Engine is built using the Qore programming language to support efficient and stable execution. Unlike Python, C++, or Java utilities, there is no need to compile it. Qore comes ready with 60+ modules with advanced features and another 20+ that are offered in source form (user) or compiled C++ (binary). Additionally, Qore supports POSIX threads and has a wide segment of classes for managing threading objects, including gates, mutexes, locks, counters and queues.

Embedded logic support is another key feature of the Qore language. Qore supports embedding logic in apps that are written in Qore and those that use the language library’s public C++ API. The Program class allows discrete objects to be developed and destroyed, meaning the abilities of the embedded code can be arbitrarily restricted.

Finally, Qore has a built-in database integration that constantly retrieves, manipulates and compares data across heterogeneous database types. There’s also a DBI (database independent interfacing) layer that provides a standard interface for Qore programs to access the parts of the database supported by a Qore DBI driver.

To find out more about how the Qore programming platform can help your business simplify processes and reduce operational costs, contact us for a personalized demonstration today.

FREE eBook: Learn how to connect your apps and data into robust processes

Grab your FREE application integrations eBook.
You'll quickly learn how to connect your apps and data into robust processes!