Programming ∀
前往频道在 Telegram
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
显示更多1 354
订阅者
无数据24 小时
无数据7 天
无数据30 天
帖子存档
1 354
Dasturlash tillari haqida o'zim bilgan manbalarni o'qib analiz qilar ekanman. Qiziq narsalarni kuzatdim va shularni bazilarini ochiqlamoqchi edim.
1. Osonlik - Dasturlash tili oson bo'lishga majbur emas. Hamma turlicha qabul qiladi va osonlik darajasi ham insoning bilim dajasiga bog'liq. Agar masalaga biz shu tomondan qaraydigan bo'lsak osonlik degan o'lchovning quvvati kamayib ketadi. Sababi subyektiv va intensiv o'lchov ekani aniq bo'lib qoladi.
2. Ishonchlilik - Tilda qurilgan dasturga nisbatan ishonchlilik masalasi o'ta muhim, lekin tildan hamma turlicha foydalanadi. Masalan haskell zo'r til bo'lsa ham unda ishonchsiz haskellistlar bo'lishi mumkin, ular yoki haskellni yaxshi bilmaydi yoki yana baiz sabablar.
3. Tilga baho berishda oldin tilni o'ziga baho berish kerak - Ko'pchilik solishtirish jarayonida biror dasturlash tilini ekotizimga katta urg'u beradi, ekotizim boyligini tildan ko'ra ustun qo'yadi. Shunday ekan har qanday dasturlash tili haqidagi fikr alohida uning ekotizimi haqidagi fikr alohida bo'lishi lozim. Masalan falon tilda qanday typesystem ishlatilinadi. Falon type system, unda fismadon narsani qanaqa qilsa bo'ladi ? Yani aynan shu dasturlash tiliga qaratilgan savollar jamlanmasi bir contextga olib keladi va imkoniyatlarni constructive solishtirishga sabab bo'ladi.
4. Son vs Sifat - Msdslsn jsda har qanday packageni ishaltishimdan oldin birinchi qiladigan ishim source codega qarash. Sababi sifatsiz paketlar, exploitlar hullas ko'p muammoli narsalar bor. Shu sababdan paket o'zini yaxshilab analiz qilib ko'raman stars vaxakazo ko'rsatkichi yaxshi bo'lsa ham shunday qilaman. Chunki shaxsiy tajribamda turli package corruplar va exploitlarga duch kelganman. Soni ko'p degani sifatli degani emas. Soni kam degani bu imkoniyatni siz qilsangiz juda sekin bo'ladi degani ham emas. Buning sababi esa yana subyektiv yani kim qilishiga bog'liq.
5. Murakkablik - Soddalikga qaramaqarshi argument bilan keltiriladi, ammo shoshmaylik murakkablik bizga qanday tradeoff beryabti ? Nega murakkab ? Biror narsani tez qilish imkoni yo'qligimi ? Unda Go nega murakkab emas ahir gopherlar paketlarsiz code yozishni sevishadi. Nega js sodda ? Tez o'rganiladi. Ammo hechnimaga garantiya berolmaydiku ! Murakkablik va soddalikni bir biriga to'gri qaramaqarshilikda qo'yish kerak degan fikrmning asosi ham manashu. Odatda murakkablik bizga nimalarni taqdim qilishini bilmaymiz, lekin soddalikdan kelgan natijani ham doyim ham taxmin qilib bo'lmaydi.
6. Paradigmalar - Aslida paradigmalarni deyarli hammasi subyektiv. Lekin qiziq fakt mavjud ushbu paradigma qayerda qanday o'zini tutadi ? Masalan OOP tez FP sekin deyishadi. Qizit omoni OOP java yoki C# misolida sekin. FP ham bular misolida shunaqa. Lekin Fp haskellda tez java/c# dan ham tez. Demak paradigma bilan biz perfomance haiqda o'ylashimiz doyim ham ishlamaydi yani umumiy shunaqa ekan deyishimiz adashtiradi bizni. Paradigmalar bizga codeni qanday organize qilish stilimizni belgilab berishidan boshlashimiz kerakdir balki degan fikrga kelganman xozircha.
7. Benchmarklar - Odatda perfomance o'lchovi uchun benchmarklar ishlatishadi. Qiziq tomoni turli tillar turlicha narsalarni ichida optimizatsiya qilgan. Masalan jsda objectlar fieldlari ketma ketligi buzulsa ham tezlikga tasir qiladi. FP tillarda tailed recursioni compiler loopga aylantirvoradi. Hullas bunaqa juda ko'plab optimizatsiyalar mavjud. Shunday ekan benchmarklarni generalize qilish uchun ko'plab faktorlar asosida ballar yeg'ish kerak va analiz qilish kerak anashunda natijalar boshqacha chiqadi, yani qarorlarga arziydigan argumentlar paydo bo'ladil.
1 354
Maktabdagi time killerlar.
Bilasizmi qachongacha ?
Informatika honada lani tog’irlab cs 1.6 o’rnatmagunimizcha.
1 354
Infosiganlarni qoralasam tushunmaydiganlar. O’quv markazlarini yonini oladiganlar uchun ham manashu maqolani tavsiya etaman !
1 354
Gaplarida jon bor. Yaxshi dasturchi qanaqa bo’ladi degan savolga javob qidirayotganlar uchun juda muhim maqola. Translate bilan bo’lsa ham tarjima qilib o’qing!
The Best Programmers I Know.
https://endler.dev/2025/best-programmers/
1 354
Nega hamma inkubatordan chiqgan birxil jojalardaka birxil profile qilib rasm qo’yib oldi ?
1 354
Qiziq narsa hayolga keldi.
Bazi tanishlarim dasturchi bo'lmasa ham o'z ish joyidagi turli ne adekvat, g'alati talab, qoidalarni aytishadi. Shunga o'ylab qoldim nega unday ekan-a?
Hayolimga quyidagicha taxliliy fikrlar keldi.
- Hamma ishlarda ham yuqori darajali kompitensiya kerak emas, shu o'rinda kandidatlar ham aynan manashunaqa parametrlarda bo'lishadi. Masalan oddiy ofis manageri, kotiblikga kandidat bo'lgan odamdan qanaqadir katta kompitensiya kutilmaydi. Albatta bu ham ishga qarab lekin odatiy shunaqa lavozimlarga ko'p narsalarsiz kirish mumkin.
- Kompaniya barcha turdagi ishchilar uchun maxsus qoidalar ishlab chiqishi qiyin, shu sababdan umumiylashtiriladi. Masalan hamma kostyum shim kiysin, ammo dasturchilar, falonchilar bundan mustasino deyilsa boshqaruv qiyinlashib ketadi.
- Bazilar ish beruvchilar qoidalarni aniq argumentlab berolmaydi ham, yani nega bunday ekanini ularni o'zi tushunmaydi. Masalan jschilar nega string Object ekanini tushunmaganidek )) Unaqa tashilotlar o'zlarining ishlash uslublarini boshqa analoglardan copy qilgan, yoki rivojlanish bo'lmagan ammo boshqaruvchilar o'zgarib ketgan va shunda context yoqolgan.
- Yana bir qiziq joyi shundaki bunaqa joylarning juda ko'pi o'zi umuman nima bo'layotganini bilmaydi. Effektivlikni stabil bo'lishini istaydi, bu esa o'zgarishlarni kam qilishga sabab bo'ladi. Shu sababdan streotiplarga aylanib ketgan narsalar bo'lsa ham farqiyo'q muhimi effektivlik stabil yani doyim birxil natija. Masalan 1 oyda 10ta eshik ishlab chiqaryabmiz ! Har oyda 10ta ishlab chiqaramiz ! Bu contextdagi effektivlik birqancha parametrlar jamlanmasi bo'lishi ham mumkin.
- Buyrokratiya - Bu alohida katta mavzu, odatda aqliy mexnatda ham bunaqa jarayonlar ko'p. Lekin shu stabillik beradi, tipo risklarni kamaytiradi. Aslida risklar kamaymaydi balki taqsimlab yuboriladi. Qamaladigan odam bitta emas 10 kishi bo'ladi, shu sabab doyim bir birini ketini kavlashga urunadi va nomutonosib tabaqalanish paydo bo'ladi.
Yuqoridagi narsalardan kegin esa soft skill mavzusidagi juda ko'plab tar'ibotlar hayolimga keldi. Soft skills = Hard skills masalan ))
Boshqacha aytganda kompaniya tizimlari ma'lum templatelar asosiga qurib tashlanadi. Oqibatda esa ko'pchilik biror narsani bilmaydi ham o'zi bu tog'rimi yoqmi, kerakmi yo'qmi. Managerlar keladi o'zicha bilgan zooparkini uyishtiradi, o'rniga boshqasi keladi va uyam shu yangi teater qo'yadi tamam. Ish boshqaruchi, manager hullas bularning kompitensiyasi umuman yo'qligi shundoq sezilib turadi tanqidga makillab qolishidan tortib o'z gapini isbotlashni bilmasligigacha.
1 354
Jamiyatga dasturchilar kerak !
Nafik kerak ? Barbir vaybkoderlikdan uyog'iga aqli yetmayabtiku.
Katta gapirish kerak bo'lsa taxminan bunaqa bo'lsin.
Jamiyatimizga N=NP muammosini hal etadigan olimlar kerak !
Shunda odamlar qiziqadi bu nimaligiga, orasidan potensial chiqadi. Shunday ekan oynayi jahonda gapiradigan gap so'zlarni o'ylash kerak...
1 354
Siz bilgan general purpose strong typed tillar strong typed emas !
Agar siz Haskellni bilmasangiz.
1 354
Bir do’stim juda zo’r ishga joylashdi. Ishonavering uzbda bunaqa job yo’q xatto eshitmagansiz.
Eng qizig’i shundaki:
Yangi ishga o’tgani haqida 4 qatorlik elon yozibti ajabo shunaqasiyam bo’larkan-a ?
1 354
+3
Daftar ishlatmay qo'ydik !
Bir do'stim hayolidagi narsalarni rasm qilib chizib o'tiradi. Lekin man bosh daftarni doyim ko'tarib yuraman.
Richard Feymanning Calculus o'rgangan vaqtida yozgan daftari ekan.
1 354
Juda ham ko’plab narsalar biz u bilan tanishishmizdan ancha oldin boshlangan. Bizga yetib kelganlari esa ancha keyin chiqgan versiyalar bo’lishi va kerak bo’lsa birnecha 10yillar oldin ilk versiyalari paydo bo’lgan bo’lishi mumkin.
Nimadirning mavjud bo’lishi qachondir hype bo’lishiga sabab bo’lishi mumkin. Hype atrofida esa doyim mish mishlar tarqladi vaxakazolar.
Qiziq tomoni hype davrida va undan kegi ham auditoriyaning asosiy qismi hype narsa haqida shaxsiy fikrlariga ega bo’lmaslikda.
1 354
30 daqiqalik kutish bilan azoblanyabman.
Shunday ekan har qanaqa savolingiz bo’lsa berishingiz mumkin.
1 354
Internetda sal qaltisroq fikr bildirsangiz yoki ochiqcha nimadirni aytsangiz radical, toxic nomini berishyabti.
Nega bunchalik latta bo’lib ketyabti jamiyat ? Sal achiq haqiqat ko’ngilchasini sindirib qo’yadiye.
