Kataria Eazy
By Parmeet Kataria — Computer Science Developer & Creator of the Kataria Programming Language
👨💻 About the Developer
Hello! I'm Parmeet Kataria, a passionate computer science developer with a vision to make programming accessible and enjoyable for everyone. I created Kataria — a custom programming language with an incredibly clean and intuitive syntax — specifically to help students grasp programming concepts without the steep learning curve of complex languages.
Why Kataria?
- Simplicity First: No unnecessary syntax noise — just pure logic
- Student-Friendly: Designed from the ground up for learners
- Readable: Code reads almost like plain English
- Practical: Teaches real programming concepts that transfer to other languages
🌟 Why I Built This
Traditional languages like Python, Java, and C++ can be intimidating for beginners. Syntax errors, complex setup, and cryptic error messages discourage new learners.
I asked myself: "What if we had a language that just worked?"
That's why Kataria was born — a language where:
- Every line makes sense
- Errors are clear and helpful
- Students focus on logic, not syntax quirks
This VS Code extension brings Kataria to your IDE with full support: syntax highlighting, file icons, instant execution, and complete documentation.
📚 Complete Language Reference
1. Data Types
Numbers: 10, 3.14, -5, 2.5e10
Strings: "Hello", 'World' (double or single quotes)
Booleans: true, false
Arrays: [1, 2, 3], ["a", "b"], [true, false]
None: (auto-assigned to uninitialized variables)
2. Variables & Assignment
x = 10 # Simple assignment
name = "Alice" # String
is_valid = true # Boolean
data = [1,2,3] # Array
x += 5 # Compound: x = x + 5
x++ # Increment
y-- # Decrement
3. Output — show:
show: "Hello, World!" # Basic print
show: "Value: " + x # Concatenation
show: "Sum: " + (a + b) # Expression
name = ask: "Enter your name: " # Prompt and read
age = input: "Age: " # Alias for ask
# Input auto-converts to number when possible
5. Operators
- Arithmetic:
+ - * / %
- Comparison:
== != > < >= <=
- Logical:
and or not
- String:
"Hi" * 3 → "HiHiHi"
6. If-Else Statements
if x > 10 {
show: "Greater than 10"
} elif x == 10 {
show: "Exactly 10"
} else {
show: "Less than 10"
}
7. Loops
# While loop
while i < 10 {
show: i
i += 1
}
# Repeat N times
repeat 5 {
show: "Hello"
}
# Repeat until condition
repeat {
show: "Enter 'quit' to exit"
cmd = ask: "> "
} until cmd == "quit"
# Break & Continue
while true {
if x == 5 { break } # Exit loop
if x < 0 { continue } # Skip to next iteration
x += 1
}
8. Functions
# Define
func greet(name) {
message = "Hello, " + name
show: message
return message
}
# Call
result = greet("Alice")
# Multiple parameters
func add(a, b) {
return a + b
}
sum = add(10, 20) # 30
# Recursion
func factorial(n) {
if n <= 1 { return 1 }
return n * factorial(n - 1)
}
9. Arrays
# Create
numbers = [1, 2, 3, 4, 5]
mixed = [1, "two", true]
# Access
first = numbers[0] # 1
last = numbers[4] # 5
# Modify
numbers[2] = 99
# Length
count = len(numbers) # 5
# Array operations
arr = [0] * 10 # Creates array of 10 zeros
10. String Interpolation
name = "Alice"
age = 25
show: "Hello, #{name}! You are #{age} years old."
# Output: Hello, Alice! You are 25 years old.
11. Built-in Functions
len(obj) # Length of string or array → len("abc") → 3
range(n) # Array [0, 1, ..., n-1] → range(5) → [0,1,2,3,4]
type(obj) # Type as string → type(42) → "int"
input(prompt) # Alias for ask
# This is a comment
x = 10 # Inline comment also works
13. Error Handling
The compiler reports clear errors with line numbers:
Error at line 5: Undefined variable 'x'
Error at line 12: Type mismatch — expected number, got string
🎯 Real-World Examples
Example 1: Calculator
func calculator(a, b, op) {
if op == "+" {
return a + b
} elif op == "-" {
return a - b
} elif op == "*" {
return a * b
} elif op == "/" {
return a / b
} else {
return "Invalid operator"
}
}
num1 = 10
num2 = 5
show: "10 + 5 = " + calculator(10, 5, "+")
show: "10 - 5 = " + calculator(10, 5, "-")
Example 2: To-Do List Manager
tasks = []
func add_task(task) {
tasks = tasks + [task]
show: "Added: " + task
}
func show_tasks() {
i = 0
while i < len(tasks) {
show: (i + 1) + ". " + tasks[i]
i += 1
}
}
add_task("Learn Kataria")
add_task("Build project")
add_task("Share with friends")
show: "\nMy Tasks:"
show_tasks()
Example 3: Number Guessing Game
secret = 42
attempts = 0
show: "Guess the number (1-100)!"
while true {
guess = input: "Your guess: "
attempts = attempts + 1
if guess == secret {
show: "🎉 Correct! You won in " + attempts + " attempts!"
break
} elif guess < secret {
show: "Too low! Try again."
} else {
show: "Too high! Try again."
}
}
Example 4: String Manipulation
name = ask: "Enter your name: "
greeting = "Welcome to Kataria, " + name + "!"
show: greeting
# String multiplication
separator = "-" * 30
show: separator
# Length check
if len(name) > 5 {
show: "That's a long name!"
} else {
show: "Nice short name!"
}
🚀 Quick Command Reference
| Feature |
Command / Syntax |
| Print output |
show: "text" |
| Get input |
var = ask: "prompt" |
| Conditionals |
if/elif/else { } |
| Loops |
while { }, repeat N { }, repeat { } until |
| Functions |
func name(params) { } |
| Arrays |
[1,2,3], arr[0] |
| Comments |
# comment |
| String interpolation |
"Hello, #{var}!" |
🛠️ Running Programs
From VS Code (Recommended)
- Open a
.zy file
- Right-click → Run Kataria File
- Output appears in Kataria Output panel
From Terminal
# If you have Kataria installed globally
eazy program.zy
# With debug flags
eazy program.zy --debug
eazy program.zy --tokens # See tokens
eazy program.zy --ast # See AST tree
📖 How to Learn Quickly
- Start with the basics — variables, print, input
- Try the examples above in VS Code
- Experiment — change numbers, add new print statements
- Make mistakes — error messages are your friends
- Build small projects — calculator, to-do list, guess game
🤝 Contribute & Feedback
Found a Bug?
Open an issue on GitHub with:
- Steps to reproduce
- Expected vs actual behavior
- Sample code that fails
Have a Suggestion?
I'd love to hear your ideas! What features would make Kataria even better?
Want to Contribute?
Contributions are welcome! Fork the repo, make changes, and submit a pull request.
Parmeet Kataria
📧 Email: ayankataria52@gmail.com
📱 Phone/WhatsApp: +92 316 3820562
For collaboration, questions, or just to say hello — feel free to reach out!
💡 Final Thoughts
Programming should be fun, not frustrating. I built Kataria to lower the barrier to entry and give students a gentle introduction to computational thinking.
If this language helps even one person fall in love with coding, my mission is accomplished.
Happy coding! 🚀
— Parmeet Kataria