DEV Community

IFUTO
IFUTO

Posted on

Meet "Water": A Programming Language Designed to Feel More Like Human Language 💧

Introduction

While programming, have you ever thought:
・"Why do I have to write it this way?"
・"This is nothing like human language."
・"Type conversion makes no sense!"
I felt the exact same way. That’s why I started a personal project to create a "more naturally readable language."
I call it "Water" .

Download

Download the Python runner here
Source code is here

What is Water?

I am developing Water with these core goals:
・Code that reads naturally.
・No need to obsess over types.
・...but still keeping it safe.
In short, it’s a language that balances human intuition with programmatic rigor.

Comparison Example

Take a look at this:

Python : 
x = int(input("Enter number : "))
x = x + 5
Enter fullscreen mode Exit fullscreen mode
Water : 
set stay x int
x = input("Enter number")
x = x + 5
Enter fullscreen mode Exit fullscreen mode

In Python, you don't need to declare variables, but since the type can change unexpectedly, it lacks some strictness. In Water, once you create a variable, you can reuse it seamlessly without worrying about type casting every time.
If you need to change the type later, just use stayto x float to convert it to a float.
Alternatively, if you prefer dynamic typing, you can change stay to free when creating the variable. Beginners can start with the flexible free and move to stay for stability as they get more comfortable.

List Operations

Python:
nums = [1,2,3]
nums.append(4)
nums[1] = 10
Enter fullscreen mode Exit fullscreen mode
Water : 
set list nums
list nums add [1,2,3]
list nums add 4
list nums change 2 10
Enter fullscreen mode Exit fullscreen mode

While it requires an explicit list creation and is slightly more verbose, you can see it is extremely easy to read without needing methods like append. You can also specify the types of values allowed in the list.

Deep Lists: Making Advanced Concepts Simple

Designed with AI matrix calculations in mind, Water features a multi-layered list structure.

Water : 
set depthlist data
deplist data add [1,1,1] "Hello"
deplist data add [1,1,2] "world"
Enter fullscreen mode Exit fullscreen mode

This code stores "Hello" at the 1st element of the 1st list of the 1st list of the 1st list, and "world" right next to it.
In Python, it looks like this:

data = [[["Hello"]]]
data[0][0].append("world")
Enter fullscreen mode Exit fullscreen mode

Honestly, it’s a bit confusing to track all those brackets.

Current Challenges

I'll be honest, there are still hurdles:
・The syntax can get long.
・It might feel "off" to veteran coders.
・Performance on large-scale code is still unverified.

A Request to the Community

I’d love for you to give Water a spin! Feel free to share your feedback on Reddit (like r/programming), open an issue on GitHub, or even make a quick YouTube review. Every bit of help in spreading the word to the global community would mean the world to me!

I also welcome comments and reports in Japanese! 🇯🇵
Feel free to use translation tools to reach out—I’d be more than happy to hear from you.

Let's see where Water can go!

Top comments (0)