<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: IFUTO</title>
    <description>The latest articles on DEV Community by IFUTO (@ifuto).</description>
    <link>https://dev.to/ifuto</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3833707%2F57ac4eff-c899-46c8-b5cd-adadbcc2ed59.jpg</url>
      <title>DEV Community: IFUTO</title>
      <link>https://dev.to/ifuto</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ifuto"/>
    <language>en</language>
    <item>
      <title>Meet "Water": A Programming Language Designed to Feel More Like Human Language 💧</title>
      <dc:creator>IFUTO</dc:creator>
      <pubDate>Thu, 19 Mar 2026 13:01:37 +0000</pubDate>
      <link>https://dev.to/ifuto/meet-water-a-programming-language-designed-to-feel-more-like-human-language-320k</link>
      <guid>https://dev.to/ifuto/meet-water-a-programming-language-designed-to-feel-more-like-human-language-320k</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

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

&lt;p&gt;&lt;a href="https://bessho-dev.github.io/water/homepage/en" rel="noopener noreferrer"&gt;Download the Python runner here&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/bessho-dev/water" rel="noopener noreferrer"&gt;Source code is here&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What is Water?
&lt;/h2&gt;

&lt;p&gt;I am developing Water with these core goals:&lt;br&gt;
・Code that reads naturally.&lt;br&gt;
・No need to obsess over types.&lt;br&gt;
・...but still keeping it safe.&lt;br&gt;
In short, it’s a language that &lt;strong&gt;balances human intuition with programmatic rigor.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Comparison Example
&lt;/h2&gt;

&lt;p&gt;Take a look at this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;Python&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; 
&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Enter number : &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Water : 
set stay x int
x = input("Enter number")
x = x + 5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;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, &lt;strong&gt;you can reuse it seamlessly&lt;/strong&gt; without worrying about type casting every time.&lt;br&gt;
If you need to change the type later, just use stayto x float to &lt;strong&gt;convert it to a float.&lt;/strong&gt;&lt;br&gt;
Alternatively, if you prefer dynamic typing, you can change stay to free when creating the variable. Beginners can start with the &lt;strong&gt;flexible&lt;/strong&gt; free and move to stay for &lt;strong&gt;stability&lt;/strong&gt; as they get more comfortable.&lt;/p&gt;
&lt;h2&gt;
  
  
  List Operations
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;Python&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;nums&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Water : 
set list nums
list nums add [1,2,3]
list nums add 4
list nums change 2 10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;While it requires an explicit list creation and is slightly more verbose, you can see it is &lt;strong&gt;extremely easy to read&lt;/strong&gt; without needing methods like &lt;code&gt;append&lt;/code&gt;. You can also &lt;strong&gt;specify the types&lt;/strong&gt; of values allowed in the list.&lt;/p&gt;
&lt;h2&gt;
  
  
  Deep Lists: Making Advanced Concepts Simple
&lt;/h2&gt;

&lt;p&gt;Designed with AI matrix calculations in mind, Water features a multi-layered list structure.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Water : 
set depthlist data
deplist data add [1,1,1] "Hello"
deplist data add [1,1,2] "world"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code stores "Hello" at &lt;strong&gt;the 1st element of the 1st list of the 1st list of the 1st list&lt;/strong&gt;, and "world" right next to it.&lt;br&gt;
In Python, it looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]]]&lt;/span&gt;
&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;world&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Honestly, it’s a bit confusing to track all those brackets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Challenges
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  A Request to the Community
&lt;/h2&gt;

&lt;p&gt;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!&lt;/p&gt;

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

&lt;p&gt;Let's see where Water can go!&lt;/p&gt;

</description>
      <category>language</category>
      <category>water</category>
      <category>python</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
