https://github.com/kin-lang/kin
The Kin Programming Language ( Write computer programs in Kinyarwanda - native language for Rwandans )
https://github.com/kin-lang/kin
kin kin-lang kinyarwanda languages programming-language typescript
Last synced: 2 days ago
JSON representation
The Kin Programming Language ( Write computer programs in Kinyarwanda - native language for Rwandans )
- Host: GitHub
- URL: https://github.com/kin-lang/kin
- Owner: kin-lang
- License: mit
- Created: 2023-09-12T16:15:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-08T10:16:08.000Z (7 days ago)
- Last Synced: 2025-04-08T11:25:29.128Z (7 days ago)
- Topics: kin, kin-lang, kinyarwanda, languages, programming-language, typescript
- Language: TypeScript
- Homepage: https://kinlang.dev
- Size: 1.01 MB
- Stars: 217
- Watchers: 10
- Forks: 12
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-programming-languages - Kin - Kin is a straightforward programming language created with the purpose of aiding Kinyarwanda speakers in easily learning programming. (Uncategorized / Uncategorized)
README
![]()
Write computer programs in Kinyarwanda!
Getting Started .
Why Kin? .
VS Code support .
Show us what you did!
 .  .  .  . ## Description
**Kin** is a straightforward programming language created with the purpose of aiding Rwandans to write computer programs in their native language Kinyarwanda.
## Why Kin?
- **Goal**:
Kin's main objective is to make learning programming more accessible by using Kinyarwanda, the native language for Rwandans.
- **Focus**:
It's a straightforward language, prioritizing easy of use over complex features. This makes it suitable for education purpose.
- **Use Cases**:
While Kin is great for learning the fundamentals, it's suitability for large-scale software development isn't guaranteed.## What does it look like
- This is implementation of linear search:
```Kin
reka arr = [45, 56, 334, 78, 34, 78, 23, 90]reka i = 0
reka key = 23
subiramo_niba(i < KIN_URUTONDE.ingano(arr)) {
niba (arr[i] == key) {
tangaza_amakuru("Key ", key, " is on ", i + 1, " position")
}i = i + 1
}
```- Hello \ !
```Kin
reka name = injiza_amakuru("Enter your name: ")
tangaza_amakuru("Hello ", name, "!")
```
- Executing system commands
```Kin
sisitemu("sudo shutdown now")
```## Syntax
Though **Kin** inherited it's syntax and structure from **JavaScript**, they're completely different when it comes to behavior.
Some notable **Kin**'s syntax rules are:- Semicolon:
- A semicolon is required when you declare a variable but you don't assign a value to it.
```Kin
reka x; # This will work
```
- A semicolon is required when a function returns but there's not expression to return.
```Kin
porogaramu_ntoya main() {
tanga; # This will work
}
```
> In General a semicolon is used to tell Kin that there's an ommited statement.
- White spaces:
- Kin ignores white spaces, that's why multiple lines can be written at the same line ... these codes are equivalens
```Kin
reka x = 5
reka x=5
```## Fun fact!
- Multiple statements can be written on the same line.
```Kin
reka name = injiza_amakuru("Enter your name: ") tangaza_amakuru("Hello ", name, "!")
```- Nested statements are also supported.
```Kin
tangaza_amakuru("Hello ", injiza_amakuru("Enter your name: "), "!")
```---
## Contributing
We still have a long way to go with Kin, we're calling for your contributions!
Contributions are welcomed, refer to [Contiributing.md](https://github.com/kin-lang/kin/blob/main/contributing.md) for futher info.## Maintainers
This language is maintained by [@pacifiquem](https://github.com/pacifiquem).
## License
This project is under [MIT License](https://github.com/kin-lang/kin/blob/main/LICENSE).
PACIFIQUE Murangwa - Author