← Back to list

How I Built a Full Functional Programming Language in Tunisian/Arabic – Part 1: The Idea Behind…

Naftah Programming Language : Let’s write programs in Tunisian/Arabic

Chakib Daii · 2026-01-25 19:17 · 61 claps · 4.0 min read
#programming-languages #jvm #antlr #arabic-language #learn-arabic-dialects
Open on Medium ↗
Wiki topics: 💻 · Programming

How I Built a Full Functional Programming Language in Tunisian/Arabic – Part 1: The Idea Behind Naftah

Naftah Programming Language : Let’s write programs in Tunisian/Arabic

Why Build a Programming Language in Tunisian/Arabic?

*Let’s begin with a question that may seem unusual to some:

Why would anyone want to write code in Tunisian/Arabic?

For many programmers, particularly in English-speaking environments, this idea might feel unnecessary. English is the de facto language of programming — the syntax, documentation, and error messages are almost universally in English. It's simply the norm.

But for millions of Arabic speakers — especially children, students, and self-learners with limited English proficiency — that norm becomes a significant barrier.*

A Personal Frustration

I’m a Tunisian, a native Tunisian/Arabic speaker, and a passionate programmer. Ever since I began learning to code, I’ve had the same persistent thought:

What if I could program in my own language?

Not just by translating keywords, but by expressing logic in Tunisian/Arabic, the same way I think and speak.

Over time, I looked for Arabic programming languages. I found a few — but most were either simplistic, experimental, or lacked the flexibility and depth needed to build real software or to teach programming effectively.

None of them captured the richness of how we speak, how we think, or how our dialects influence our reasoning.

Eventually, I arrived at a clear conclusion:

If the tool I need doesn’t exist, I have to build it myself.

Introducing Naftah: A Language Built for Tunisian/Arabic Speakers

*That’s how Naftah began — a modern, expressive programming language written entirely in Tunisian/Arabic. It was created to make programming:

  • Intuitive for native Arabic speakers
  • Accessible to students and beginners
  • Powerful enough for building real applications
  • Inclusive of dialects, particularly Tunisian Arabic

Naftah is not just about replacing ‘print with ‘اطبع, or ‘ifwith ‘إذا. It’s about reimagining programming in a way that feels natural in Tunisian/Arabic — in both syntax and semantics.*

More Than Just an "Tunisian/Arabic Skin" for Another Language

*Several previous attempts have focused on simply “Arabicizing” existing languages by wrapping a few translated keywords around Python or JavaScript. These projects often fall short — they’re limited in scope, and don’t support serious software development or educational use.

Naftah takes a different approach.

It is a full-fledged programming language with its own:

  • Grammar and syntax rules
  • Runtime and interpreter
  • Educational tools and documentation
  • Growing ecosystem

Some of its key features include:

  • Control flow in Arabic: conditionals, loops, and branches
  • Support for functions, objects, and collections
  • Interoperability with Java/Kotlin libraries
  • A built-in REPL and help system in Arabic
  • Optional dialectal expressions (e.g., Tunisian Arabic)

Naftah is designed to scale — from printing “Hello, world” to building real-world applications.*

Why the JVM?

*From a technical perspective, I wanted Naftah to be fast, portable, and connected to existing developer tools. The natural choice was the Java Virtual Machine (JVM) — the same platform that powers Java, Kotlin, Groovy and Scala.

By building Naftah on the JVM, it inherits several advantages:

  • Direct access to Java libraries (with Arabic-transliterated syntax)
  • Efficient execution through bytecode compilation
  • Cross-platform support: Linux, macOS, Windows
  • A learning path from Naftah into other JVM languages like Java and Kotlin

This allows Naftah to serve both as a teaching tool and a gateway into modern software development.*

What Makes Naftah Unique?

Here’s how Naftah compares to other projects that have attempted to bring Arabic into programming:

*Fully written in Tunisian / Arabic: Yes Natural syntax (MSA and dialects): Yes, including Tunisian Arabic Integration with Java libraries: Yes, via annotations and interop design Built on a high-performance VM: Yes, runs on the JVM Designed for education: Yes, with REPL and Arabic/Tunisian help Real programming features: Yes — objects, loops, functions, etc.

Naftah is not a simplified tool for beginners — it's a comprehensive language that balances accessibility with depth.*

The Mission: Programming in Our Own Words

*At its core, Naftah is about accessibility.

It aims to empower Tunisian/Arabic speakers who have been held back — not by their intelligence or curiosity, but by a linguistic barrier. For too long, the first step into programming has required learning a foreign language. That shouldn’t be the case.

Programming should be about ideas — not translation.

Naftah offers a new way forward: a language where learners can think in their native tongue and build in their own words.*

What’s Next?

*This is just the beginning of Naftah’s story. In the upcoming parts of this series, I’ll explore:

  • The process of designing a Tunisian/Arabic programming grammar
  • How Naftah handles Tunisian/Arabic morphology and dialects
  • How to use Java libraries from within Naftah
  • Building your first application in Naftah
  • Applications in education, creative coding, and startups

The next article in the series will be:

**Part 2: Designing the Grammar of Tunisian/Arabic Code**

If you’re interested in language design, linguistics, or making programming more inclusive — you won’t want to miss it.*

***Have questions, feedback, or want to contribute? Visit the project on GitHub, or leave a comment below.

Let’s build the future of programming — in our language, on our terms.***


메타데이터
post_id
0e6701c1cf0a
slug
how-i-built-a-full-functional-programming-language-in-tunisian-arabic-part-1-the-idea-behind-0e6701c1cf0a
url
https://medium.com/@chakibdaii/how-i-built-a-full-functional-programming-language-in-tunisian-arabic-part-1-the-idea-behind-0e6701c1cf0a
canonical_url
https://medium.com/@chakibdaii/how-i-built-a-full-functional-programming-language-in-tunisian-arabic-part-1-the-idea-behind-0e6701c1cf0a
author_url
https://medium.com/@chakibdaii
status
ok
fetched_at
2026-06-22 12:55:45