Modern language
Classes, inheritance, interfaces, algebraic enums, pattern matching, closures, generators, async/await, gradual types.
Keywords, error messages, docs and the IDE — all in our native language. Write console programs, websites, desktop apps and browser code in one language.
əgərhər … üçün
funksiyasinif
cəhd etgözlə
// Mətnin palindrom olub-olmadığını yoxlayır
funksiya palindromdur(söz: mətn) -> məntiq
dəyişən t = söz.kiçiyə().əvəz(" ", "")
qaytar t == t.tərs()
son
hər söz üçün ["Ana", "Alqor", "212"] içində
əgər palindromdur(söz) onda
yaz("{söz} → palindromdur ✓")
yoxsa
yaz("{söz} → palindrom deyil ✗")
son
son
Ana → palindromdur ✓
Alqor → palindrom deyil ✗
212 → palindromdur ✓
Millions start programming by first learning English. Alqor removes that barrier: think the algorithm in your own language, write it, and the computer answers in your own language.
Classes, inheritance, interfaces, algebraic enums, pattern matching, closures, generators, async/await, gradual types.
Correct ı/İ casing, alphabetic ordering (ə sorts after e), 5.yazıyla() → beş (five in words).
Every error in Azerbaijani, with its code, the location of the mistake, and a suggested fix.
Type “eger” and it is accepted as “əgər” — works on a computer without an Azerbaijani keyboard.
Console, web server, desktop window and JavaScript (Node.js / browser) — from the same code.
IDE, package manager, formatter, linter, test runner, doc generator, LSP and debugger.
The same code runs in four places — the Python runtime, a web server, a native window and JavaScript.
Routes, JSON API, HTML templates — starts from five lines.
veb.Server()s.al("/yol")veb.json()s.dinlə(8080) gətir veb
dəyişən s = yeni veb.Server()
s.al("/", (q) => veb.mətn("Alqor serveri işləyir"))
s.al("/salam/:ad", (q) =>
veb.html(<h1>Salam, {q.parametr("ad")}!</h1>))
s.al("/cəm/:a/:b", (q) => veb.json({
"nəticə": tamƏt(q.parametr("a")) + tamƏt(q.parametr("b"))
}))
s.dinlə(8080)
118 built-in widgets; the same component also runs on the web.
komponentvəziyyətvidjet.sütun()göstər() gətir pəncərə
gətir vidjet
komponent Salamlama
vəziyyət ad: mətn = ""
göstər()
qaytar vidjet.sütun(boşluq: 12, məzmun: [
vidjet.başlıq(mətn: "Alqor ilə salam"),
vidjet.sahə(etiket: "Adınız", dəyər: özü.ad,
yazıldı: (d) => özü.ad = d),
vidjet.mətn(məzmun: əgər özü.ad == "" onda
"Adınızı yazın…"
yoxsa
"Xoş gəldin, {özü.ad}!" son)
])
son
son
dəyişən p = yeni pəncərə.Pəncərə("Salam", 360, 220)
p.məzmun(yeni Salamlama())
p.göstər()
pəncərə.işlət()
Run on Node.js or in the browser, without Python.
alqor işlət --jsalqor qur --hədəf vebalqor yerləşdir # Eyni koddan dörd hədəf — Python olmadan da:
alqor işlət --js proqram.alq # Node.js-də dərhal işlət
alqor qur --hədəf veb proqram.alq # → qurma/veb/index.html
alqor yerləşdir # → statik hostinq üçün qovluq
121 error codes, each explained in Azerbaijani with the source snippet and a suggested fix. It even catches a mistyped member name and suggests the right one.
dəyişən ədədlər = [5, 2, 8, 1]
yaz(ədədlər.sortla())
✖ ALQ-T006 ÜzvXətası
┌─ nümunə.alq:2:14
│
2│ yaz(ədədlər.sortla())
│ ───┬───
│ └── `siyahı[tam]` tipində `sortla` üzvü yoxdur
│
= kömək: `sırala` demək istəyirdiniz?
= siyahı metodları: sırala · sıralanmış · tərsinəÇevir
Everything from the IDE to the package registry is included.
alqorRun, create projects, build, test, docs, REPLAlqor StudioIDE: editor, visual designer, preview, debugalqorpm · alqorhubPackage manager and package registry serveralqorfmtFormats code; fixes ASCII keywordsalqorlint35-rule static analysis with auto-fixesalqorls · dapLSP and debugger — VS Code, Neovim, Helixv2.3.1 is out — for Windows, Linux and macOS. Pick your platform and download from vuqar.pro/hub.
The installer brings Alqor Studio, the alqor commands and a bundled Python runtime — nothing else to install.
Start learning without waiting for the installers — the full documentation is on the site.