Introduction அறிமுகம்
சிந்தை IDE is a small programming language whose entire vocabulary — every keyword, every control word — is
written in Tamil. Instead of learning if, while and function before you
can express an idea, you write என்றால், வரை and செயல்
directly.
The goal isn't to replace English-based languages — it's to remove the translation step for learners who think in Tamil first, so the logic of programming (variables, decisions, repetition, reuse) can be learned on its own, without a language barrier on top of it.
A first look
Here's a two-line program: it stores your name, then greets you with it.
எழுத்து பெயர் = "தமிழ்"
காட்டு "வணக்கம், " + பெயர்
Features சிறப்பியல்புகள்
What சிந்தை IDE supports, in one scan — each item is covered in full in its own chapter below.
Tamil-native keywords
Every reserved word — types, conditionals, loops, functions — is written in Tamil script.
Two core data types
எண் (Number) for all numeric values and எழுத்து (String) for text, plus boolean literals உண்மை / பொய்.
Full control flow
என்றால் / இல்லை என்றால் / இல்லையெனில் branches, all closed by one consistent முடிவு.
Two loop styles
A condition-based வரை (while) loop and a range-based ஒவ்வொரு (for) loop, with break/continue.
Functions & recursion
Reusable blocks defined with செயல், returning values with திருப்பு — including calling themselves.
Standard operators
Mathematical, relational and logical operators, matching what you'd expect from any general-purpose language.
Basic Syntax அடிப்படை இலக்கணம்
A few rules apply across the whole language, before you even get to variables or loops.
1. Every block ends with முடிவு
Functions, if/else chains, and loops all open with their own keyword, but they all close the same way — with முடிவு (End). If you forget it, the block never closes.
2. Comments start with #
Anything after a # on a line is a comment, ignored when the program runs. Use it to explain
why, not just what.
# இது ஒரு கருத்துரை (this is a comment)
காட்டு "இது இயங்கும்" # this runs
3. Statements run top to bottom
Like most languages, சிந்தை IDE executes one line at a time, in order, unless a loop or function call changes that order.
4. Indentation shows structure
Code inside a block is indented for readability. சிந்தை IDE doesn't require a specific indent size, but consistent indentation makes nested blocks (a loop inside a function, for example) far easier to read.
Data Types & Variables மாறிகள்
Variables must be declared with their type. சிந்தை IDE keeps this deliberately small: two core types for values, plus two boolean literals.
| Keyword | Meaning | Used for | Default value |
|---|---|---|---|
| எண் | Number | All numeric values (whole or decimal) | 0 |
| எழுத்து | String | Text, always inside double quotes "..." |
"" |
| உண்மை | True | Boolean true literal | — |
| பொய் | False | Boolean false literal | — |
Declaring and assigning a variable
Write the type keyword, then the variable name, then = and a value. You can also declare a
variable without a value — it falls back to its default.
எண் வயது = 25
எழுத்து பெயர் = "தமிழ்"
எண் மதிப்பு # Defaults to 0
எழுத்து காலி # Defaults to ""
வயது ("age") is declared as a number and set to 25. பெயர்
("name") is declared as a string and set to "தமிழ்". மதிப்பு and
காலி are declared with no value, so they take their type's default — 0 and
"" respectively.
எழுத்து பெயர் = தமிழ் (without quotes) is not valid — சிந்தை IDE would try to read
தமிழ் as another variable, not text.
Input & Output உள்ளீடு · வெளியீடு
Two keywords cover all interaction with the person running the program.
காட்டு prints a value to the screen. பெறு pauses the program, waits for the person to type something, and stores it in the variable named after it.
எழுத்து பெயர்
காட்டு "உங்கள் பெயரை உள்ளிடவும்:"
பெறு பெயர்
காட்டு "வணக்கம், " + பெயர்
Line by line: declare an empty string பெயர், print a prompt asking for a name, wait for
input with பெறு பெயர் (whatever is typed is stored into பெயர்), then print a
greeting built by joining two strings with +.
Operators செயற்குறிகள்
சிந்தை IDE supports the standard mathematical, relational and logical operations you'd expect, grouped into three families.
Mathematical
| Symbol | Tamil name | Meaning |
|---|---|---|
+ |
கூட்டல் | Addition |
- |
கழித்தல் | Subtraction |
* |
பெருக்கல் | Multiplication |
/ |
வகுத்தல் | Division |
% |
மீதி | Modulo (remainder) |
^ |
அடுக்கு | Power |
Relational (comparison)
| Symbol | Tamil name | Meaning |
|---|---|---|
== |
சமம் | Equal to |
!= |
சமமில்லை | Not equal to |
> |
பெரியது | Greater than |
< |
சிறியது | Less than |
>= |
பெரியது அல்லது சமம் | Greater than or equal to |
<= |
சிறியது அல்லது சமம் | Less than or equal to |
Logical
எண் வயது = 20
எண் மதிப்பெண் = 85
என்றால் வயது >= 18 மற்றும் மதிப்பெண் > 50
காட்டு "தகுதி பெற்றவர்" # eligible
முடிவு
Control Flow என்றால் / இல்லை
Make decisions in your code using conditional blocks. Every block — no matter how many branches it has — closes with a single முடிவு.
எண் வயது = 18
என்றால் வயது > 18
காட்டு "நீங்கள் பெரியவர்"
இல்லை என்றால் வயது == 18
காட்டு "சரியாக 18 வயது"
இல்லையெனில்
காட்டு "நீங்கள் சிறியவர்"
முடிவு
சிந்தை IDE checks each condition top to bottom and runs the first branch that matches. Here வயது == 18 is true, so only "சரியாக 18 வயது" prints — the first and third branches are skipped.
Loops வரை · ஒவ்வொரு
சிந்தை IDE supports two loop styles: a condition-based while loop, and a range-based for loop.
While loop — வரை
Executes its block for as long as a condition stays true.
எண் எண் = 1
வரை எண் <= 5
காட்டு எண்
எண் = எண் + 1
முடிவு
எண் ("count") starts at 1. The loop checks எண் <= 5 before every pass,
prints it, then increments it. Once எண் reaches 6 the condition is false and the loop ends.
For loop — ஒவ்வொரு
Iterates over a numeric range: ஒவ்வொரு [variable] = வரம்பு [start], [end], [step]. The step is
optional and defaults to 1.
# 1 முதல் 5 வரை அச்சிடும்
ஒவ்வொரு i = வரம்பு 1, 5
காட்டு i
முடிவு
# 1 முதல் 10 வரை 2 படிகளில் அச்சிடும் (1, 3, 5...)
ஒவ்வொரு x = வரம்பு 1, 10, 2
காட்டு x
முடிவு
The first loop steps through 1 to 5 one at a time. The second loop adds an explicit step of 2, so it prints every other number from 1 to 10.
Loop controls
Functions செயல்
Define a reusable block of code once, then call it wherever you need it.
# இரண்டு எண்களை கூட்டும் செயல்
செயல் கூட்டல்(அ, ஆ)
திருப்பு அ + ஆ
முடிவு
எண் விடை = கூட்டல்(10, 20)
காட்டு விடை
கூட்டல் ("add") is defined with two parameters, அ and ஆ,
and returns their sum with திருப்பு. Calling கூட்டல்(10, 20) hands back
30, which is stored in விடை and printed.
Example Program காரணியப் பெருக்கம்
A complete program that combines everything above — variables, a function, recursion, a conditional, and input/output — to calculate the factorial of a number the person types in.
# Factorial Program / காரணியப் பெருக்கம்
செயல் காரணியம்(n)
என்றால் n <= 1
திருப்பு 1
இல்லையெனில்
திருப்பு n * காரணியம்(n - 1)
முடிவு
முடிவு
எண் உள்ளீடு_எண்
காட்டு "ஒரு எண்ணை உள்ளிடவும்:"
பெறு உள்ளீடு_எண்
எண் விடை = காரணியம்(உள்ளீடு_எண்)
காட்டு "விடை: "
காட்டு விடை
Walkthrough
1. காரணியம் ("factorial") is a function that takes one parameter, n.
2. Inside, என்றால் n <= 1 checks the base case: the factorial of 0 or 1 is always 1, so it returns immediately.
3. Otherwise, இல்லையெனில் returns n * காரணியம்(n - 1) — the function calling
itself with a smaller number. This is recursion: each call waits on a smaller version of the
same problem, until the base case is reached.
4. Outside the function, உள்ளீடு_எண் is declared, a prompt is printed, and பெறு reads what the person types into it.
5. காரணியம்(உள்ளீடு_எண்) is called with that number, and the result is stored in விடை ("answer") and printed.
காரணியம்(4)
— write down each call and what it returns, until it unwinds back to 24.