Dasturlash nima va nima uchun kerak

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”.

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.
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.

Siz yuqoridagi qatorni yozasiz — qolgan ikki bosqichni tarjimon dastur bajaradi.
Dasturchi kun davomida nima qiladi
Boshlovchilar dasturchini kun bo’yi klaviaturada kod terib o’tiradigan odam deb tasavvur qilishadi. Amalda vaqt butunlay boshqacha taqsimlanadi.

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.

Ish uchun bitta kompyuter yetarli — qimmat jihoz yoki maxsus sharoit talab qilinmaydi.
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:
- Sabr. Bitta masala ustida bir necha soat o’tirish — odatiy hol.
- Qiziquvchanlik. “Nega bunday ishladi?” degan savol sizni oldinga olib boradi.
- Muntazamlik. Kuniga 30 daqiqa — haftada bir marta besh soatdan samaraliroq.
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 va kompyuter bilan qanday “gaplashish” mumkinligini batafsil ko’ramiz.