Juka Programming Language
Easy Multithreading, Runs on Web3 and Web2, Inspired by Python
- Hello World
- If/Else
- Multi Threading
- Arrays
- Subroutines
- Loops
# No Print Statements! strings and variables are printed unless assigned or suppressed by ;
"Hello World"
# Simple if/else statements, but unlike python, there are no space indentation
x = TRUE
if x == TRUE {
"true"
}
else if x== FALSE {
"false"
}
else
{
"Something went wrong!"
}
# Native support for Multi threading and Multi processing using sub and <=>
# This works by making a smart copy of existing variables, one subroutine doesn't modify other
x = 5
sub add{
x+x
}
sub subtract{
x-x
}
sub multiply{
x*x
}
z = add <=> subtract <=> multiply # Executes subroutines in parallel and waits until the execution is finished before proceeding
# Variables are returned as a named array
z['add'] # prints 10
# Arrays are similar to Python except that they are all "Named" and indexed by 1 for simplicity
arr = []
arr = [3] # Creates an Array at index 1
arr = arr + ["Hello": 3, 5] # Add to an array, internally it is represented as [1:3,"Hello":3,3:5]
# You can use either "string literal" to get by name or an integer to get by index.
# The following two statements are equivalent:
arr["Hello"]
arr[2]
# Similarly, in both cases this will yield 3
arr["1"]
arr[1]
# By default, an element has a type null. Therefore, the following will be equivalent to deleting a value
arr[1] = null
arr = arr + [1: null]
# For Fast Arithmetic use "int" and "double" arrays. Note array indices will be dropped and flattened
intarr = iarr([32,33,35],size=(2,2)) # Creates a 2D integer matrix
doubarr = darr([55,33,11])
# Juka doesn't have functions, instead it has subroutines and can have input variables
x = 5
y = 2
# when subroutines have input, they only copy variables that are passed to them.
sub multiply(x,y){
x*y # last element is always returned
}
# when subroutines don't have input, a smart copy of variables is used
sub multiply2{
x*y
}
z = multiply(x,y) <=> multiply2 <=> multiply(y,x)
z['multiply'][1] == z['multiply2'] == z['multiply'][2]
# The Loops are like in Python except you use brackets
for i in iarr[1:32]{ # List comprehensions are same as Python
i # Prints list 1-32
}
Follow us for news and updates!
Love Juka? Click here to Donate!
Portable and Small in Size
Juka is a portable programming language that you can run anywhere. It doesn't need to be installed, so you can use it even if you don't have admin privileges or access to a hard drive. Just put Juka on your flash drive and you're good to go! Juka is a small, portable programming language that only takes up ~30MB of space. This means you can easily carry it around on a thumb drive or other portable storage device. In fact, you can even store multiple versions of Juka on the same drive, so you always have the latest version available.
Here are some of the benefits of using Juka on a thumb drive:
- You can use Juka on any computer, even if it doesn't have Juka installed.
- You can easily share Juka with others.
- You can keep your Juka code organized and portable.
Works on "All" Operating Systems
We are constantly working to support as many systems as possible, including lesser known ones like FreeBSD and TempleOS. We also support ARM processors and 32-bit systems like Linux (x86). So why not give Juka a try on your Raspberry Pi or in ChromeOS Flex?
Here are some of the benefits of using Juka on a Raspberry Pi or in ChromeOS Flex:
- You can use Juka on a variety of different systems.
- Juka is a powerful and portable programming language.
- Juka is easy to learn and use.
- Juka is a great way to learn about programming.
Universal
Juka is a powerful and versatile programming language that can be used for a wide variety of projects.
Here are just a few examples of what you can do with Juka:
- Web development: Juka is a great choice for building web applications and websites. It's fast, efficient, and easy to use.
- API development: Juka is perfect for creating APIs that can be used by other applications. It's easy to create well-designed and secure APIs with Juka.
- Data science: Juka is a powerful tool for data scientists. It's fast, efficient, and easy to use.
- Network security: We are aiming for Juka to be used to create secure networks and applications. It's fast, efficient, and easy to use.
- Quantum computing: We are aiming for Juka to become a leading language for quantum computing. It's fast, efficient, and easy to use.
This makes it a great choice for developers who need to create applications that can run on a variety of platforms.
Cloud Friendly
We created JukaAPI so that you can run it on any cloud server. This will allow one to use REST API to run code. Feel free to test it at https://api.jukalang.com.
You can also run Juka on Microsoft's Azure Server by using Juka's Azure serverless function. Compile the code quickly, or let the others run the code. Download latest Azure Function from https://jukalang.com/download.
NOTE: you need an active Microsoft Azure account to host.
Here are just a few examples of what you can do with Juka:
- Portability: You can use Juka to create applications that can be hosted anywhere.
- Scalability: JukaAPI is designed to scale to meet the needs of your application.
- Reliability: JukaAPI can be used on Microsoft Azure using Azure Functions.
Jupyter Support
We know that many people love to use Jupyter Notebook and Lab. That's why we've added an easy way to run Juka code in Jupyter. Now you can do your data analysis in the software that you're used to, with the power of Juka. To get started, simply install the Juka kernel for Jupyter. Once the kernel is installed, you can create a new Jupyter notebook and select the "Juka" kernel. Now you can start writing Juka code in your Jupyter notebook. The Juka kernel will compile and execute your code, and you can see the results in the notebook. We hope you enjoy using Juka in Jupyter
Easy to Use Package Manager
All of the packages are hosted on GitHub, making it easy to install and contribute to their development. We hope that by hosting all packages on GitHub, security issues can be fixed quickly by the community. The packages contain a simple config file, making it easy for anyone to develop Juka packages.
if you are interested in developing Juka packages, we encourage you to check out the GitHub repository.
Join the Juka community!
We are a growing community of Juka users who are passionate about learning and using this new language. We use Discord to stay connected and share resources, and we welcome anyone to join us.
To join the community, please click on the following link and create a Discord account. Once you have created an account, you can join the JukaLang group by clicking on the "Join" button.
https://discord.gg/MsKWsErzfp
We look forward to seeing you in the community!
Contribute to the Source
Juka is a community-driven project. We encourage everyone to contribute to the Juka GitHub repository.
There are many ways to contribute to Juka, including:
- Reporting bugs
- Fixing bugs
- Adding new features
- Writing documentation
- Translating documentation
- Spreading the word about Juka
Social Media
Follow us on:
Facebook: @jukalang
Instagram: @jukalanguage
Twitter: @jukaLang
YouTube: http://youtube.com/@jukalang
Discord: Discord
Questions and Answers
Q: Can Juka run on Raspberry Pi?
A: Yes! Juka can run on Raspberry Pi and almost any other system
Q: I want to help with Juka. How can I do that?
A: There are many ways to help with Juka! You can: Join the Juka community on Discord and participate in discussions and help answer questions. Report bugs or suggest features on the Juka GitHub repository. Contribute code or documentation to the Juka project. Spread the word about Juka and help others learn about it. Visit us at https://discord.gg/MsKWsErzfp and we will find a role for you. Even non-technical people can help!
Q: Can I try Juka without installing anything?
A: Yes! You can try Juka online at the following link: https://ide.jukalang.com This web-based app allows you to write and run Juka code without having to install anything on your computer.