1. Inspiration and Early Beginnings
I first started thinking about creating a programming language called Soplang in February 2023. My main motivation was to bridge the gap for Somali speakers learning to code. The idea of writing code in Somali felt both ambitious and exciting — it could lower barriers for beginners and seasoned developers alike.
By October 2023, I had a working version ready for release. Although it wasn’t a fully standalone language, this initial Python-based implementation laid the foundation for what Soplang could become. Soplang is also the first known programming language specifically crafted for Somali speakers, making it a landmark effort to integrate technology with the Somali language.
2. What is Soplang?
Soplang stands for Somali (So) Programming (P) Language (Lang). It features a Somali-based syntax so that common programming constructs — like declaring variables, writing functions, or handling conditionals — feel more natural for Somali speakers. The goal is to make coding more intuitive, especially for those who may find English-based languages challenging.
Even at this early stage, Soplang already supports:
- Variables with the keyword keyd
- Conditionals (haddii, haddii_kale, kale)
- Loops (ku_celi for loops and inta_ay for while loops)
- Functions (shaqo to define, soo_celi to return)
- Lists with built-in functions for appending, popping, and more
3. Why I Created It
One core inspiration is the idea of “Dhis software adigoo adeegsanaya afkaaga hooyo,” which translates to “Build software using your mother tongue.” I believe that allowing people to code in Somali empowers them to focus on logic rather than translating English keywords in their heads. Additionally, I’m passionate about developing the Somali language further, and Soplang is my way of contributing to that growth in the tech world.
There are many established languages — Python, JavaScript, Rust, and more — but they largely rely on English. By introducing Somali-based keywords and documentation, I hope Soplang can foster a more inclusive environment for learners who might otherwise feel discouraged or overwhelmed by language barriers.
4. The Current State of Soplang
Right now, Soplang:
- Runs on top of Python (it is essentially interpreted by a Python script).
- Lacks a dedicated package manager, meaning external libraries or modules aren’t as easy to install.
- Is open to syntax improvements — I’m considering changes that will refine how variables, loops, and function calls look.
Despite these limitations, Soplang is fully capable of running simple programs and demonstrating how programming in Somali can work. Here’s a quick sample:
keyd x = 5
keyd name = "Mr Sharafdin"
haddii x < 10 markaas
PRINT("x is less than 10")
kale
PRINT("x is 10 or more")
dhamee
shaqo greet(magac)
PRINT("Salaan, " + magac + "!")
dhamee
greet(name)
5. Grammar Highlights
I based Soplang’s grammar on EBNF notation, ensuring it’s both flexible and easy to parse. Some of the keywords include:
-
keyd
(declare a variable) -
haddii
/ haddii_kale / kale (if / else-if / else) -
ku_celi
/ ilaa / tallaabo (for loops with an optional step) -
inta_ay
(while loops) -
shaqo
(define a function) -
soo_celi
(return from function)
6. Looking Ahead: Next Steps
I have plenty of ambitious plans for Soplang’s future:
- Become Fully Standalone I’m aiming to evolve Soplang beyond a Python-based interpreter. This might involve rewriting it in Python more thoroughly, and potentially porting it to Rust for speed and efficiency.
- Add a Package Manager Package managers are essential for modern languages. I want Soplang to easily incorporate community-built packages, libraries, and frameworks, so developers can collaborate more effectively.
- Refine the Syntax and Grammar Soplang’s syntax is still evolving. I plan to smooth out any rough edges — making the language both consistent and readable.
- Community Involvement Once things are stable enough, I hope to open-source the project more widely. Feedback and collaboration from other developers — especially Somali speakers — will help Soplang grow into a language that truly serves its community.
7. Closing Thoughts
Soplang is still in its early days, but the journey so far has been incredibly rewarding. By building a Somali-based language, I aim to encourage more people to explore programming without linguistic barriers. If you share this vision or simply want to tinker with something new, Soplang might be a fun project to follow.
Stay tuned for updates on package management, a Rust-based compiler, and syntax enhancements. For now, thank you for reading about Soplang — and let’s keep coding in Somali!
Note: If you’re interested in trying out Soplang or contributing, check out the GitHub repository and feel free to share any ideas or feedback. Let’s build a vibrant Somali programming community together.
Mr Sharafdin.
Top comments (1)
Great insights on the technological strides enabling remote work! Do you think the trend toward hybrid models will become the standard, or will fully remote setups prevail?