Programming ∀
Відкрити в Telegram
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Показати більше1 354
Підписники
Немає даних24 години
Немає даних7 днів
Немає даних30 днів
Архів дописів
1 354
Anavi linkedindagi infosigani cook qilganda Sohibjon zo'r narsani yuborgan ekanlar ko'rmay qolibman.
Mana sizga hayitlik:
https://songlh.github.io/paper/go-study.pdf
1 354
Navbat azobi. O'zbeklarni azoblash xizmati shu narsada. Kutaverib hayolga nimalar kelmadiye.
1 354
FP tillarni o'rganish ko'p effort talab qiladi deydiganlar uchun.
Ha siz pitoni birnecha hafta, kunda o'rganib nimadirlar qila olasiz. Lekin vaqti kelib skill issuelarizni yopib yuraverasiz.
Nega ?
Chunki darskilarni qanaqadir levelchalarga o'zlaricha ajratib yuborishgan. Lame content ham juda ko'p va yana boshqa sabablar. Masalan pitonchilar, jschilar o'qiydigan adabiyotlarni ko'pida GC va yana bazi topiclardan ma'lumot kamroq yoki sayoz, lekin ma'lum darajagacha bu bilimlarsiz ham yashab yuraverishadi, kerak bo'lsa extiyoj ham sezishmaydi. OOP ishlatadiganlarni hammasi ham patterlarni ishlatishni bilmaydi )) Undan yomoni esa til doirasida conceptlarni ham tilni o'zini ham tayinli tushuntirgan adabiyot yoki resurslar kam.
Hullas resuslardagi yetishmovchilik, zaifliklarni o'zi plusga ishlaydi va tilni tez o'rgansa bo'ladi degan hulosani beradi.
Typed FP tillar va Rustda boshqacharoq - Adabiyotlar sifati yaxshi va hechqanaqa ma'lumot berkitilmagan. Qaytangi o'zingiz ishlatadigan tilni yaxshi o'rganishiz kerakligiga ko'p davat qilishadi. Bazilar esa akademik til, theory ko'p vaxakazo deydi. Lekin sohamizda ikkisini bir biridan ajratib bo'lmaydiku. Qiziq tomoni esa siz ko'rayotgan nazariyalar amalda ishlab kelayotgan narsalarku. Siz qanaqadir yangi theoryni o'rganmayabsizku. Masalan siz bilgan OOPdagi polymorhism ham type theorydan kelgan yani ishlatilinib kelinyabti. Lekin shu polymorphism(lar)ni eplab izohlab berolmaysiz nega ? Sababi shu tehoryni bilmaysiz, sizga odatiy bo'lmagan ko'rinishdagi polymorphismni ko'rsangiz ajratolmay qolasiz. Nega ? Sababi tehory bilmaysiz. Shu sababdan hammasini tushunib tushunmay ishlatib yuraversaiz.
Biz dasturlashni nazariyasi bilan ham amaliyoti bilan ham o'rganamiz. Chunki biz yozmoqchi bo'lgan code ham aslida nazariya )) O'z nazariyamizni amalga tadbiq qilish uchun esa oldindan shunaqa qilib kelinayotganlarini o'rganishimiz kerak ! Nazariya bilan amaliyot In/yan kabi narsa.
1 354
G'alati bir narsa bor.
Masalan biz aynan nimadirni bilmasak ishlatmaymiz. Lekin bu narsa bor ekanini kimdir aytsa "Hechkim ishlatmaydiku !" deymiz.
Buni aynan nima deb nomlanishini, formal nomini bilmayman. Lekin holat shunday. Bu esa biz nimadirni o'rganmasligimizga eng katta bahonalardan biri bo'lib xizmat qiladi.
Yana boshqacharoq argument keladi:
Bu narsani har kuni ishlatmaymanku.
Argument tog'ri ammo bu hechqanday quvvatga ega emas, boshqacharoq aytsak ho'sh ishlatishingiz kerak bo'lgan payitda nima qilasiz ?
Katta extimol bilan hechnima, bunga sabab esa bilmaysiz, albatta biz 21-asrda yashayabmiz biror narsadan bexabar bo'lsan u bilan tanishish qiyin emas, internetdan qdirib va biladiganlardan so'rab hal etsak bo'ladi.
Ammo bir fakt bor:
Biz o'rganadigan bilimlar, qiladigan tajriba asosida muammolarga yondoshamiz. Fanda bir narsa asosida boshqa narsalarga yechim qilish haligacha ishlab kelyabti. Masalan shu logic:
O'zbekchasiga esa mantiq, mantiq matematikada ham dasturlashda ham va yana boshqa ko'plab mavzularda foydalaniladi, umuman olganda juda ko'p joylarga mantiqni adaptatsiya qilishgan va bu bilan domaindagi turli muammolarga yechim qilishgan. Aniq fanlarda ham gumanitar fanlarda ham mantiq aralashtirib qilingan turli yechimlar mavjud. Mantiqning o'zidagi bazi narsalar ham bizni hayotimizga kirib intuitivlashib ketgan.
Huddi shunday sizning bilim doirangiz monochromatic bo'lsa. Demak yechimlaringiz ham shunaqa bo'ladi. Hech qanday kreativ yondoshuv degan narsalar bo'lmaydi. "Optimize DB queries 10x fast" deb CVga yozganingiz bilan hechnima o'zgarmaydi. Agar siz shunday qila olgan bo'lsangiz, demak sizdan oldingi odam query yozishni bilmagan yoki o'zingiz qaytadan o'rgangansiz )) Qilgan ishlaringiz sifatli va creative chiqishi uchun esa albatta ko'plab expirementlar qilish kerak. Ko'pchilik dasturchilar esa creativity naryoqda tursin o'zlari foydalanadigan istrumentlarini yaxshi bilmaydilar. Gap instrumentdagi imkoniyatlar haqida ketyabti.
Undan yomoni esa istrumentlardagi imkoniyatlarni o'zi qanday ishlashini ham tushunmaydilar. Bu esa o'z o'zidan ularda monochromatic bilimni shakillantirib qo'yadi. Bayram muborak !
1 354
Senior vibe coding engineer with 10 years of expirence of buling modern large complex systems.
1 354
O'ylab qoldim, yuqoridagi yuborganim "Four color theorem" kabi, yoki boshqa qiziqarli mavzularni ulashib tursak. Masalan transportda o'qish uchun content deb nomlaymiz )
Bu foydali dunyo qarshni ham oshiradi, qanaqadir vahimalar ham kam bo'ladi.
"O'ta adavanced topic!"
"Akademik narsa"
Hullas shizofiriniyaga qarshi profilaktika desak yaxshi bo'lar ekan va shu nom ostida qiziqarli maqolalarni ulashib turamiz, commentda ulashsangizlar kanalga forward qilib qo'yaman.
Ideya yoqdimi ?
Ha bo'lsa yaxshi. Demak shunaqa qilamiz.
1 354
Effect-ts dan kegin nestjsni ko’rar ekanman, volidol ovolmaganimga afsus qilyabman. Bunaqa “abstraksiya”ni hidini sezmaysizlarmi sasib yotibtiku😁
1 354
Metrikalar do’stingiz !
Hammaga ma’lumki metrikalar bilan biz applicationdagi jarayonlarni tushunib troubleshoot qilishimizga katta yordam beradi. Ko’plab anamaliyalardan tortib tushimizga kirmagan holatlargacha.
Odatda bu mavzularda SRE va Niggopslar qayg’urishadi.
Lekin metrikalarni yana boshqa maqsadlarda ham ishlatsak bo'ladi masalan: Agar metrikalardago falon parametr falonga yetadigan bo'lsa nimadir qilishni avtomatlashtirsak bo'ladi. Aytaylik Disk 85% bo'lsa alert qiladi. Endi yanayam qiziq versiya: agar resurs utilizatsiyasi N% dan ko'payib ketsa. Yangi instance yasash 🙂 Nimadirni eslatmayabtimi ?
Ha biz metrikalardan turli qarorlar qabul qilishni avtomatlashtirsak bo'ladi. Shu orqali dastur o'zini o'zi maintaince qilishi mumkin, lekin bu chegaralangan vahima qivormanglar ! To'liq self maintaince yo'q narsa. Shunchaki bazi aniq vaziyatlarga aniq qilinadigan ishlarni yozib ketish mumkin. Lekin determenistic jarayonlarda bunaqa uslublar ham unchalik yemaydi.
O'zini o'zi scale qilish esa autoscalinga misol edi.
1 354
Programming Language Principles and Paradigms.
Bu darslikni yaxshi foundation deb qabul qilsangiz bo'ladi. Dasturlash tillarini o'rganishga yaxshi introduction va ancha dunyoqarash beradi.
Nazarimda Familiarity Bias masalasiga yechim bo'la oladi.
Kimlar uchun mos keladi ?
Agar siz bitta dasturlash tilida biror muammoni hal eta olasangiz va ushbu dasturlash tilida fikrlasangiz siz uchun.
Bu darslikni o'rganib dasturlash tillari va paradigmalarini yaxshiroq tushunasiz, turli perespektivalardan ko'rishni o'rganasiz. Darslikning yaxshi tomoni esa bu mavzularda o'rganishni istaganlar uchun yaxshi introduction va tushunalardan iborat biror mavzuga o'ta chuqur kirilmagan. Ayni shu faktorlarni xisobga olsak bu ko'pchilikga mos keladi ! Kanaldagi obunachilarni juda ko'pi asosan shu C oilasidagi tillarni bilishadi shu sababdan bemalol ko'pchilikga tavsiya qila man deya olaman. Kursni shoshmasdan o'ting, savollar bo'lsa ham commentlarda qoldiring bilganimizcha yordamlashamiz ! Bilgan mavzularim ekan deb etiborsizlik qimaslikni tavsiya etaman !
1 354
O'ylaymanki agar SQL bunchalik etalon bo'lmaganida odamlar alohida alohida katta kuruglarga bo'linib ketishar edi )))
Aslida esa rivojlanishning ham kaliti tanqid va muammolarga ko'z yummaslikda. O'rinli tanqid doyim kerak !
Siz foydalanadigan til yoki paradigm siz ishlaydigan domainda usefull ko'rinishi mumkin. Masalan javascriptda biror narsani parse qilib ko'ring, masalan o'zingiz json parse qiling. Ana kegin shuni Haskellda sinab ko'ring. O'ylaymanki shunda dasturlash tillariga ham boshqa perespektivadan qarashni boshlaysiz.
