Müasir dil
Siniflər, miras, interfeyslər, cəbri sadalamalar, naxış uyğunlaşdırma, qapanmalar, generatorlar, asinxron/gözlə, tədrici tiplər.
Açar sözlər, xəta mesajları, sənədlər və IDE — hamısı ana dilimizdə. Bir dildə konsol proqramı, veb sayt, desktop tətbiq və brauzer kodu yazın.
ə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 ✓
Dünyada milyonlarla insan proqramlaşdırmaya ingilis dilini öyrənməklə başlayır. Alqor bu maneəni aradan qaldırır: alqoritmi öz dilində düşün, yaz və kompüter sənə öz dilində cavab versin.
Siniflər, miras, interfeyslər, cəbri sadalamalar, naxış uyğunlaşdırma, qapanmalar, generatorlar, asinxron/gözlə, tədrici tiplər.
ı/İ qaydası ilə böyük-kiçik hərf, əlifba sırası ilə sıralama (ə e-dən sonra gəlir), 5.yazıyla() → beş.
Hər xəta Azərbaycanca, kodu ilə, səhvin yeri göstərilir və düzəliş təklif olunur.
«eger» yazsanız «əgər» kimi qəbul olunur — Azərbaycan klaviaturası olmayan kompüterdə də işləyir.
Konsol, veb server, desktop pəncərə və JavaScript (Node.js / brauzer) — eyni koddan.
IDE, paket meneceri, formatlayıcı, linter, sınaq işlədicisi, sənəd generatoru, LSP və debaqçı.
Eyni dildə yazdığınız kod dörd fərqli yerdə işləyir — Python icraçısı, veb server, yerli pəncərə və JavaScript.
Marşrutlar, JSON API, HTML şablonları — beş sətirdən başlayır.
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 hazır vidjet; eyni komponent vebdə də işləyir.
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()
Python olmadan Node.js-də və ya brauzerdə işlət.
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 xəta kodu, hər biri Azərbaycanca izah, mənbə parçası və düzəliş təklifi ilə. Hətta səhv yazılmış üzv adını da tutur və düzgününü təklif edir.
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
IDE-dən paket deposuna qədər hər şey daxildir.
alqorİşlətmək, layihə yaratmaq, qurmaq, sınaq, sənəd, REPLAlqor StudioIDE: redaktor, vizual dizayner, önbaxış, debaqalqorpm · alqorhubPaket meneceri və paket deposu serverialqorfmtKodu səliqəyə salır; ASCII açar sözləri düzəldiralqorlint35 qaydalı statik təhlil, avtomatik düzəlişləralqorls · dapLSP və debaqçı — VS Code, Neovim, Helixv2.3.1 hazırdır — Windows, Linux və macOS üçün. Platformanızı seçin və vuqar.pro/hub-dan yükləyin.
Quraşdırıcı Alqor Studio-nu, alqor əmrlərini və daxili Python mühitini özü ilə gətirir — əlavə heç nə qurmaq lazım deyil.
Quraşdırıcıları gözləmədən dili öyrənməyə başla — tam sənədləşmə saytda, Azərbaycan dilində.