2022-07-07 20:32:00
#paradigms
Biror dasturiy ta'minotni tuzish uchun xozirgi kunda ko'p holatda juda yuqoridan qaraymiz. Frameworklar tayyor solutionlar pattenlar. Albatta bular muhim ammo juda ko'p xamkasblarda asosiy muammo paradigmalar. Ko'plab dasturchilar uslub, yondoshuvni dasturlash tillaridan olishadi (Shaxsan o'zim ham shu kungacha). Lekin ushbu xolatda bizda bir tomonlama fikrlash juda o'sib ketishi mumkin. Bu esa albatta birkun zararga ishlashi mumkin.
Nega ? Bazi tillarda faqat bir paradigmani tadbiq qilingan. Bu esa umumiy dasturlashni shu doirada ko'rishga o'rgatadi Masalan C. Bazilarida esa multi paradigm lekin juda tartibsiz va sifatiz code yozish extimoli yuqori. Masalan JS. Bazi tillarda til implement qilgan paradimgdan boshqasini tadbiq qila olmaysiz bu bir tomondan juda zo'r boshqa tomondan unchalik emas. Agar shunday bo'lsa JS kabi bo'lish extimoli yurqori.
Yuqorida aytganimday biror muammoga nisbatan berilgan yechim turli yo'llar orqali qilingan bo'lishi mumkin.
Anchadan buyon faqat JS/TS stackda ishlab shu paradigmlar masalasida ko'p chalkashaman. Endi yaxshi expirement boshladim. Paradigmlarni boshqa tillarda o'rganishni boshladim bu narsa ushbu falsafalarni yaxshiroq tushunish va tadbiq qilishga yaxshigina yordam beryabti. Masalan ruby va Java Rubydagi OOP manga ancha yoqdi Javaga qaraganda. Syntax yondoshuv va implementation ancha sugar. Paralell programming uchun esa Go birmuncha yoqdi. Functional programmingni Elixirda sinab ko'rvoman. Bu tajribalar manimcha yillar davomida bo'ladi chunki aniq biror muammoga ushbu bilimlarni tadbiq qilib ko'rish kerak. Lekin bir narsani tushundimki Universal Dasturlash tilining yo'qligiga asosiy sabablardan biri bu paradigmlar ko'pligi. Bu tajribani boshlaganimdan keyin ancha yegilib qolgan savollarga javob topishni boshladim. Lekin xozircha JS/TS dan boshqasida erkin emasman. Manimcha dasturlashni o'rganishda eski classic progamming yoki old school unchalik mos emas xozirgi kunda.
Misol uchun JS bilan OOP o'zini o'rganish birmuncha qiyin yoki design patternlani. Yoki C++ bilan FP ni o'rgana olishiz qiyin. Undan ko'ra aynan OOP yoki FP yaxshiroq tadbiq qilingan tilda o'rgangan yaxshiroq deb o'ylayman. System engineering uchun C ancha qiziq edi manga. Ammo fikrim o'zgardi Rust.
Sizda ham shunday bo'shliqlar bo'lsa qanday to'ldirasiz yoki hali bo'lmagan bo'lsangiz sabringiz yetsa yuqorida yozganimday uslubni tavsiya qilaman.
PS: Ushbu postdan maqsad tillarni yaxshi yomon deb solishtirish emas. Dasturlashni yaxshioq o'rganish va chuquroq tushunish uchun bir uslubni yoritishdan iborat.
PS++: Postda qaysidur tilni yaxshi bilish yoki bilmaslikga davo qilinmagan !!!
114 views17:32