# Dasturlash nima va nima uchun kerak

> Dasturlash nima, dasturchi kun davomida aslida nima qiladi va bu kasb kimga mos keladi? Noldan boshlovchilar uchun eng birinchi kirish darsi.

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

![Dasturlash g'oyani kod orqali natijaga aylantirishini o'rganayotgan o'quvchi](https://learncode.uz/images/dasturlash-asoslari/dasturlash-nima-hero-v2.webp)

*Dasturlash — g'oyani aniq ko'rsatmalarga aylantirish jarayoni.*

Telefoningizdagi har bir ilova, ochgan har bir sayt, bankomat ekrani va
avtomobil boshqaruv paneli — bularning barchasi ortida kimdir yozgan
ko'rsatmalar turadi. **Dasturlash — kompyuterga nima qilish kerakligini
tushunarli qilib aytish jarayoni.**

Bu darsda uchta savolga javob olasiz: dastur aslida nima, dasturchi kun
davomida nima bilan shug'ullanadi va bu kasb sizga to'g'ri kelishini
qanday bilish mumkin.

## Kompyuter o'zi hech narsa bilmaydi

Kompyuterning kuchi tezlikda: u soniyasiga milliardlab amal bajaradi va
hech qachon charchamaydi, chalg'imaydi, xato qilmaydi. Lekin uning bitta
jiddiy cheklovi bor — u **nima qilish kerakligini o'zi o'ylab topa
olmaydi**. Har bir qadam unga oldindan aytilgan bo'lishi kerak.

Shu yerda dasturchi ishi boshlanadi. U masalani olib, uni kompyuter
bajara oladigan aniq qadamlarga bo'ladi va bu qadamlarni maxsus tilda
yozib beradi.

Buni misolda ko'raylik. Aytaylik, **1 dan 100 gacha bo'lgan barcha sonlarni
qo'shish** kerak. Qo'lda hisoblasangiz, yuzta qo'shish amali va ancha vaqt
ketadi. Dasturchi esa javobni — **5050** ni — o'zi hisoblamaydi; u kompyuterga
qanday hisoblashni aytadi: "birinchi sondan oxirgisigacha yur, har birini
jamiga qo'sh, oxirida jamini ko'rsat".

![1 dan 100 gacha sonlarni qo'shish masalasi, uning kodi va 5050 natijasi](https://learncode.uz/images/dasturlash-asoslari/dasturlash-jarayoni-v2.webp)

*Odam masalani qadamlarga bo'ladi va yozadi — hisoblashni kompyuter
    bajaradi.*

Farq shu yerda: dasturchi javobni emas, **javobga olib boradigan yo'lni**
yozadi.

Bu farqning amaliy ahamiyati katta. Qo'lda hisoblasangiz, faqat bitta javob
olasiz. Dastur yozsangiz esa, 100 o'rniga 1000 yoki million gacha hisoblashni
so'rash — bitta sonni almashtirish, ya'ni bir soniyalik ish. **Bir marta
yozilgan yechim cheksiz marta qayta ishlatiladi** — dasturlashning asosiy
kuchi shunda.

> **Yodda tuting**
>
> Dasturlash — bu matematika emas, **aniq fikrlash**. Agar siz kimgadir
> yo'l tushuntira olsangiz — "chorrahagacha boring, svetofordan keyin
> chapga buriling" — demak sizda dasturchi uchun eng kerakli ko'nikma
> allaqachon bor.

## Kompyuter sizni qanday tushunadi

Kompyuter aslida faqat ikki holatni ajratadi: tok bor (1) va tok yo'q (0).
Uning "ona tili" shu — nol va birlar ketma-ketligi. Odam bu tilda
yozishi amalda mumkin emas: bitta sodda amal ham yuzlab raqamga aylanadi.

Shu sababli **dasturlash tillari** yaratilgan. Ular odam o'qiy oladigan
shaklda yoziladi, so'ng maxsus dastur ularni kompyuter tiliga o'giradi.
Ya'ni siz `print("Salom!")` deb yozasiz, tarjimon esa buni protsessor
tushunadigan buyruqlar ketma-ketligiga aylantiradi.

![Kod tarjimasining bosqichlari: yozilgan kod, oraliq shakl va protsessor buyruqlari](https://learncode.uz/images/dasturlash-asoslari/kod-tarjimasi-v2.webp)

*Siz yuqoridagi qatorni yozasiz — qolgan ikki bosqichni tarjimon dastur
    bajaradi.*

> **Atama**
>
> **Sintaksis** — dasturlash tilining yozilish qoidalari: qayerga qavs,
> qayerga vergul qo'yiladi. Har tilda o'zgacha bo'ladi, lekin ular ortidagi
> mantiq bir xil. Shuning uchun ikkinchi tilni o'rganish birinchisidan
> ancha oson kechadi.

## Dasturchi kun davomida nima qiladi

Boshlovchilar dasturchini kun bo'yi klaviaturada kod terib o'tiradigan
odam deb tasavvur qilishadi. Amalda vaqt butunlay boshqacha taqsimlanadi.

![Dasturchi ish vaqtining taqsimoti: o'ylash 40%, xato tuzatish 30%, kod yozish 20%, o'rganish 10%](https://learncode.uz/images/dasturlash-asoslari/vaqt-taqsimoti-v2.webp)

*Taxminiy taqsimot — loyihaga qarab o'zgaradi, lekin nisbat odatda
    shunga yaqin qoladi.*

Odatiy ish kuni shunday kechadi. Ertalab dasturchi topshiriqni o'qiydi va
avval uni tushunishga harakat qiladi: nima kerak, qanday chekka holatlar
bo'lishi mumkin. Keyin mavjud kodni ko'rib chiqadi — yangi qism qayerga
ulanishini aniqlash uchun.

Kod yozish boshlangach ham u uzluksiz davom etmaydi: bir necha qator
yozilgach ishga tushiriladi, natija kutilganidek chiqmasa sabab
qidiriladi. Bu jarayon kun davomida o'nlab marta takrorlanadi.

Kun oxirida yozilgan kod boshqa dasturchilar tomonidan ko'rib chiqiladi.
Ular savol berishadi, yaxshiroq yechim taklif qilishadi yoki e'tibordan
chetda qolgan holatni ko'rsatishadi. Bu odatiy amaliyot: kod bir marta
yozilib, yillar davomida o'qiladi va o'zgartiriladi, shuning uchun uning
tushunarli bo'lishi tez yozilishidan muhimroq.

Yana bir keng tarqalgan tasavvur — dasturchi kun bo'yi yolg'iz ishlaydi
degan fikr. Real loyihada ish jamoada olib boriladi: talablar muhokama
qilinadi, yechim variantlari taqqoslanadi, kelishuvga kelinadi. Yozma va
og'zaki muloqot bu kasbning ajralmas qismi.

![Dasturchining ish joyi: noutbukda ochilgan kod muharriri](https://learncode.uz/images/dasturlash-asoslari/dasturchi-ish-joyi-v2.webp)

*Ish uchun bitta kompyuter yetarli — qimmat jihoz yoki maxsus sharoit
    talab qilinmaydi.*

> **Boshlovchilar tez-tez yanglishadigan joy**
>
> "Kodim ishlamadi — demak men uddalay olmayapman" degan xulosa eng keng
> tarqalgan xato. Tajribali dasturchining kodi ham birinchi urinishda
> kamdan-kam ishlaydi. **Xato — jarayonning normal qismi**, qobiliyatsizlik
> belgisi emas. Xato tuzatish ish vaqtining qariyb uchdan bir qismini (30%)
> egallaydi va bu hamma uchun shunday.

## Dasturlash qayerda ishlatiladi

Dasturlash faqat sayt yasash degani emas. Asosiy yo'nalishlar:

| Yo'nalish | Nima quriladi | Mashhur tillar |
|---|---|---|
| Web | Saytlar, internet-do'konlar, admin panellar | Python, JavaScript |
| Mobil | Telefon ilovalari | Kotlin, Swift, Dart |
| Ma'lumot tahlili | Hisobotlar, bashorat, statistika | Python, R |
| Sun'iy intellekt | Tavsiya tizimlari, tasvir tanish | Python |
| Avtomatlashtirish | Takroriy ishlarni bajaruvchi skriptlar | Python, Bash |
| O'yinlar | Kompyuter va telefon o'yinlari | C#, C++ |

Ro'yxatda **Python** bir necha marta uchraydi — shuning uchun bu saytdagi
amaliy darslar aynan shu tilda olib boriladi. U bir vaqtning o'zida bir
nechta sohaga eshik ochadi.

Hozir yo'nalish tanlash haqida bosh qotirish shart emas. Asosiy
tushunchalar — o'zgaruvchi, shart, sikl, funksiya — ro'yxatdagi barcha
sohalarda bir xil ishlaydi. Yo'nalishni keyinroq, qaysi ish sizga
qiziqroq ekanini his qilgach tanlaysiz.

## Bu kasb kimga mos keladi

Dasturlash haqida ikkita keng tarqalgan noto'g'ri tasavvur bor.

**"Matematikani yaxshi bilish shart."** Ko'pchilik ish uchun maktab
darajasidagi arifmetika yetarli. Chuqur matematika faqat ayrim sohalarda
kerak bo'ladi — sun'iy intellekt, kompyuter grafikasi, kriptografiya. Web
sayt yoki mobil ilova yozish uchun esa mantiqiy fikrlash muhimroq.

**"Ingliz tilisiz boshlab bo'lmaydi."** Bilgan afzal, chunki hujjatlarning
ko'pi ingliz tilida. Lekin boshlash uchun shart emas: tilning kalit
so'zlari sanoqli (`if`, `for`, `while` va yana o'ntacha), ularni yodlash
til o'rganish emas. Bu sayt aynan shu to'siqni pasaytirish uchun ishlaydi.

Sizga chindan kerak bo'ladigan uchta narsa:

1. **Sabr.** Bitta masala ustida bir necha soat o'tirish — odatiy hol.
2. **Qiziquvchanlik.** "Nega bunday ishladi?" degan savol sizni oldinga
   olib boradi.
3. **Muntazamlik.** Kuniga 30 daqiqa — haftada bir marta besh soatdan
   samaraliroq.

> **O'zingizni sinab ko'ring**
>
> Kimdir sizdan choy damlashni o'rgatishni so'radi. Qadamlarni tartib bilan
> sanab bering: suvni qaynating, choynakni chayqang, choy soling, qaynoq
> suv quying, besh daqiqa kuting.
>
> Shu ro'yxatni tuza olsangiz — siz **algoritm** yozdingiz. Dasturlash ham
> xuddi shu, faqat bajaruvchi odam emas, kompyuter.
>
> Endi qiyinroq savol: agar choynak allaqachon issiq bo'lsa, ikkinchi qadam
> kerakmi? Bu **shart** — dasturlashning navbatdagi asosiy tushunchasi.

## Dastur amalda nima beradi

### Dastur muammoni qanday o'zgartiradi?

Dastur biror ishni "sehrli" qilmaydi; u takrorlanadigan qoidani tez, bir xil va tekshiriladigan tarzda bajaradi. Masalan, o'quv markazida yuzlab o'quvchining davomati bor. Odam har kuni ro'yxatni qo'lda sanashi mumkin, ammo dastur kelganlar sonini hisoblaydi, kechikkanlarni ajratadi va haftalik hisobot tayyorlaydi. Bu yerda foyda faqat tezlik emas: qoida bir marta kelishiladi, keyin har safar bir xil qo'llanadi.

Shu sabab dasturlashni o'rganish faqat buyruq yodlash emas. Siz muammoni aniq tariflashni, ma'lumotni ajratishni, qoidani yozishni va natijani tekshirishni o'rganasiz. Dastur noto'g'ri natija bersa, kompyuter "xato o'ylagani" uchun emas, odam yozgan talab yoki qoidada noaniqlik bo'lgani uchun sodir bo'ladi.

### Avtomatlashtirish qachon foydali?

Ish tez-tez takrorlansa, ko'p ma'lumotga tatbiq qilinsa yoki natijasi izchil bo'lishi zarur bo'lsa, dastur foydali. Bir marta qilinadigan, qoida doim o'zgaradigan yoki insoniy mulohaza asosiy bo'lgan ishda esa avtomatlashtirish har doim ham to'g'ri tanlov emas. Avval jarayonni qo'lda bir necha marta bajarib ko'rish, keyin qaysi qadamlar aniq va takroriyligini yozish yaxshi boshlanishdir.

### Kichik amaliy mashq

O'zingiz har hafta qiladigan bitta takroriy ishni tanlang: xarajatlarni yozish, dars jadvalini tuzish yoki fayllarni nomlash. Uning kirishi, qoidasi va chiqishini uch qatorda yozing. Keyin qaysi qadam odam qarorini talab qilishini, qaysi qadam esa dasturga topshirish mumkinligini belgilang.

### Dasturchining haqiqiy vazifasi

Dasturchi faqat kod qatorini yozmaydi. U foydalanuvchi muammosini eshitadi, noaniq talabni savollar bilan aniqlaydi, ma'lumot va qoidani ajratadi, kichik yechim yaratadi hamda natijani tekshiradi. Masalan, "davomat hisoblasin" talabi yetarli emas: kechikkan o'quvchi kelgan hisoblanadimi, bir kun bir necha marta belgi qo'yilsa nima bo'ladi, hisobotni kim ko'rishi mumkin? Shu savollar javobsiz qolsa, dastur texnik jihatdan ishlasa ham foydali bo'lmasligi mumkin.

Shuning uchun yaxshi dastur ikki narsaga tayanadi: foydalanuvchi uchun aniq qiymat va kompyuter uchun aniq qoida. Dastlabki kichik loyiha aynan shu fikrlashni mashq qilish uchun kerak. Keyingi darslarda bu qoidalarni algoritm, o'zgaruvchi, shart va funksiya orqali yozishni o'rganasiz.

## Qisqacha xulosa

- Dastur — kompyuter bajaradigan aniq ko'rsatmalar ketma-ketligi.
- Dasturchi javobni emas, **javobga olib boradigan yo'lni** yozadi.
- Bir marta yozilgan yechim cheksiz marta qayta ishlatiladi.
- Ish vaqtining katta qismi kod yozishga emas, o'ylash va xato
  tuzatishga ketadi.
- Matematika va ingliz tili boshlash uchun to'siq emas.
- Eng kerakli ko'nikma — masalani mayda, aniq qadamlarga bo'la olish.

Keyingi darsda [dasturlash tili nima ekanini](https://learncode.uz/dasturlash-asoslari/dasturlash-tili-nima)
va kompyuter bilan qanday "gaplashish" mumkinligini batafsil ko'ramiz.
