# Dasturlash tili nima va u qanday ishlaydi

> Dasturlash tili nima uchun kerak va kompyuter bilan qanday gaplashiladi? Mashina tili, kalit so'zlar va sintaksis tushunchalari sodda tilda tushuntiriladi.

Manba: https://learncode.uz/dasturlash-asoslari/dasturlash-tili-nima/
Sana: 2026-05-01

![Dasturlash tili odam yozgan kodni kompyuter tushunadigan buyruqqa bog'lashini ko'rsatuvchi rasm](https://learncode.uz/images/dasturlash-asoslari/dasturlash-tili-hero-v2.webp)

*Dasturlash tili inson yozgan ko'rsatmani kompyuter bajaradigan shaklga olib boradi.*

[Oldingi darsda](https://learncode.uz/dasturlash-asoslari/dasturlash-nima) dastur — kompyuter
bajaradigan ko'rsatmalar ketma-ketligi ekanini ko'rdik. Endi navbatdagi
savol tug'iladi: bu ko'rsatmalar qanday yoziladi? Kompyuterga "shu
sonlarni qo'shib chiq" deb o'zbek tilida aytib bo'lmaydi.

**Dasturlash tili — odam bilan kompyuter o'rtasidagi vositachi.** U
odamga o'qish va yozish uchun qulay, ayni paytda kompyuterga
o'girilishi mumkin bo'lgan darajada aniq.

## Nega oddiy til yaramaydi

Tabiiy tilda gapirganda biz ko'p narsani aytmay qoldiramiz — suhbatdosh
o'zi tushunib oladi. "Eshikni yop" deganda qaysi eshik, qanchalik zich,
qaysi qo'l bilan degan savollar tug'ilmaydi.

Kompyuterda bunday "o'zi tushunish" qobiliyati yo'q. Undan tashqari,
tabiiy til **noaniqlikka to'la**. Mana bir misol: "Kitobni stol ustidagi
qutiga qo'y." Kitob stol ustidami yoki quti stol ustidami? Odam vaziyatga
qarab taxmin qiladi, kompyuter esa taxmin qila olmaydi.

Dasturlash tilida bunday ikki xil o'qish mumkin emas. Har bir belgi
qat'iy bitta ma'noni anglatadi va har bir buyruq faqat bitta yo'l bilan
bajariladi.

Yana bir farq — **hajm**. Tabiiy tilda yuz minglab so'z bor va ular
doim yangilanadi. Dasturlash tilida esa asosiy buyruqlar soni o'ttiz-qirq
atrofida. Boshida bu kambag'allikdek tuyuladi, aslida esa afzallik:
o'rganish uchun ro'yxat cheklangan va u yillar davomida o'zgarmaydi.

> **Nima uchun bu muhim**
>
> Tilning qat'iyligi boshida noqulay tuyuladi: bitta vergul tushib qolsa
> dastur ishlamaydi. Lekin aynan shu qat'iylik ishonchlilikni beradi —
> bir marta to'g'ri yozilgan dastur har safar bir xil natija qaytaradi.

## Kompyuterning haqiqiy tili

Protsessor faqat ikki holatni ajratadi: kuchlanish bor (1) yoki yo'q (0).
Uning barcha buyruqlari shu ikki raqamdan tuzilgan — bu **mashina tili**
deb ataladi.

Nazariy jihatdan to'g'ridan-to'g'ri shu tilda yozish mumkin. Amalda esa
bu deyarli imkonsiz: ikki sonni qo'shish kabi sodda amal ham o'nlab
raqamli buyruqqa aylanadi, ularni odam yodda tutolmaydi va xatoni topa
olmaydi.

<Example title="Mashina tili qanday ko'rinadi">

Quyidagi ikki qator bir xil ishni bajaradi — ikki sonni qo'shadi:

```
Odam yozadigan shakl:
    natija = 5 + 3

Protsessor oladigan shakl:
    10110000 00000101
    00000100 00000011
```

Ikkinchi variantda xato qidirishni tasavvur qiling. Aynan shuning uchun
dasturlash tillari yaratilgan.

</Example>

## Til qanday qismlardan iborat

Har qanday dasturlash tili bir necha asosiy qismdan tuziladi. Ularni
bilish yangi tilga o'tishni osonlashtiradi: nomlar o'zgaradi, tuzilma
qoladi.

![Dasturlash tilining to'rt qismi: kalit so'zlar, sintaksis, ma'lumot turlari va standart kutubxona](https://learncode.uz/images/dasturlash-asoslari/til-qismlari-v2.webp)

*Tilning asosiy qismlari. Ularning nomlari deyarli barcha tillarda
    bir xil.*

**Kalit so'zlar** — tilning o'z buyruqlari. Ularning soni ataylab kam
qilingan: Python'da 35 ta, C tilida 32 ta atrofida. To'liq ro'yxatni
rasmiy hujjatda ko'rish mumkin —
[docs.python.org](https://docs.python.org/3/reference/lexical_analysis.html#keywords).
Bu ro'yxatni bir kunda yodlash mumkin, qolgan hammasi shular asosida quriladi.

**Sintaksis** — yozilish qoidalari. Qayerga qavs qo'yiladi, buyruqlar
qanday ajratiladi, blok qayerda boshlanadi. Aynan shu qism tillarni
tashqi ko'rinishi bo'yicha bir-biridan farqlaydi.

**Ma'lumot turlari** — dastur qanday qiymatlar bilan ishlay olishi:
butun son, kasr son, matn, ro'yxat, mantiqiy qiymat (rost/yolg'on).

**Standart kutubxona** — til bilan birga keladigan tayyor funksiyalar
to'plami. Matnni katta harfga o'girish, faylni ochish, sanani olish —
bularni har safar noldan yozish shart emas.

## Bir vazifa, uch xil yozilish

Endi eng muhim fikrga keldik. Tillar bir-biridan **yozilishi** bilan
farq qiladi, lekin ular ortidagi **mantiq** bir xil qoladi.

![Bir vazifaning Python, JavaScript va C tillaridagi yozilishi](https://learncode.uz/images/dasturlash-asoslari/tillar-taqqoslash-v2.webp)

*Uchala kod ham bir xil natija beradi: ekranda "Salom!" so'zi paydo
    bo'ladi.*

Farqlarni ko'ring: Python'da eng qisqa, JavaScript'da oxirida nuqta-vergul
bor, C'da esa qo'shimcha tayyorgarlik qatorlari kerak. Lekin uchalasida
ham bitta g'oya: **"shu matnni ekranga chiqar"**.

> **Nima uchun bu yaxshi xabar**
>
> Birinchi tilni o'rganish eng ko'p vaqt oladi, chunki siz til bilan birga
> dasturlashning o'zini o'rganasiz. Ikkinchi tilga o'tganda esa faqat
> yozilishni moslashtirasiz — bu odatda bir necha hafta ish. Shuning uchun
> "qaysi tilni tanlasam?" degan savol boshida ko'rinadigan darajada muhim
> emas.

## Til qanday tanlanadi

Har bir til ma'lum vazifalar uchun yaratilgan va shu vazifalarda kuchli.
Umumiy manzara:

| Til | Nima uchun yaratilgan | Bugun qayerda ishlatiladi |
|---|---|---|
| Python | Kod o'qilishi oson bo'lishi uchun | Sun'iy intellekt, tahlil, web, avtomatlashtirish |
| JavaScript | Brauzerda sahifani jonlantirish | Web sayt, server, mobil ilova |
| C | Tizim dasturlari, tezlik muhim joyda | Operatsion tizim, mikrokontroller |
| Java | Bir marta yozib, hamma joyda ishlatish | Yirik korxona tizimlari, Android |
| Kotlin | Java'ning zamonaviy o'rnini bosuvchisi | Android ilovalari |
| Swift | Apple qurilmalari uchun | iPhone va Mac ilovalari |

Bu ro'yxat to'liq emas — bugungi kunda yuzlab til mavjud. Lekin real
ishda ularning o'ntachasi ishlatiladi va boshlovchi uchun tanlov yanada
tor.

Tanlashda odatda uch narsaga qaraladi. Birinchisi — **maqsad**: mobil
ilova yozmoqchi bo'lsangiz Kotlin yoki Swift, ma'lumot tahlili uchun
Python mantiqiy tanlov. Ikkinchisi — **mehnat bozori**: sizning
shahringizda yoki masofaviy ishda qaysi tilga talab bor. Uchinchisi —
**o'rganish qulayligi**: birinchi til uchun sintaksisi sodda bo'lgani
afzal, aks holda e'tibor masaladan chalg'iydi.

> **Keng tarqalgan xato**
>
> "Eng yaxshi til" degan tushuncha yo'q. Ko'pincha boshlovchi haftalar
> davomida forum va videolarni o'qib, qaysi tilni tanlashni hal qila
> olmaydi. Bu vaqtni bekorga sarflash: **istalgan tilda boshlash, hech
> qachon boshlamaslikdan yaxshiroq.** Asosiy tushunchalar barcha tillarda
> bir xil, ular keyingi tilga o'tganda saqlanib qoladi.

## Til va tarjimon

Yozilgan kod o'z-o'zidan ishlamaydi. Uni mashina tiliga o'giradigan
alohida dastur kerak. Bunday dasturlarning ikki turi bor:
**kompilyator** va **interpretator**.

Farqni qisqacha ayting: kompilyator butun kodni oldindan tarjima qilib,
tayyor fayl beradi; interpretator esa kodni ishga tushirish paytida,
qatorma-qator o'giradi. Har ikkisining o'z afzalligi bor.

Bu tushunchalarni keyingi darsda batafsil ko'rib chiqamiz — hozircha
shuni bilish yetarli: **siz yozgan matn va protsessor bajaradigan buyruq
o'rtasida doim tarjimon turadi.**

## Birinchi til bilan ishlash usuli

Birinchi tilni o'rganayotganda har yangi buyruqni uch bosqichda sinang.
Avval misolni aynan yozing va natijani ko'ring. Keyin bitta qiymatni
o'zgartiring: masalan, son o'rniga boshqa son yoki matn bering. Oxirida
ataylab kichik xato qilib, xabar nimani aytayotganini o'qing. Shu uchinchi
bosqich qo'rqinchli ko'rinsa ham, sintaksis qoidasi va debugging odatini
tez shakllantiradi.

Tilni tanlagach, bir necha hafta davomida uni almashtirmang. O'zgaruvchi,
shart, sikl va funksiyani bitta tilda yozib ko'ring; keyin kichik loyiha
qiling. Shundan keyin boshqa tilning yozilishi bilan solishtirish ma'noli
bo'ladi. Dasturlashni o'rganishda muntazam yozish tanlov jadvalini cheksiz
solishtirishdan ko'proq natija beradi.

## Tilni o'rganishda nimaga e'tibor berish kerak

### Sintaksis va mantiqni ajrating

Boshlovchi yangi misolda hamma narsani bir vaqtning o'zida yodlashga urinadi. Aslida ikki savolni ajratish kerak: dastur **nima qilmoqda** va u tanlangan tilda **qanday yozilgan**? Masalan, ro'yxatdagi sonlarni qo'shish mantiqi hamma tilda bir xil: jami qiymat, har elementni ko'rish va jami ustiga qo'shish. Python'da bo'sh joy, JavaScript'da qavs yoki C'da tip yozilishi sintaksis farqidir. Mantiqni tushungan o'quvchi sintaksisni hujjatdan topib moslashtira oladi.

### Kutubxona va framework farqi

Standart kutubxona til bilan birga keladigan tayyor imkoniyatlar to'plami. Masalan, matn, sana yoki fayl bilan ishlash funksiyalari unda bo'lishi mumkin. Tashqi kutubxona esa boshqa dasturchilar yozgan va loyiha ehtiyoji uchun o'rnatiladigan koddir. **Framework** bundan kengroq: u loyiha qayerdan boshlanishi, fayllar qayerda turishi va keng tarqalgan vazifalar qanday bajarilishini ham belgilashi mumkin. Boshlanishida tayyor vositani tanlashdan oldin uning nima muammoni hal qilishini tushuning.

### Til o'rganishda xavfsiz odat

Kod namunasi ishlaganini ko'rish kifoya emas. Uni o'zgartirib sinang: sonni matnga almashtiring, bo'sh qiymat bering, noto'g'ri belgi yozing va xato xabarini o'qing. Shunda siz buyruqni yodlamaysiz, uning chegarasini tushunasiz. API kalit, parol yoki tokenni esa hech qachon o'quv kodiga ochiq yozmang; bunday qiymat konfiguratsiyada saqlanadi.

## Qisqacha xulosa

- Dasturlash tili — odam va kompyuter o'rtasidagi vositachi.
- Tabiiy til noaniq bo'lgani uchun yaramaydi; dasturlash tilida har
  belgi bitta ma'noni anglatadi.
- Protsessorning haqiqiy tili — nol va birlar, lekin unda yozish
  amalda imkonsiz.
- Har tilda: kalit so'zlar, sintaksis, ma'lumot turlari va standart
  kutubxona bo'ladi.
- Tillar yozilishi bilan farq qiladi, **mantiq esa bir xil** — shuning
  uchun ikkinchi tilni o'rganish ancha oson.
- "Eng yaxshi til" yo'q; vaqtni tanlovga emas, boshlashga sarflang.

Keyingi darsda [dasturlash tillari va ularning farqi](https://learncode.uz/dasturlash-asoslari/dasturlash-tillari)
— past va yuqori darajali tillar, ularning kuchli va zaif tomonlarini ko'ramiz.
