Dasturlashni o‘rganamiz — qanday?


 
"… mamlakatimizdagi barcha dasturlashni o‘rganishi kerak, chunki u fikrlashni o‘rgatadi"
Stiv Jobs

 
Bir do‘stim blog — bu bloggerning kundaligi deb yozgan fikriga to‘liq qo‘shilaman. Chunki blog yuritib boshlaganimdan buyon faqat tayyorini iste'mol qilmasdan, o‘zim ham nimalardir yozayapman, yaratayapman, albatta foydasi tegadi deb o‘ylagan narsalarimni boshqalar bilan ulashayapman va qanchadir bundan fahr tuyg‘usini ham tuyayapman.
Boshqalarga ham baham ko‘rishni xohlagan maslahatlardan biri — bu dasturlashni o‘rganing! Kelajakda kim bo‘lmoqchisiz yoki hozirda kimsiz — o‘qituvchi, doktor, savdogar, qo‘shiqchi, dizayner — farqi yo‘q dasturlashni o‘rganing. Chunki bu juda qiziq va foydali mashg‘ulot, buning ustiga yoqtirgan ishingiz uchun yaxshigina pul topishning hech qanday yomon tomoni yo‘q. Qolaversa, kelajak dasturchilar qo‘lida.
Xo‘sh uni qanday o‘rganish eng samarali? Oldimizda quyidagi yo‘llar bor:
  • Kitoblardan o‘rganish.
  • Video-darslar orqali o‘rganish.
  • O‘quv markaziga borib o‘rganish.
  • Internetdagi mavjud tekin onlayn kurslar,  forumlar va bloglardan o‘rganish.
Buni qarangki, yuqoridagilardan har birining “+” va “-”lari mavjud. Keling, ularni tahlil qilib chiqaylik.
I. Kitoblardan o‘rganish.
Nafaqat dasturlashni, balki har qanday bilim va ko‘nikmani kitoblar orqali o‘zlashtirish eng qadimgi va samarali yo‘l hisoblanadi. Lekin gap dasturlash haqida ketarkan, vaziyat sal boshqacharoq.
( + )
  1. Kitobda har bir qilinadigan jarayon batafsil tushuntirilgan.
  2. Kitobdan istalgan vaqtda istalgan joyda o‘rganish mumkin.
  3. Kitob muharrirlar tomonidan bir necha marta tuzatilgani uchun xatolar qariyb bo‘lmaydi.
  4. Kitoblar orqali bir vaqtning o‘zida minglab, millionlab insonlarni o‘qitish mumkin.
( — )
  1. Kitoblarning chop etilishi qanchadir vaqtni talab qiladi, bu orada eng tez rivojlanadigan soha bo‘lmish dasturlashtirish qanchadir o‘zgarib ketadi va vaqt o‘tishi bilan xuddi shu sababga ko‘ra kitobning foydaliligi kamayib ketadi.
  2. Kitoblar pullik. Ularni chop etish ham anchagina pulga tushadi.
  3. Kitoblar hajm jihatdan ancha ko‘p va uni o‘qib chiqish ham anchagina vaqtni oladi.
  4. Siz kitob muallifiga savollaringizni berolmaysiz va u nimani yozgan bo‘lsa, shuni o‘zlashtirasiz, xolos.
  5. Ona tilimizda dasturlashda foydali kitoblar juda kam, qariyb yo‘q. Masalan, ingliz tilida aynan informatsion texnologiyalar bo‘yicha kitoblar chiqaruvchi "… for Dummies" ("… ahmoqlar boshlovchilar uchun") to‘plam kitoblarini chiqaruvchi Wiley & SonsO'ReillyRockable PressSitePointManning Publications kabi mashhur nashriyot uylari mavjud. Ruslar shu kitoblarni qanchadir qismini tarjima qilib rus tilida adabiyotlar bazasini kengaytirmoqda. Men hozirgacha o‘zbek tilidagi birorta kitob bilan dasturlashda biror narsani o‘rgangan insonni uchratmadim.
Agar kitobdan o‘rganmoqchi bo‘lsangiz rus tilini yoki ingliz tilini yaxshi bilishingiz kerak. Aynan qaysi dasturlash tilini o‘rganmoqchiligingizga qarab yuqoridagi nashriyot uylaridan biror kitobni o‘qishingizni yoki shunchaki google'da «shu-shu tilni o‘rganish uchun eng yaxshi kitob» deb qidirishni maslahat beraman. Eslatma: Ushbu qidiruvni o‘zbekchada qisirib o‘tirmang, rus tiliga yoki ingliz tiliga tarjima qilib qidiring ;)
II. Video-darslar orqali o‘rganish.
Video-darslar orqali o‘rganish aynan shu sohani o‘rganishda eng ko‘p tarqalgan usul hisoblanib, juda ko‘pchilik shu yo‘l bilan “savodini” chiqaradi, desam mubolag‘a bo‘lmaydi.
 ( + )
  1. Nima qilishni va qanday qilinishini qadamma-qadam o‘z ko‘zingiz bilan ko‘rganingiz uchun  esga qolishi ancha oson.
  2. O‘rganish ancha samarali va tez.
  3. Video-darsni yaratish senzuralardan holi oson jarayon.
  4. Video-darslar orqali millionlab insonlarga o‘rgatish mumkin.
  5. Darsda qilinganlarini xuddi o‘ziday qilib borsangiz qo‘lingiz ham tabiiy ravishda dasturlashga moslasha boshlaydi.
  6. Aksariyat video-darslar tekin.
( — )
  1. Video-darslar hajm jihatdan kitoblardan ancha katta (kamida 1-2 GB). O‘zbekistonda internet traffigi hali cheksiz va yuqori tezlikda bo‘lgan hamyonbop tarif yo‘q. Xullas, cho‘ntakka zarar.
  2.  Video-darslarda hamma hol to‘liq qamrab olinmaydi va o‘rganishingiz davomidagi muammoning javobini boshqa manbadan qidirishga to‘g‘ri keladi (masalan internetdan).
  3. O‘zbek tilida Video-darslar kam. Albatta, kitoblardagi ahvoldan ko‘ra ancha yaxshi.  Video-dars yaratuvchi ko‘ngilli vatandoshlarimiz anchagina topiladi. Shulardan,  Otabek O‘ktamjon o‘g‘liQudrat EshmetovMiraziz Axmedov kabi insonlarni keltirishim mumkin. Agar yana kimningdir video-darslarini bilsangiz pastda fikr bildirib qoldirishingizni so‘rayman.
Shu o‘rinda ma'lum tavsiyalarni ham bermoqchiman:
  1. Video-darsni boshlashda muallif bilan biror savol atrofida bog‘lanib javob olishning iloji borligiga ishonch hosil qiling. Video-dars yaratuvchilar esa ijtimoiy tarmoq yoki boshqa yo‘llar bilan bog‘lanishga imkon qoldirishingiz va savollarga sabr bilan javob berishingiz ma'qul.
  2. Video-darsni o‘rganish davomida o‘zingiz ham ko‘rsatilayotgan loyihachani qilib ketavering. Ulgurmagan joyingizda videoni to‘xtatib yoki qayta ko‘rib sinab ko‘ravering.
  3. Agar videoni ko‘rish jarayonida “bunday qilsa bo‘lmasmikin?”, “mana bunaqa qilsa osonmasmi?” degan savol tug‘ilsa, shu zahotiyoq sinab ko‘ring.
  4. Video-darsni yaratuvchilarga: darsni yaratishdan avval har bir qadamingiz pishiq o‘ylab oling, ushbu dars kimlar uchun mo‘ljallanganligini aniqlab barcha jarayonni shunga moslashtiring va bloknotda darsning qisqacha rejasini tuzing.
III. O‘quv markaziga borib o‘rganish.
 ( + )
  1.  Bu yo‘l bilan o‘rganishning eng foydali tomoni siz real insondan o‘rganasiz — agar u pedagogik va sohasi bo‘yicha kuchli bo‘lsa, sizning hamma savollaringizga tushunarli va sodda javob bera oladi. “Ustoz ko‘rmagan shogird har maqomga yo‘rg‘alar” deganlariday...
  2. Bunday darslar aniq vaqt asosida belgilab olinadi. Shuning uchun o‘ziga nisbatan talabchan bo‘lmaganlar uchun bundan yaxshi usul yo‘q.
  3. O‘qituvchi sizning darajangizni bir sinovdayoq bilib oladi va shunga yarasha sizni o‘qitadi.
  4. Bunday usulda siz dasturlashni o‘zbek tilida o‘rganasiz.
( — )
  1. Pullik va boshqa barcha yo‘llardan ko‘ra qimmat.
  2. Bu yo‘l bilan birdaniga ko‘pi bilan 15-20 odamni o‘qitish mumkin.
  3. O‘quv markaziga borishga, qaytishga vaqtingiz ketadi. Katta shaharlarda bu 1 soat ortiqcha vaqtni oladi.
  4. Kichikroq shahar va tumanlarda dasturlashni arzigulik darajada o‘rgatadigan kadrlar yo‘q (shu fikrim yolg‘on bo‘lishini juda ham xohlardim).
Agar moddiy ta'minotingiz yaxshi bo‘lsa, ushbu yo‘lni sizga hech ikkilanmasdan tavsiya qilaman.
IV.  Internetdagi mavjud onlayn kurslar,  forumlar va bloglardan o‘rganish.
Bunday o‘rganishning eng yaxshi tomoni siz ular orqali xohlagan savolingizga xohlaganingizcha javob olishingiz mumkin va buning hammasi tekin! Agar biror tanish dasturchiga “Qanday o‘rgandingiz?” desangiz ularning ko‘pchiligi “Google'dan” deyishadi. Sababi oddiy: ular shunchaki savollariga bog‘liq so‘zlarini qidiruvga berishadi va chiqqan forum, bloglardan o‘qib olishadi.
( + )
  1. Tekin.
  2. Universal. Nafaqat dasturlashda — boshqa sohalarni ham shu yo‘l bilan o‘rganishingiz, istalgan savolingizga javob topishingiz mumkin.
  3. O‘rganish juda oson.
  4. Agar savolingizga javob topolmasangiz muallifga savol qoldirishingiz mumkin.
( — )
  1. Internet va elektr energiyasining bo‘lishi shart.
  2. Ingliz va rus tillarini bilishingiz kerak. Lekin bu borada ayrim vatandoshlarimizning mehnati sababli o‘zbek tilida ham foydali narsalarni o‘rganish mumkin. Bulardan, OpenNet.Uz bloggerlar jamoasi saytini va forumini va Ziyouz forumini misol qilib keltirishimiz mumkin. Demak ular tufayli google'da o‘zbek tilidagi qidiruv orqali arzirli natijalarni olish mumkin.
Shu o‘rinda bir narsani iltimos qilib qolardim — faqatgina o‘rganuvchi bo‘lib qolmasdan vaqti kelganda o‘rgatuvchi ham bo‘ling — o‘zingiz bilgan narsani kimdir forumda so‘ragan bo‘lsa, yordam bering, yoki o‘rganganlaringizni va tajribalaringizni OpenNet.Uz'da maqola qilib yozib boring. Yaxshilikni har kim, har kuni qilgani yaxshi-da!
Yozganlarimni o‘qib chiqib qaysi yo‘lni tanlashingizdan qat'iy nazar, unutmang, barcha muvaffaqiyatning zamirida ulkan mehnat va tinimsiz mashg‘ulot yotadi.
Barchangizga barcha sohada omad tilab, hurmat bilan Bahriddin Bahodirovich!

15 комментариев

SardorDushamov
"...for Dummies.." -  bu ahmoqlar uchun degani emas!  Boshlovchilar uchun yoki dangasalar uchun degani.
0
bahriddin
dummy so‘zining tarjimasida «ahmoq» so‘zi ham uchrardi. Keyin qarab ko‘rsam, "… for dummies" iborasi ruscha tarjimasi “… для чайников” bo‘larkan.
0
Surayyo
Maqolanggiz manga yoqdi. Ayniqsa oxirgi jumlalari. Man ham ko'p muommolarni yechimini forumlardan topamanu o'zim bilganlarimga javob qoldirish hayolimga ham kelmagan ekan. To'g'rirog'i vaqt yo'q deb bahona qilganmani1 :)
0
bahriddin
Katta rahmat! Izlagan imkon topar — yozing!
0
U2B3K
DASTURLASHni videodarslar bilan o'rganish samarasiz. Eng samarali usul — kitob. Va I hamda IV usullar deyarli teng kuchli.
1
infodavron
Menimcha video darslar yordamida dasturlashni kitob o`qiganga qaraganda tezroq va qiziqarliroq o`rganish mimkun, yoki ikkalasi birgalikda ya`na xam foydaliroq.
0
U2B3K
Balkim. Har kimga har hilda. Lekin fikrimcha videodarslarda faqat IDE yoki tilni «yodlab qolish»dan boshqasini o'rqanib bo'lmaydi. DASTURLASHni bekorga katta harfda yozmadim.
Qaysidir maqoladagi kommentlarda dasturlash uchun matematika kerak emas degan gapga ko'zim tushgandi. Shunga fikrimni ham shu yerga yoza qolay :). Shaxsan man matematikani, aniqrog'i modellashtirish, sonlar nazariyasi, algoritmlar va shu kabilarni bilmagan odamni dasturchi hisoblamayman (shu jumladan o'zimni ham). Hozirgi paytda RAD texnologiyalaridan foydalanib hamma ham «sichqonchadan foydalanib» dastur tuzishi mumkinligi bunday fikrlarga sabab bo'lyapti shekilli. Faqat mantiq bo'lsa yetarli deyilipti, lekin bu yerda matematik bilimsiz mantiqni o'zi hech narsa qilib berolmaydi. C++ ni yodlab olib bir masalani yechib berolmagan odamdan shu masalani og'zaki bo'lsada yechimini ko'rsatib bera olgan odamga talab kuchli bo'ladi har doim. Shu sohani mutaxassislarini tayyorlaydigan katta katta oliygohlarda ham faqat c++ yoki java ni o'rgatmaydi, asosan e'tibor matematikaga bog'liq narsalarga qaratiladi. Bularni bilmasdan faqat tayyor kutubxonalaru boshqa narsalardan foydalanib formaga kontrol tashlab o'tiraveramiz. Mohiyatini tushunmaymiz. Misol uchun «binar izlash», «konechniy avtomat» nima? desam shu yerdagilarni deyarli ko'pchiligi avval google dan «so'rab olmasdan» darrov bir narsa deya olmaydi. Vaholanki dasturlar va dasturlashni asosini shu kabi narsalar tashkil etadi.
1
bahriddin
U2B3K, maqtanishmas-u, shaxsan men hozirgi paytda dasturlashdan ko‘ra matematikadan ko‘proq narsani bilaman va tushunaman deya olaman. Lekin dasturlashga qiziqqanim uchun shu sohani o‘rganishga qattiq kirishdim. Aytganingizday qachon algoritmlarda matematikadagi biror teorema yoki nazariyaning tadbig‘ini ko‘rsam, xursand bo‘lib ketaman, chunki ularning nazariy isbotlari va masalalarni yechishda qo‘llaganmiz. Va ishonamanki, o‘rganganlarim bir kun kelib dasturchilarning kuchli raqobat sharoitida juda asqotadi.
0
geniuz
boshlab olgancha kitoblar, qolganiga forum va aynan o'rganayotgan texnologiya/til bo'yicha doclar.
shunaqa momentlar bo'lganki hatto o'sha texnologiyani ishlab chiqayotganlar bilan to'g'ridan to'g'ri aloqaga chiqib so'rab o'rganib qilishga ham to'g'ri kelgan
0
bahriddin
shuning uchun ham so‘nggi qarorni o‘zlariga oldirdim.
0
TITAN-UZ
Rahmat hammani nomidan qaror qimaganiz uchun! :D
1
kholmirzaev
Dasturlash tilini o'rganishda eng katta yordam beradigani kitob. Dasturchilikni o'rganishda eng katta yordamni isxodniklar yani dasturlarni kodlari beradi.
1
DasturchiUZ
Bu maqolani o'qib ustozimning saboqlari yodimga tushub ketdi(Saboqlar hech ham esdan chiqmaydi;) )
1
bobmax
Enng yaxshi natija beradigan usul qaysi o'zi
0