Shu kunlarda ko'p uchrayotgani uchun yuqoridagi savolga shaxsiy fikrimni bildirmoqchiman.
Script yozadiganlar ORMchilar*ni tanqid qilishi noo'rin. Script yozish aslida Database Engineering ishi. Uni ham bilish zarar qilmaydi, lekin ishga kirganda *Backendchi deb ishga olingan dasturchidan Database Engineer ishini talab qilish noto'g'ri.
Junior va hattoki Mid-Level dasturchilarda Script yozib query tezligini oshirishni talab qilish vobshem noto'g'ri. Sababi ORM generate qilgan script Junior va Mid-Level dasturchilar yoza oladigan scriptdan samaraliroq bo'ladi.
Ba'zi bir ORM qamray olmaydigan *edge-case*lar tufayli ORMdan butunlay voz kechish ahmoqlik. O'sha ORM eplolmaydigan joylarini o'zigagina script yozsa bo'ladiku.
Agar sizning maqsadingiz chindanam tez va native darajadagi samaraga erishish bo'lsa, unda kodni ham Assembly'da yozing. Lyuboy dasturlash tilida kamchilik bor, Assembly qilgan ishni qilolmaydi. A siz Assembly'da yozmayapsizku!?
To'g'ri-to'g'ri script yozish zarur bo'lgan va ORM ishlatish mumkin bo'lmagan holatlar mavjud. Lekin ular juda ham va siz yaratayotgan software qay darajada murakkabligiga bog'liq.
Siz qanday fikrdasiz?
Top comments (5)
To'ppa to'g'ri nimagadur o'zbekistondagi kompaniyalar backendchini qulday ishlatmoqchi bo'ladi oylik esa kulgili darajada past. Insof bersin dib duo qilamiz.
Haq gap!!!
Productivity tomonidan yoki maqsadga erishish tomonlama qaralganda fikringizga qo'shilaman. Ammo ORMlar anti patternlar bo'lib qolishini esdan chiqarmagan yaxshi. SQLdagi tablelarni application levelda objectlar asosida qurish birmuncha g'alati. ORM o'rniga query builderlar ishlatsa bo'ladi. Ammo keskin ORMdan vos kechish masalasini oqlamayman. Birmuncha tayyorlanib vos kechish tarafdoriman.
Aka shu men 7+ yillik o’zim expert deb bilgan hamma .NET senoirlar bilan maslahatlashdim. O’zbekistonda ishlaydigan dasturchilar orasida juda ko’pchilim SQL tarafdori. Chet elliklar birortasi oqlamadi hali ORMdan voz kechishni.
Lekin kimnidir nohaq deyish fikridan yiroqmoz.
Man .NET va C# olamidan birmuncha uzoqman. ORM umumiy tushuncha va barcha dasturlash tillarida ushbu tushunchani turlicha ko'rinish va yondoshuvlarda tadbiq qilishgan. OOP yoki FP yoki boshqacha konsepsiyalarni qo'llovchi tillarga ham tadbiq qilingan. Manam ancha aynan shu mavzuda izlanib yurgan edim. Bu qarorga kelishim uchun stack emas umumiyroq tomonlama qarshga to'g'ri keldi. Chet elliklar qanday firkga egaligiga kelsak bu masalada ancha speachlar qilingan ekan. Shulardan birini ilindim.
youtube.com/watch?v=03PXmPc7Q3g