Words Creating Worlds

Source: reference-book. Raw markdown: /raw/docs/reference-book/1-introduction/words-creating-worlds.md

Software is a fascinating field of engineering. The act of creation involves transmitting our consciousness into a new dimension. This new dimension of time and space is built on top of the hardware we use, CPUs and memories. This makes software engineering so unique.

This blog is designed to help you get the most out of Simorg’s technology. Simorg is not just another programming language! It is a new mindset and philosophy for software engineering! In this chapter, we will spend some time exploring Simorg’s ontology and worldview.

Why Simorg?

Simorg is a Programming Language as a Platform digital product. Its purpose is to enhance our digital experience—for both engineers and end users.

To create a coherent digital universe, we first need a programming language that is aligned with that universe’s requirements. Simorg Language should be seen as a foundational tool for building the next generation of applications which, together, can form a unified digital universe. Using this approach we are envisioning to create a new experience for our digital users which is aligned with the latest technical breakthroughs in AI and Metaverse.

What Is Different About Simorg?

Recent breakthroughs in digital technologies—especially AI and Metaverse-related tools—have opened a new horizon of possibilities. We cannot fully benefit from this new era with an old mindset about software engineering. We need innovation. Today, we need to re-visit every fundamental agreement, rule and assumption.

Simorg provides a new mindset for programming in which data is owning the processing not the other way around! When writing simorg code, we always think about the data and how it will flow. Our code will guide data toward its destination. In this model, data is no longer a passive element of our digital universe but a first class citizen that is absorbing the consciousness from the code which of course is generated by a conscious mind whether being a human or agent (which still is inheriting a collective consciousness). So a conscious entity transfers its consciousness (aka business logic) into code, creating a conscious environment and data flowing in this environment so absorbing this consciousness and fulfilling the goal.

Simorg comes with “batteries included” for the next generation of digital applications. You can think of Simorg as “version 2” of programming languages. Simorg doesn't see a language as a passive tool of building but a medium by which a conscious entity transfers the consciousness into a new dimension, into a digital universe. It's a version 2 as it introduces a totally new form and ontology and architecture on how we should see the software.

What Is Important About Simorg?

Consciousness is a key ingredient in many fields of engineering, but it is especially dominant in software engineering. Simorg is the first programming language that explicitly recognizes Consciousness as a fundamental ingredient in its processing model.

Simorg also starts from a new definition of “problem,” which naturally leads to a very different definition of “solution.”

In classical programming languages—referred to here as CPLs—processing and data are separated. In a CPL, data is treated as a passive element to which processing is eventually applied. This separation is the root cause of many software incidents and exceptions. We are introducing a new form to solve this problem.

Simorg’s solution is to make data conscious enough to participate in deciding how it should be processed. By writing simorg code, your consciousness eventually reaches all the way to the data itself. The code that we write is not always directly about data itself but mostly about the channels and pathways in which data flows.

This approach leads to a new generation of applications which are quite AI and metaverse friendly. We are not going to create these applications but our artisans will do it. Simorg must be seen as a technology provider.

What Is Irrelevant To Simorg?

One should avoid seeing simorg as a generic language.

In comparison with other programming languages, simorg is a lightweight, high-level scripting language focusing on solving the problem in existing AI and Metaverse sectors of Information Technology.

Low-level functionalities are injected into simorg's runtime, thanks to artifacts. We will see them in future chapters. Artifacts are written and published in our package manager by artisans using c, c++ or rust etc.

So avoiding certain language features is a strategy that helps us maintain a focus on areas that we think need urgent enhancement.

How Does Simorg Do This?

Simorg models its digital universe differently. In Simorg’s worldview, many classical forms and conventions of software engineering are critically reviewed and, when necessary, replaced to create new opportunities and value.

Understanding this worldview is crucial if you want to write Simorg Code in the way it is intended to be written.

Rules of Creation

Our universe is a masterpiece: a finely tuned ecosystem of independent entities interacting with one another in a cohesive and holistic way.

When it comes to creating a new programming language (or a new digital universe), we do not need to reinvent the wheel. Instead, we need to understand the principles of this universe and implement them in our digital one. This is how Simorg approaches the problem.

We can't see a programming language in isolation, the words have the ability to capture the consciousness and on top of that consciousness worlds can be built. The success is about the ecosystem that we build or as we call it a digital universe. Thinking about the answers to those questions are essential for the success of the language.

A Mathematical Runtime

When we gradually move from those fundamental questions more toward implementation, it became clear that only a mathematical layer could satisfy simorg’s requirements.

While a classical programming language compiles high-level human code into a set of binary instructions, Simorg’s Code is interpreted into a set of mathematical entities that interact inside Simorg’s mathematical engine or runtime. This interaction creates a dataflow through which, at a higher layer, the behavior we declare in our high-level code manifests itself.

Like many other programming languages, Simorg is a tool for creation—but its approach leads to some remarkable consequences. For example, simorg has no concepts representing <<<null>>>, <<<undefined>>>, <<<nullptr>>>, <<<None>>>, <<<void>>>, and so on. There is also no garbage collector in Simorg.

For similar reasons, Simorg does not include some familiar constructs such as <<<function>>> and <<<array>>>. Even Simorg’s lexer does not rely on reserved keywords, which means that if you wish, you can define a variable and name it <<<if>>>.

In order to create your own world, you must first express it through words.

This is the beginning of your Simorg journey. We wish you a journey full of joy and consciousness.