# Soplang > Soplang is a free, open-source programming language with Somali keywords. Write programs with qor, haddii, and hawl, and learn to code in the language you think in. Soplang (Somali Programming Language) is the first programming language with Somali keywords. It was created by Sharafdin Yusuf (https://www.sharafdin.com/) and first released in October 2023. It is developed and maintained by Somast (https://www.somast.so/). License: MIT. ## Key facts - Keywords are Somali: qor (print), door (variable), hawl (function), celi (return), haddii (if), ugudambeyn (else), intay (while), kuceli (for), qaab (class), fasax/qabo (try/catch), keen (import). - Supports dynamic typing (door) and static typing (abn, jajab, qoraal, bool, teed, walax). - Error messages are written in Somali. - The current compiler is written in Rust and uses Cranelift for JIT and standalone builds. - Source code: https://github.com/soplang/soplang - Contact: info@soplang.org ## Pages - [Home](https://soplang.org/): What Soplang is and how to start - [Downloads](https://soplang.org/downloads): Install on Windows, macOS, or Linux - [About](https://soplang.org/about): History, mission, creator, and maintainer - [Contribute](https://soplang.org/contribute): How to help build Soplang - [Full documentation as one file](https://soplang.org/llms-full.txt) ## Documentation - [Getting Started with Soplang](https://soplang.org/docs/00_getting-started.mdx): Install Soplang, write your first program, and learn the core building blocks of the language. - [Installing Soplang](https://soplang.org/docs/00_installation.mdx): Download Soplang, build it from source, or run it via Docker. A simple, universal setup guide. - [Soplang Syntax](https://soplang.org/docs/01_syntax-basics.mdx): Soplang syntax waa mid fudud, nadiif ah, oo Somali-first ah—halkan ka bar bilowga iyo dareenka luuqadda. - [Input and Output](https://soplang.org/docs/02_input-and-output.mdx): Sida loo isticmaalo qor() iyo gelin() si aad u daabacdo wax soo saar ama u akhrido gelinta isticmaalaha ee Soplang. - [Variables](https://soplang.org/docs/03_variables.mdx): Baro sida loo isticmaalo variables: door (dynamic), noocyada static (abn, jajab, qoraal, bool, teed, walax), iyo constants (madoor) ee Soplang. - [Type Conversion](https://soplang.org/docs/04_type-conversion.mdx): Baro nooc-ogaanshaha (nooc) iyo shaqooyinka beddelka noocyo xog (abn, jajab, qoraal, bool) ee Soplang. - [Operators](https://soplang.org/docs/05_operators.mdx): Arithmetic, comparison, iyo logical operators ee Soplang—syntax, tusaalooyin, iyo isticmaal caadi ah. - [Conditional Statements](https://soplang.org/docs/06_conditional-statements.mdx): Learn about conditional statements, loops, and other control flow structures in the Soplang programming language. - [Loops](https://soplang.org/docs/07_loops.mdx): intay (while), kuceli (for), iyo xakamaynta jooji/soco—ku celcelin iyo socod shuruudeed ee Soplang. - [Functions](https://soplang.org/docs/08_functions.mdx): Qeexid iyo isticmaal hawlaha (hawl) ee Soplang, wicitaan, celin qiime (celi), iyo loops gudaha hawl. - [Data Types](https://soplang.org/docs/09_data-types.mdx): Noocyada xogta ee Soplang: primitives (abn, jajab, qoraal, bool), ururinta (teed, walax), null, iyo sida loo adeegsado. - [Strings in Soplang](https://soplang.org/docs/10_strings.mdx): Declare iyo ka shaqaynta xarfo (strings) ee Soplang: qoraal/door, indexing, iyo hababka sida qeybi, leeyahay, dhamaad, bilow, beddel, beddel_dhammaan, kudar, jar, xarafaha_weyn, xarfaha_yaryar, masax, raadi. - [Numbers](https://soplang.org/docs/11_numbers.mdx): Learn the two numeric types in Soplang—abn (integers) and jajab (decimals)—with literals, arithmetic, comparisons, and conversions. - [Arrays](https://soplang.org/docs/12_arrays.mdx): Isticmaalka teed (arrays): qeexid, dherer, ku darid/kasaarid, rog, nadiifi, habee, aaddin/shaandhee, indexing iyo jarid. - [Objects in Soplang](https://soplang.org/docs/13_objects.mdx): Learn how to declare, modify, and manage walax (objects) in Soplang with Somali-first methods. - [Soplang Keywords Reference](https://soplang.org/docs/14_keywords-reference.mdx): Tixraac dhamaystiran ee ereyada (keywords) Soplang (door, madoor, haddii, kuceli, hawl, celi, qaab, fasax, keen, iwm). - [Built-in Functions in Soplang](https://soplang.org/docs/15_built-in-functions.mdx): Tixraac degdeg ah oo ku saabsan hawlaha ku-dhexjira Soplang (qor, gelin, nooc, abn, jajab, qoraal, bool, teed, walax, daji, kor, dherer, xul, baaxad). - [Classes](https://soplang.org/docs/16_classes.mdx): Object-oriented programming ee Soplang: qaab (class), dhaw (constructor), nafta (self), cusub (new), iyo dhaxal (inheritance). - [Error Handling](https://soplang.org/docs/17_error-handling.mdx): Sida loo qabto khaladaadka Soplang: fasax iyo qabo (try/catch), qaabka fariimaha khaladka, iyo error codes-ka. - [Modules](https://soplang.org/docs/18_modules.mdx): Sida koodhka loogu kala qaybiyo faylal badan oo loo isticmaalo keen (import) ee Soplang. - [CLI & REPL](https://soplang.org/docs/19_cli-and-repl.mdx): Sida loo isticmaalo amarka soplang: fulinta faylal, REPL-ka, -c, dhisidda binary (--build), strict mode, iyo qalabka debug-ka. - [FAQ](https://soplang.org/docs/faq.mdx): Frequently asked questions about Soplang - [Soplang Documentation](https://soplang.org/docs.mdx): Learn Soplang, the Somali programming language: install it, write your first program, and learn variables, functions, classes, modules, and error handling.