ABJAD - Arabic Programming Language

Projects
Published Dec 31, 2023 · 2 min read
ABJAD is an Arabic-based scripting language, similar to TypeScript. It is strongly typed and similar in syntax to the C-family languages

 

ABJAD is an Arabic Programming Language

All of the main programming languages around the world are English-based languages, and using them requires prior knowledge of English. For non-English speakers, this can be a major barrier that stops them from pursuing a path in programming. That's why having an Arabic programming language can help accomplish the baby steps for newbies from the Arab region to learn how to code.

The idea of having a local programming language when it comes to the Arab region isn't new, hence there are few Arabic programming languages out there. However, what makes ABJAD different, is that it is very similar, in syntax, to TypeScript, which makes it efficient for programmers who want to switch from the Arabic programming language to an English-based language.

ABJAD is a Scripting Language

Similar to other main languages, such as Python and TypeScript, ABJAD is a scripting language, which means that it requires a minimal amount of code to start a program.

ABJAD is an Interpreted Language

Opposite to compiled languages, such as C and C++, ABJAD is an interpreted language, which puts it in the same class as Python and JavaScript.

The main difference between interpreted and compiled languages is that interpreted languages require an interpreter that takes a code as a text and runs it immediately, without any further steps.
On the other hand, compiled languages, require a compiler, that takes a code, analyzes it, and constructs a machine code that resembles its functionality. This machine code is what the computer needs to execute.

ABJAD is a Strongly Typed Language

Unlike languages like Javascript that allow you to define variables and functions without specifying the data types they deal with, ABJAD is similar to TypeScript, where you have to define the types of the variables and constants, and of the returned values of methods.

Sample Code

The following code defines a class named صنف (i.e. person) that has two fields: اسم (name) of type مقطع (string), and عمر (age) of type رقم (number). It then defines a constructor that sets the values of the fields and declares one method of the name تعريف and it returns a string.

Then we create an instance of this class and assign it the name محمد and the age 22.

Finally, we are calling the method we declared earlier, and printing its output.

صنف شخص {

  متغير مقطع اسم؛
  متغير رقم عمر؛
  
  منشئ(مقطع اسم_، رقم عمر_) {
    اسم = اسم_؛
    عمر = عمر_؛
  }

  دالة تعريف() : مقطع {
    أرجع "الإسم: " + اسم + "، العمر: " + عمر؛
  }

}

متغير صنف محمد = انشئ صنف("محمد"، 22)؛
أكتب(محمد.تعريف())؛

Online Editor

If you would like to run the code above, or checkout ABJAD documentation, hit a visit to https://mohammed.ezzedine.me/abjad!

Code

You can find the code of ABJAD in the following GitHub Project.

Programming Languages
Arabic Programming Language
ABJAD