en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Programming ∀

Programming ∀

Open in Telegram

Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.

Show more
1 354
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Faqat salary va fikrlar mutable bo’lishi kerak !

NixOsda 4kun. Hulosalarim bogshlang'ich. Juniorning fikri qiziq degan gap bor )) Bunaqa fikrlamaysizda doyimam. Yumoroq vaziyat: Nix syntax macosda haliyam ishlamadi, shell ishlladi mayli, ammo nix-ide ishlamadi buni ham tog'irlayman albatta. Lekin ochigi tozza hunob qilid ; esdan chiqaverishi. Man ishlagan dasturlash tillarida yoki automatik ; qo'yiladi yoki bo'lmasam umuman yo'q. Positive: 1. Nix syntax manga juda yoqdadi, terraformda ham taxminan shunaqa syntax. Yamldan ancha aqilli, groovy, conf filelardan yuz marotaba zo'r ! 2. Agar nimadir conflict bo'ladigan bo'lsa nix oldindan shuni evanulate qilganida aytadi conflict bor deb. Hechqaysi package managerda bunaqa emas, hammasi tupoy. 3. Easy rollback. Masalan man harbaloni kavlayveraman, driverlarniyam boshqasini ham. OS ni asosan shunaqa buzaman. Nix esa bu borada rollback imkoniyatini beradi. Man eski versiyaga o'tsam bo'ldi hammasi go'zal. Masaln bir marotaba adashib desktopni o'chirib yubordim. Faqat shell bo'lib qoldi. Kegin bitta eski versiyaga qaytdim va xatoni tog'irlab tushunib, fix qildim. 4. Nix-shell alohida kayf, masalan man pythoni juda kam ishlataman. Ammo kerak bo'lib qoldi. Manashuni o'zini alohida shell uchun o'rnatib olsam bo'ladi. Birnecha qator nix code va manda kerakli python bor. Ishlataman va o'chiraman defaultda turmaydi )) 5. Nix-virt, wow haqiqiy tema, shunchaki libvirt enable qilasiz, qemu, kvmlar o'rnatasiz. Virtualkalar bilan tricklar uchun ayni payti. Bosh og'riqlarsiz. 6. Multi device support, masalan sizda turli device va turli arxitektura bo'lsa hammasiga alohida config qilishiz mumkin. Lekin applar, va yana bazi doyimiy configlarni bitta joyga yozasiz, qisqasi DRY. Nix bu borada judayam zo'r. Man bitta configda, bemalol macbook, linux laptoplar, serverlar uchun qilib chiqsam bo'ladi kegin keraklisida keraklisini ishga tushiraman tamam yana qanday bo'lsa o'sha holatga keladi. Negative: 1. Hamma paketlar ham yo'q, ammo nix package manager ancha boy anchagina ! ML tools bilan qiynaldim, masalan opencv, tenserflowlarni o'zim build qilishimga tog'ri keldi. 2. Storage ko'p joy oladi garbage tozalab turish kerak. Hulosa: Negative masalalar ham juda critical darajada emas, bemalol hamma narsani eplash mumkin sabr bilan o'rganish kerak tamam ! Manga NixOs falsafasi ham o'zi ham juda yoqdi ! Tavsiya etaman.

Shaxsiy brand degan narsa moda bo'lgan-a xozir. Eng qizig'i hamma shaxsiy brand degan narsani tushunadi-ku ammo "Shaxsiy" yoki "Shaxsiyat" degan qismlarni tushumaydi. Ommatan gapirib tashlayverilgan tog'ri notog'ri, ezoterika asosi bilan berilgan barcha ma'lumotlar shunday holatga olib keladi odamni. IT da shaxsiy brand SMM emas, IT sohasi vakili sifatidagi personality ! Umuman shaxsiy brand tushunchasi biror shaxsiyatning jamiyatga qila oladigan contributioni ustiga quriladi. Sohta yasalgan personalitylar orqasidan bir biriga mos kelmaydigan gaplar kelib chiqadi. Bunaqa odamdan hechkimga hechqachon foyda bo'lmaydi, qaytangi insonlarni chalg'itadi, va yasama mashxurlar aynan shunaqa narsalar ketidan paydo bo'ladi. Masalan man kanalda shaxsiy brendan ko'ra ko'proq carier history qilishga xarakat qilaveraman. Biror mavzudagi tajribalar asosida shakillangan hulosa va fikrlarim. Bu narsani brandingdan ko'ra tarixga ox'shatganimning sababi manda jamiyatga katta contribution potensiali yo'q, bo'lishini hohlayman va shunga xarakat qilyabman va bilamanki boshqalar ham harakat qilishyabti. Aynan shu sababdan post ko'rinishda hammasini izohlashga xarakat qilaman. Boshqalarni bilmadimku ammo aniq ayta olamanki manga kanaldagi discussionlar juda yoqadi chunki ko'pincha offtopiclar kam bo'ladi. Post mavzu va ketidan disussion. Shaxsiy brandni o'zimni holatimda qachon va qandanday tassavur qilaman aytaymi ? Masalan biror yaxshi ish ustida ishlab yangilik qilsam, biror yaxshiroq mavzuda kitob yozib shu bahonda tajribamni ulashsam ! Hamma odamlar emas, sohamdagi toplar ham mani mutaxasis deb tan olsa... Sohta personality va yemagan shaxsiy brandlarni asosan odamlar tan oladi, mutaxasisslar emas. Birnecha yil oldin bir professordan savol so'ragan edim. Qanday qilib sciencega kiraman ? Qanday olim bo'lishim mumkin ? Javob: Seni agar olimlar hamjamiyati tan olsa, shunda olim bo'lasan ! John Nash kinosi ohirida boshqa kollegalari ruchkasini beradiku o'shanda aniq ko'rgan edim olim bo'lib tan olinish jarayonini ))) Albatta bu kino, yoki reallikda ham shundaydir muhimi kino bilan juda zo'r yoritib bergan jarayoni. Shunday ekan, man el qatori ishchiman 😃

Man OOP o'rganayotganiimda ham Bob amakini ideyalogiyasini maqullamaganman.

Bir narsaga doyim kulgim keladi. Ko'p kompaniyalar o'ziga boilerplate qilib oladi va aynan shuni asosida ishlaydi. Boilerplate esa aynan qanaqadir boshqa boilerplate(framework) ustiga qurilgan bo'ladi. Commoon guys bunchalik tuppoy bo'lmanglar... DSL masalasida biroz nimadirni tushunsa bo'ladi, chunki bazida DSL rostdan ham katta effect beradi. Masalan qanaqadir libni DSL holatgacha olib kelindi, nu okay sababi DSL domaindan chiqib ketmligini control qilsa ham, normal maintaince qilsa ham bo'ladi. Ammo boilerplate realniy musor narsa, backward capability va customizationlar qilib bo'lmaydi... Layered architecture va Bob amakini izdoshlarini umrim ohirigacha tushunmay o'tib ketsam kerak...

Inson biror notanish narsaga duch kelsa va biroz qiynalsa anashu narsaga nisbatan negative fikrlar va hissiyotlar paydo bo'ladi. FP haqidagi safsatalarni ko'pi manashunaqa holatlardan kelib chiqganiga ham guvoh bo'lganman. Kegin nolib yuradi FP qiyin haskell esa white paperlarda deb 🫠 Atayin birqancha hamkasblarga Haskelldan asosiy narsalarni ko'rsatib berdim va normal qabul qilishdi 😁 Masalan compositionlar, recursion, immutability yana bazi boshlang'ich narsalar. Birxil codeni imperative va functional styleda yozib ko'rdik, laziness va strictness farqini biroz o'rgandik. Ko'pchilikga Haskelldagi qisqa code va purity ideyalari yoqdi va ko'pchilikda oson ekanku degan hissiyot paydo bo'ldi. Umuman olganda hursandman sababi practiceda arzimas narsalar bilan bo'lsa ham boshqalarga share qilib ulardan kelgan savollarga javob bera olganim uchun. O'ylaymanki qachondir shu hamkasblar bilan yana qachondir haskell bilan contributing qilayotgan bo'lamiz.

Radikallik - Bizda biror narsaga nisbatan keskinroq fikr bo'lsa darxol radikalizm bilan ayiblanadi. Ho'sh xozir sizlarga radikalism nima ekani haqida gapirib o'tirmayman o'zingiz internetdan izlanib ko'ring. Man aytmoqchi bo'lgan narsa ma'lum yasama obraz vakilari tomonidan hammaga qo'yilayotgan tamg'alar haqida ! Masalan umrida code yozmagan, dasturlash haqida ham computer science haqida ham tayinli tassavuri bo'lmagan odam dasturchi 24/7 ishlashi kerak qabilida gaplar gapiryabti. Yoki bo'lmasam ma'lum sohada katta tajribasi bo'lgan odam o'zi umuman bilmagan soha haqida hohlaganini gapiryabti, ammo unga biroz etiroz bildirisa eshitmayabti. Fikrimcha manavu tiktokerlar, vaynerlardan ko'ra ko'proq jamiyatga ziyon keltirishi mumkin bo'lganlar mavjud. Agar IT misolida aytadigan bo'lsak "Dasturchi mardikor" deydiganlar kabi insonlar. Low code kelajak, AI dasturchini replace qiladi ! Hullas manashunaqa safsatabozlarning zarari ko'proq. Albatta man IT misolida aytdim hamma sohada mavjud aynan shunaqa toifalar. Ular o'zlarining himoyasi uchun ham keskin fikr va argumentlarni bildirayotganlarni radikal va toksiklikda ayiblaydilar. Bilamizki inson psixologiyasiga muloyim va hushmomilalik ko'proq yoqadi... Ko'zingizni oching hatto ertaklarda ham tulkilar muloyim va ayyor ))) Bizni sohamizdagilarda biroz keskinroq harakter bo'lishi ham tabiy. Ahir aniq fanlar bilan shug'ullanamiz va proof bo'lmasa qattiq tanqid qilishimiz normal holat.
Akajon siz manavu joyda biroz adashibsizda mumkin bo'lsa tog'irlab qo'ysangiz
Toshmat ! .... Gaplar xato sababi ... bo'ladi ! Bu muomilasizlik yoki radikalism emas balki aniqlik va ratsionallik ! Biz hamma narsani aniq, qisqa, lo'nda bo'lishini istaymiz va vaqtni qadrlaymiz. Manashu xarakter sababdan science mavjud, oqimga qarshi bora olish tufayli boshqalar hayotini osonlashtirishga xizmat qilamiz. Bizni vaqtimiz yo'q qanaqadir safsatabozlarni gaplarini muhokama qilib raddiyalar qilgani. Shu sababdan hohlaganini gapirish mumkin deb o'ylashadi. Aslida ko'pchilik ularni shunchaki ignore qiladi bunga sabab esa ularning kompitensiyasi yo'q ekanligi. Bunga ratsional qarasak normal holat. Agar hissiyotlarni aralashtirsak mutakabbirlik ! Manashunaqa qarashlarni deb bazi bir insonlar o'ta radikallikda ayiblanishadi, va bunaqa noxaqliklar ishlab kelmoqda. Aniq fanlar asosiga qurilgan hamma narslar aniq isbot talab qiladi. Aniq isbot esa hissiyotlardan ancha yuqori darajada. Birgala safsatabozlarning gaplari yemayotgani va ishlamayotganiga sabab esa ularda isbot yo'q ekani va ular bu sohada shunchaki samozvanetslar ekani... Qaytaraman siz dasturlashni eng kamida muhandis bo'lish uchun o'rganasiz. Muhandis esa mardikor emas bunday bo'lmaydi. Muhandislar olimlar qilgan kashfiyotlarni hayotga tadbiq qiladigan insonlar ! Olimlar ham hechnima yaratmaydilar kashf etadilar. Kashf etish yaratish emas yaratish esa inoniyatga emas ))

Bundan taxminan 3 yil oldin bir narsa hayratga solgan edi. Senior title olgan developer ammo tayinli texnik bilimga ega emas. Ha bu narsalar nisbiy ekanini bilaman. Lekin bir narsani tushunish kerak har qanday narsani yaxshi fundament asosiga qurilsa ajoyib bo'ladi. Masalan unumdor tuproqga ekilgan mevali daraxt cho'lga ekilgandan ancha boshqacha bo'ladi. Shu sababdan bir narsani unutmaslik kerak, o'zingizni aldamang ! Jiddiyroq narslarga xarakat qiling yoshlikda qancha ko'p narsaga erishsangiz, qo'lingizda qancha ko'p narsa bo'lsa shuncha kuchli bo'lasiz. Vaqti kelganida esa hechkimga kerak bo'lmay qolasiz sizdan hechnima qolmaydi. Xozirda yosh ekanmiz demak o'zimizni aldamasdan fundamentni baqquvat qilishimiz kerak, bizga qandaydir wow title emas bizga yaxshi fundament kerak ! Drammalar bilan o'zimizni aldasak vaqti kelib bizni ham aldab chetga chiqarishadi... https://www.youtube.com/shorts/unUB4zx7PEQ

Bizda chet eldigiday darajda bo'lmasa ham aynan manashu communitylar juda progressive rivojlanyabti deb bilaman aslida esa hammasiga biroz vaqt kerak, bizda ham birnecha yillardan kegin boy tajriba egalari ko'payib community qadrini yanada oshiradilar. https://t.me/programming_everyone/2664

Manda aynan community shakillantirish umuman ularni support qilish masalasida biroz bo'lsa ham tajriba bor va bundan foydalanib quyidagilarni ayta olaman. 1. Communityda adekvatlik va suxbat madaniyati bo'lsa hech qachon conflict chiqmaydi. Umuman eshitish, analiz qilish va fikr qilish madaniyati yaxshi bo'lsa hammasi norm. 2. Aniq maqsad asosida qilingan suxbatlar doyim foydali bo'ladi. Shu o'rinda tanqidlar fikrlarga qarshi bo'lishi kerak shaxsiyatga emas. 3. Communityda hammani bir joyga jamlagan mavzu bor ekan demak anashundan chiqmaslik kerak. Mavzudan boshqa offtopiclarni sekin boshqa joyga ko'chirish o'rinli bo'ladi. 4. Community ma'lum qonun qoida va tartib asosida bo'lishi kerak. Bu esa o'z o'zidan bir mavzu qayta ochilmasligi, hollywarlar kam bo'lishi kabi muammolar extimolini juda pasaytiradi. Hulosalarim: Community hamma narsa - Umuman olganda har bir azo bu yerda yordam oladi va yordam beradi. Birgalikda rivojlanishga va nimagadir erishishga juda zo'r muhit deb bilaman. Shu asosida birxil qiziqish vakillari bir birlarini topadilar, fikr tajriba almashadilar. Masalan aynan scala communitylarda xozirgi tranditional yechimlar va FP va scaladagi yechimlar orasidagi farqlarni o'rganib chiqgan edim. Shu sabab community qancha tartibli va tajribali bo'lsa shuncha qadr qimmati yuqori bo'ladi va sifatli support bo'ladi. Siz qayerdadir qotib qolganingizda shunchaki tekinga yordam beradigan va qo'llaydigan community bo'lishi sizni yanada kuchliroq va bilimliroq qiladi. Umuman turli communitylar sabab do'st va hamkasblarim ko'paydi va ulardan doyim nimadir o'rganaman. Shu o'rinda o'zim bilgan biror arzimagan narsani ham boshqalarga share qilish qarzim deb bilaman.

Taxminan 6-7 yildan ko'proq muddat faqat Gnomedan foydalanibman 🙂 Endi esa KDE, hayotni yorqin tarafida bo'lay dedim )) NixOs bilan bo'lgan 2 kunlik jangu jadallardan so'ng, yaxshilab ujen qilib o'zimni xursand qilib piyoda yurib mana endi mazza qilib o'tiribman. Asosiy configlarim tugadi endi multi devicega moslashim kerak. Linuxga qaytish huddi vatanga qaytish kabi hissiyotlar bedi yuqori efariya 😁 Endi dasturlashdagi afsonalar rubrikasini davom qilsak bo'ladi.

China, mashina...
China, mashina...

Kimdir boyidi kimdir o’sha o’sha holatda…

Хакеры массово взламывают аккаунты X и рекламируют токен $HACKED ИБ-специалисты заметили, что в социальной сети X (бывший Twi
Хакеры массово взламывают аккаунты X и рекламируют токен $HACKED ИБ-специалисты заметили, что в социальной сети X (бывший Twitter) произошла волна взлома аккаунтов. Через скомпрометированные учетные записи хакеры рекламируют токен $HACKED на блокчейне Solana, который в итоге начал пользоваться популярностью. Читать полностью #xakep @linux_potok

Yana qanday shunaqa mifologik masalalar bor 🤔

FP uchun matematikani yaxshi bilish kerak
Ammo savol tug'uladi, matematika juda katta ocean. Aynan nimani bilish kerak ? Arifmetika ham matematika va buni bilish ham qandaydir matamatik bilim. Matematikaning sohalari va fieldlari biz tassavur qilgandan ham katta ekanini bilganmizda aniqroq gaplar aytishni o'rganamiz )) Sababi matematika hamma yerda bor va hamma joyga aralashgan. Hamma sohaning matematika qismi bor desak bo'ladi(Istesnolar bo'lishi mumkin). Qisqasi bizni oddiy hayotimizdagi ishlarda ham matamatik bilimlardan foydalanamiz. Demak matematikani yashab qolish uchun ham bilish kerak )) Endi mavzuga qaytamiz, lekin undan oldin JS/TS da birnecha yillik backend va ozgina muddatli frontend tajribamga ko'ra bemalol ayta olamanki, matematikaga shundoq ham ko'p ishim tushgan. Masalan frontenda custom turli componentlarni qilishimda ularni responsive qilishimda ham math kerak bo'lgan. Backenda esa yoki biror matematik conceptni bilmasdan shunchaki tadbiq qilganman yoki yo'l yo'lakay o'rganib ketganman. Qisqasi hayotim davomida matematikaga ichidagi fanlarga murojat qilganman bilib yoki bilmasdan. Aynan webgl da ishlaydigan leph0 oka ham matematikani bazi bo'limlarini o'rganganlar va haligacha o'rganadilar. Sizga xozir yuqorida aytib o'tilgan hamma domainda ham matematika bor ekanini tushuntirmoqchiman. Bazilarida asosan arifmetika yetsa yana bazilarida biroz ko'proq bilimlar kerak. FPga qaytamiz, yuqoridagilardan hulosa qilsak, agar Toshmat Haskellda backendchi bo'lmoqchi bo'lsa. Nima qilishi kerak. A. Agar Toshmat JS/TSni bilgan bo'lsa va shunda backend tajribasi bo'lsa. Haskell o'rganishi kerak. B. Agar Toshmatning birinchi o'rganayotgan tili Haskell bo'lsa, backend uchun keraki matematikani o'rganadi yo'l yo'lakay. Boshqacharoq aytaman, Toshmat uje backendchi faqat nodejs da backend yozadi. Ammo u Network, Database, OS bilimlarini ham o'zlashtirgan, chunki bularsiz normal backenchi bo'lish ham ertak )). Endi shu holatda Toshmat Haskellda backendchi bo'lish uchun yana qayta boshlaydimi hammasini ? Albatta yo'q, lekin Toshmat backendchi bo'lmoqchi bo'lsa unga faqat Nodejs, yoki Haskell yetarli deb hechkim ayta olmaydiku ! Qo'shib DB, OS, Networkni ham o'rganadi. Hulosa: Biz qaysi domainda ishlasak shunga tegishli matematikani o'rganamiz ! Kerak bo'lsa fizikani ham o'rganamiz, biologyni ham o'rganamiz. Chunki biz ishlaydigan domainda bular fundament ! Demak kimdir FPda backend yozmoqchi bo'lsa FP o'rganadi va backend uchun kerakli matematikani o'rganadi. Masalan dbdangi table ichidagi aynan biror qatorni olib kelish uchun yozilgan SQL query FP da ham OOP da ham boshqasida ham birixilku )) Hulosa pro max: Biz backendchi bo'lmoqchimiz, ammo eng mininmal holatda shu embedded DB SQLite ishlatib ko'ramiz. HTTP apilarimiz semantic bo'lishi uchun aynan shu protocolni o'rganamiz. Qaysi vakansiyada ko'rgansiz: Bizga faqat nodejs yoki Java yoki yana boshqasini biladigan engineer kerak deganini )) Shu sabab soha ma'lum sub sohalarga bo'lingan va shu subsohalar esa ma'lum domain va subdomainlarda farq qiladi. Masalan qanaqadir CRM uchun backend yozish bilan biror chat application uchun backend yozish umuman farqli ekani bizga ma'lum. Shunday ekan biz agar backendchi bo'lmoqchi bo'lsak, Databases, OS, Network kabi fundamental bilimlarga qo'shim matematik bilimlarni ham o'rganamiz. Endi savol, biz biror dasturlash tili yasamoqchimiz yoki aynan shu Compiler engineering domainda ketmoqchimiz. Matematika kerakmi ? Topdingiz albatta kerak, sababi hamma sohaning matematikasi bor ekanini yuqorida isbotladik. Unda nima qilamiz ? Qo'rqib tashlab ketamizmi ? Albatta yo'q ! yo'l yo'lakay davom qilaveramiz. Bilmaganimizni o'rganamiz. Agar biz ML engineer bo'lmoqchi bo'lsak ham aynan ML uchun kerakli narsalarni o'rganamiz !

Performance - implementationdan kelib chiqilib aytiladigan narsa. @keilambda

Qauality - Soddaroq aytsak FP da katta funksional o'z o'zidan scopelarga ajralib ketadi inuitiv darajada. Masalan tail recursion uchun helper function qilaman deysiz va heper alohida scope bo'ladi. Sizdagi logic esa ikkiga bo'linib qoladi. Bilasizki sizga loopdan ko'ra foydaliroq narsa bu recursion chunki hammasi bir biriga mos keladi. Strong va static typing kuchi bilan code o'z o'zini documentated qila oladi. Hamma joyga ham yana alohida context berib ketish shart emas. Biror joyda nima bo'layotganini ham type levelda ancha informationlar bo'ladi. Debugging masalasiga kelsak sizda oldin bo'lishi mumkin bo'lgan null pointer exeptionlar va yana boshqa bazi gemaroylar avvalidan oldi olingan. Hullas codebase ancha sifatli va ergonomik bo'lishi kafolatlangan ))

Odatda bir muammoga yechim izlab A. Boshqa muammolarga duch kelasiz. B. Boshqa muammolarga ham yechim topasiz. Manda aynan ikkinchisi, o'rganish davrida oldin bo'lgan juda ko'p muammolar yechimlariga duch kelyabman. Kegin ko'p narsani o'tirib analiz qila boshladim ya'ni man uchun nima ko'proq muhimligi va FP nimalarni taklif qilishi. Keyingisi esa umuman hamma uchun desak ham bo'ladi. Ammo bu aynan mani nazarimda shunday bu degani man xisobga olmagan narsalar ham bo'lishi mumkin. Perfomance - OO mavzularida izlanishlar davrida bir narsani tushungan edim. Hamma perfomance haqida gapiradi, ammo hechkim bunday code yozmaydi toki majbur bo'lmagunicha. Lekin perfomance qilish kerak ekan deb hechkim tech stackni o'zgartirib yuboravermaydi, buning uchun biror critical sabablar kerak. Shu o'rinda juda ko'p projectlar ham aynan codebase perfomance qilinmagan holatda ham ishlab kelyabti. Shunday ekan FPda perfomance neto deyish kabi izohlarni asossiz deb bilaman. Huddi shu gapni Immutable object oriented approach misolida ham aytgan edim. Simplicity - Soddalik man uchun eng muhim aspectlardan biri edi. Soddalik uchun man yozgan codeni boshqa hamkasbim tushunishi, o'zgartira olishi, feedback bera olishi kabi aspectlar ham muhim. Bunga bo'lgan urinishlarda juda ko'p qaramaqarshi fikrlar va hollywar chiqishi manga yoqmas edi. Yani yozilgan code hamma uchun intuitiv darajada bo'lishi ham aynan hollywarni kamaytiradi ammo bunga bo'lgan urinishlar complexity oshib ketishiga saba bo'lavergan. FP bu borada man hohlagan narsani bera oldi, chunki biror begona code bilan ishlar ekanman manga ham ancha tushunarli va man qilgan ish ham boshqalarga tushunarli. Xozircha kattaroq hajmda code yozib ko'rmadim ammo bunaqa fikrga kelishimga githubdagi turli repolarni titkilab chiqishim va o'zimcha o'zgartirib ko'rishlarim sabab bo'ldi. Yani projectda complexity bo'lsa ham codebaseda kamroq. Perfectionism - Perfectionismni hamma tanqid qilinsa ham bu hammada mavjud. Man programmingda ham perfectionis sifatida topa olganan compromise aynan FPda mavjud deb bilaman. Boshida qanchalik perfectionsmni ignore qilmay shunchalik talab oshib ketaverar edi. Xozir esa perfectionismdan kelib chiqgan etirozlar va tanqidlarim deyarli yo'q. Qayerdan ham bo'lsin ? Ahir oddiy conceptlardan tortib boshqasigacha hammasida boshqalar yetarlidan ko'p narsalarni tadbiq qilganku ayniqsa Haskellda. Paradigms and patterns - OO, imperativ programmingda aynan shu mavzuda doyim kuzatganlarim asosida shuni ayta olamanki doyim nimadir nimadirni inkor qiladi. OO programmerlar o'ylab topgan patternlari faqatgina qog'ozlarda deb aniq ayta olaman. GOF patternlarni o'rganamiz ammo miyanning qayeridarir chang bosib yotadi, huddi sarpo uchun yeg'ib qo'yilgan narsalarga o'xshaydi, undan olib foydalansa esa foydasidan zarari ko'p.
X singleton object ekan, threadlarga olib o'tsam singletoni o'zgartirish kerak bo'lyabti.
FPdagi conceptlar doyimiy ishlatilinadi. Siz biror asosiy conceptlardan birini o'rgandingizmi demak aniq siz ishlatasiz ! Yani siz qilmoqchi bo'lgan ishlarning yechimini topishga yoki yanayam yaxshiroq qilishga ham muhim concepltarni o'rganishiz kerak bo'ladi. FPdagi terminalogy bilan ham gaplashish juda oson. Mansalan man functor nima ekanini scalachidan ham haskellistdan ham so'rasam birxil javob beradi. Lekin bir oilaga mansub turli OO tillarda patternlarni implement qilishdagi farqlar bor ekani sabab til foydalanuvchilari boshqacha fikrga kelib qolganini eshitganmiz.