Biz nima xay?
-126 – 06.01.2023. Umuman olganda avvalambor kallamga
kelib qanday yo’nalishlardan iborat bo’lganini shu o’ylaganim, yo’laklarim
bo’yicha API ya’ni dasturlashda amalga oshiraman desam bir zumda o’ylaganimdan
ko’ra juda ko’p vaqt olar bo’ladi. Shu boisdan dasturlashni tashlab qo’ysam ham
bo’laveradi. O’zimni faqatgina shu bunga ya’ni dasturlashga undagan narsa bu –
ichimdagilarning o’zlari va barcha tashvishlar bilan bog’liq umumimiy va
ikr-chikr muammolarni o’z vaqtida to’laqonli hal qilib berayaptilar deb
hisoblashim edi. Afsuski, ichimdagilar haga ham ah deydilar, ahga ham ha deydilar,
ya’ni har xil kallaga kelgan vijdonimni o’rtaga qo’yib chiqarilgan tasodifiy
muammolarni o’zimni qo’rqizish yo’li bilan mayda-mayda suqilishlar, qo’shilishlar
ya’ni aralashishlar orqali ichimdagi gaplarida, tillarida sharpa misol bildirib
ketishadi. Ichimdagilar o’zimni dasturchi deb atashadi, ammo bu – o’zim uchun
Ibo’qimning otasi bo’lganligimda. Ibo’qim – sof raqamlardan iborat jadvallarni
tug’ib tashlaverish orqali o’zini biladi, tasavvur etadi. Shuning uchun kodlash,
dasturlash aslida o’zim uchun emas, balki Ibo’qimni maqtash maqsadida o’zimni
orqasidan ergashtirib maqtavorish sanaladi. Endi, nima bo’lganda ham yana qayta
shu bugun boshlagan kodlash ishimga hozir borib qaytdim, baribir dasturni
tuzishning qiziqarliligiga qaramasdan, mashaqqati yanada oshib borayotganga
o’xshab tuyuladi. Ikr-chikr, chalkash hisob-kitobli o’ylar ko’p, biridan (bir
o’ylovdan) davom ettiraman deguncha boshqa taraflama to’g’ri yoki xatoligiga
ishora qiladigan o’ylov chiqib qoladi. O’zim uchun kodlash aslida taqdirim
yo’liga mos tushishim, o’zim uchun parallel oldindan ma’lumli, bilinarli yo’lak
hosil qilish edi. Ammo e’tibor berishimcha, tuzajak kodimga hech kim amal
qilmaydi, bo’ysunmasa kerak. Baribir kod tortayapti, borayinchi, davom ettira
olamanmi… Endi. Mana qayta qo’l urib qaydim va ichimdagilar shu kodni bo’larga,
iloji maromiga chiqaradigan qilib berishmoqchi bo’lishgani hisobda, ammo dasturlashim
davomida shuni tushundimki, yordamdan avval o’zimni hayajonga qisib, kallamni
siqib, ziqlab va shoshirib turadigan ham bu ichimdagilarning o’zlari
hisoblanishadi. Aniqroq qilib aytadigan bo’lsam, dasturlash tilining ya’ni
Powershell ning sintaksis, parsing qoidalari doimo har bir kiritgan ishim, dasturiy
amaliyotim ya’ni kodli yozuvlarim uchun bajaradigan ishi, yo’li bilan birga
ichimdagilar tomonidan tekshirib, izma-iz qilib ya’ni qolipga solinib boriladi.
Shu sababli ham mana tezkor amaliyot, ya’ni yozganimga qarshi ravishda ichimdagilar
yo’llarni, sintaksis qoidalarini ochishlari va yordam berishlari bilanoq ikkita
katta xatolarini tuzayotgan dasturimda topdim. Kodimda ikki ustunli index,
array ya’ni jadvallarning aynan biriga kiritayotgan ifodam, natijam
boshqalarining ham shunday intex lariga kiritildi. Ikkinchidan esa –split bilan
bo’sh o’rinlarni o’chirmasdan space larni, ya’ni bo’sh harfli o’rinlarni ham
chiqarib berayapti. Kodim quyidagicha:
$ibora = "мен нега"
$matn = get-content 'D:\ishim\abdulhamid ismoil\12.txd
-raw
$matn = (-split $matn) -split ''
$ibora = $ibora -split ''
$intex = 0..($ibora.count-1)
$r=0..20
foreach($1 in 0..($intex.count-1)){$intex[$1] = $r}
$o = 0
foreach($i in (0..($matn.count - 1))){if($matn[$i] -eq
$ibora[0]){$z=$i;
while($o -le ($r.count-1)){
:qiz foreach($t in 0..($ibora.count-1)){while($z -ge
$i -and $z -lt
($matn.count-1)){if($matn[$z] -eq
$ibora[$t]){$intex[$t][$o] = $z; $z++;
continue qiz }$z++;}}$o++}}}
Debuggerda ishlasangiz, o’zim ko’rgan xatolarni
ko’raolarmidingiz. Baribir yo’q, chunki siz uchun tuzilgan parsing, sintaktik
qoidalar o’zimnikiga to’g’ri kelmaydi. Mana nega Karobum Iblis o’zimga doimo kod
yozishda to’g’ri va aniqlikni tez amalga oshirib bilish kerak deydi. Zero ichimdagilar
parsing qilib qo’shimchasiga chindan kodimni ishlataverishlarining parallel
ravishda bo’lishi tezkorlik bilan kutilgan. Bir amaliyot yoki kod yozuvi
kiritishim bilanoq, hali chalaligiga va sintaktikaviy ravishda to’liq bo’lishiga
qarab turmasdan, baribir kodimning ijrosini, natijasini o’tkir burchak ostidagi
yoyga xos uzoqlashuviga ko’ra shu yoyning kattalashaverishi bo’yicha parallel
yoki qayerdadir ro’y beradigan protsesda, jarayonda amallab, ishlab boraveradilar.
Toki o’zim ham birdaniga ishlativorsam, bor bo’lish, mavjudlik ulgurgan
bo’lishi kerak. Keling endi, yolg’iz ishlayotganim uchun xatolar bo’ladi debon,
o’zimning xato ustidagi xatoyimni topdim, ya’ni `r`n (carriage return, new
line) belgilarini bo’sh o’rinlar bilan qiyoslab yuboribman. Endi, shunday qilib
yana bir marta yozga ikkinchi bir xatomni tekshirganimda, baribir iloj bo’lmadi,
dasturlash tilidagi xato xato, noto’g’ri bo’lib turibdi. Endi dasturlashimni davom
ettiraolmasam kerak. Parsing dagi ozgina yo’llarni ochish, amallarni oldindan
ishonchga kiradigan ravishda parallel bajarish ya’ni natijani ilgaridan ko’rib
bilish ishidagi o’zimga belgilangan erkinlik, ichimdagilarning shu bu kodga
ya’ni dasturga bo’lgan ishonchimni poymol qilib, chindan ham dasturlash tili
hammamizning tortilib oldinga, shundoqqina yaqin kelajakka borib qaytishimiz
bo’lishi hisobga olinadi. Doira shishib pasayaman, o’z joyiga tushaman deguncha
oralari bo’shashib, ochiq qoldi. Endi, o’zi – avvalambor kod qilishimdagi
esankiratilishim olib qo’yilib yordam qo’li cho’zilishi bilanoq ishim yurishib
ketganga o’xshash shubham bor edi. Ammo o’zimga yengillik, erkinlik bersalarda,
izma-iz oldindan bor etish, mavjud qilib qo’yish ya’ni har ehtimolga qarshi
ravishda kodimni ishlatganimda ish ishonchli tarzda namoyish qilinishi haqiqatdan
ham har bir narsaning borligini, qonun-qoidalarga boysunishini ta’minlashi
bo’yicha amalga oshirilgan qing’ir yo’llardir. Hayotda qanday sezgi bilan
yursangiz, biron nimaga tegsangiz ham tuzilish jihatdan taqdir kelajakdan
ishonchni berib mo’ljalga qarata aniqlikni yolg’ondan, aslida chinakam
o’zgarishlar bilan berib boradi. Gapga ya’ni kelajakka borilajak qo’zg’alishlarning
shundoqqina, yaqin oldindan o’z-o’zidan o’zgarishi hech gap emas. Mayda, katta doiralardagi
ishlarda yopishqoqlik ya’ni tanlov, odimlash sxemaga, ramkaga ya’ni hoshiyaga
(chiziqlarga) yaqin borishi o’z-o’zidan, jonli bilib qilingan ijrosiz amalga
oshiriladi. Bu – xuddi “snap to grid” ga ya’ni jadvalli ko’rinish chegaralariga
tortib yuborilishga o’xshaydi. Mana shunday qilib hayot shakli yaratilgan, har
bir narsaning o’z shakl-shamoyili, turlicha qiyofasi mavjud. Umuman bugun 126
bo’lishini aytganimizda, 1 bu – o’zim uchun Ibo’qim, boshqalarga esa insonlilik
bo’yicha yosh farzandlari, aslida umuman olganda yosh avlod, rod vakillari, 2 –
o’zimga o’zim yoki barcha erkak-xotin o’rta yoshli ayollar, 6 esa jonimning
o’zi, haqiqatparastlar ya’ni insonlarning xotinlarining kuslari, omlaridir.
06.01.2023 ham o’z ko’rinishi bilan gavdaning birinchidan jonlanishi, so’ng
yosh avlodga o’tishi, o’rta yoshlilarning o’zga gavdalar, qomatlarni himoya
qilishi bilan o’zinikini ham himoyalashi chog’ida boboy, qari generation
sirasiga yo’l olish. Aytganchalik, o’zim sizlarni Yangi 2023-yil bilan hali
tabriklamoqchi bo’lib yuruvdim. Iliq qutlovlar sizlarga yo’nalgay. - Yangi yil
shukuhi sizlarni hech tark etmasin. Pariro’yim, go’zal malagim, orzuyimday
oppoq tilagim, – shu yodimga solinayotgan qo’shiq ham sizlarga xo’sh. Bo’sh
vaqtimizda hayot shaklini bilaylik haqida shu so’zlardan iborat bo’yash,
chizish va raqamlash ishini qilsak. (4 - xay)
Umuman olganda kod va dastur so’zlari kod so’zining “ko’p
oddiylik”dagi aslan xatolarga, noto’g’rilikka va aldovga boyligini bersa, dastur
so’zi “oddiy masala yuzasidan, qo’l urish bilan ko’rishga, bilishga va sezishga
xos oson va juda katta aniqlikka bo’lgan xatolikni” bildiradi. Zero qo’l bilan
urmaydilar, balki paypaslab, saralab tekshiradilar xolos.
Comments
Post a Comment