Official Website: https://jukalang.com
Welcome to the official repository of Juka, a portable, easy-to-use, and universal programming language that can run on any platform. Our philosophy is "code once, run everywhere."
- Official Website: jukalang.com
- Main Git Repository: github.com/jukaLang/juka
- Mirror Git Repository: codeberg.org/JukaLang/Juka
We accept donations via Bitcoin, Ethereum, and Patreon:
-
Bitcoin Address: 3MqJ2pwcuqh2W5mUPZUcKMVzxgTKcjD8ET
-
Ethereum (Ethereum Network) Address: 0xB56F6aff7a84935E5AF9D93b6d7db0e4F4F26B39
-
Patreon: patreon.com/JukaLang
Juka is a general-purpose language designed to be used in a wide variety of tasks. It's cloud-native, has native support for Jupyter Notebooks, can be run in a web browser, and comes with an easy-to-use package manager. Juka is a community-driven project with a growing community of users and developers.
Current Supported Device:
- Windows (x86/x64)
- Windows ARM (ARM64)
- Linux (x86/x64) (CentOS, Debian, Fedora, Ubuntu, TinyCore, and almost any other type of Linux)
- Linux ARM (ARM64 and ARM32) (Linux Distributions that run ARM e.g. Raspberry Pi Model 2+)
- MacOS (macOS 10.12+)
- FreeBSD/UNIX (FreeBSD 11+)
- Azure (Microsoft Azure Function)
- HTTPS/API (JukaAPI server)
- Docker (JukaAPI)
- Unity Game Engine (via NuGet.org)
- Web Assembly (CDN/Browser/HTML server/AndroidTV)
- ChromeOS* (see Web Assembly)
- Jupyter via juka-kernel
- Virtual Box Image (JukaVM)
- Windows App (Windows 10+)
- Android App (Can be sideloaded https://jukalang.com/download, but not in PlayStore yet)
- Discord Bot (Working, but is not currently hosted)
- Telegram Bot (Working, but is not currently hosted)
- Amazon Fire (HD) (Can be sideloaded https://jukalang.com/download, but not in Amazon AppStore yet)
Coming Soon:
- Ethereum Network
- Android App (Google Play version)
- iOS App (iPhone/iPad AppStore version)
- Tizen (Samsung)
- MacOS App (AppStore version)
- TempleOS
Send us a message or Tweet at us to let us know what other systems you want to see!
Potential Future Support:
- AndroidTV App (Google Play version)
- Amazon Web Service (Native Support)
- Google Cloud (Native Support)
- Arduino
- Print/PrintLine
- Variable Declaration
- Basic Operations
- Functions
- Classes
- Loops
- While Statement
- For Statement
- Native Functions
- GetAvailableMemory
- SystemClock
- csharp() command (execute C# code)
- Tail Recursion
- Array
- Dynamic List
- Get (for importing files)
- Try and Catch
You can find our dynamic documentation at jukalang.com/docs https://jukalang.com/docs. We also provide a PDF version of our documentation which can be downloaded at https://github.com/jukaLang/juka-website/releases/download/JukaLang/jukadocs.pdf
Please download the latest version of Juka from our official website: https://jukalang.com/download
If you are an advanced user and want to download other versions of Juka, visit our releases page https://github.com/jukaLang/juka/releases
Juka can be run in various ways depending on your system. Detailed instructions can be found in our documentation.
On some systems you can just double click Juka and it will launch an interactive terminal (REPL).
If that doesn't work, open a Terminal/Power Shell/Command Prompt and navigate to the location of where Juka is located.
Once you are inside the directory, run the following command to start Juka in REPL mode:
./juka
If you have a file with Juka code, you can run it with the following command (substitute HelloWorld.juk with your filename):
./juka HelloWorld.juk
Juka comes with an API
Download JukaAPI at https://jukalang.com/download
We are using JukaApi for visitors to test their code online: https://jukalang.com/tryonline
Special thanks to mogenius for hosting our API: https://api.jukalang.com
If you would like to help improve the api, feel free to deploy a container at:
Upload the package to Azure Web Server Use web deploy to publish Juka (Azure Function) to the cloud.
Once you install Juka via NuGet: Install-Package JukaCompiler
You can pass your code as a string to Juka:
new JukaCompiler.Compiler().JukaCompile(codeAsString, (isFile: false));
If you want to pass a filename instead of a string, you can run the following command
new JukaCompiler.Compiler().JukaCompile(fileName, (isFile: true));
We welcome any contribution! Thank you so much for checking out Juka!