Awesome
<p align="center"> <img src="https://github.com/kin-lang/kin/blob/main/public/kin-logo.svg" width="120" alt="Kin Logo" /> </p> <p align="center">Write computer programs in Kinyarwanda! </p> <p align="center"> <a href="https://kinlang.vercel.app/getting-started">Getting Started</a> . <a href="https://kinlang.vercel.app/#why">Why Kin?</a> . <a href="https://kinlang.vercel.app/getting-started#ide-integrations">VS Code support</a> . <a href="https://github.com/kin-lang/showcase"> Show us what you did! </a> </p> <div align="center">. . . .
</div>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:
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 <name> !
reka name = injiza_amakuru("Enter your name: ") tangaza_amakuru("Hello ", name, "!")
-
Executing system commands
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.
reka x; # This will work
- A semicolon is required when a function returns but there's not expression to return.
porogaramu_ntoya main() { tanga; # This will work }
In General a semicolon is used to tell Kin that there's an ommited statement.
- A semicolon is required when you declare a variable but you don't assign a value to it.
- White spaces:
- Kin ignores white spaces, that's why multiple lines can be written at the same line ... these codes are equivalens
reka x = 5 reka x=5
- Kin ignores white spaces, that's why multiple lines can be written at the same line ... these codes are equivalens
Fun fact!
-
Multiple statements can be written on the same line.
reka name = injiza_amakuru("Enter your name: ") tangaza_amakuru("Hello ", name, "!")
-
Nested statements are also supported.
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 for futher info.
Maintainers
This language is maintained by @pacifiquem.
License
This project is under MIT License.
<br> <br> <p align="right" style="color: gray; font: bold;">PACIFIQUE Murangwa - Author</p>