Programmalıq támiynat qurılması hám evolyuciyası / 21_lekciya_PTQE
.pdf21-lekciya. Programmalıq támiynattıń rawajlanıw tendenciyaları.
Jobası:
1.Programmalıq injeneriyanıń házirgi jaǵdayı hám keleshegi.
2.Jasalma Intellekt (AI) hám Mashinalıq Oqıtıwdıń (ML) tásiri.
3.Bultlı texnologiyalar (Cloud), Serverless hám Edge Computing.
4.Low-Code/No-Code platformaları hám injenerdiń ózgerip baratırǵan roli.
Programmalıq injeneriyanıń evolyuciyası hám házirgi jaǵday
Programmalıq injeneriya (Software Engineering) júdá jas hám tez ózgerip turatuǵın taraw. 50 jıl burın programmistler perfokartalar menen islese, búgin olar bultlı serverlerdegi neyron tarmaqların basqaradı. Programmalıq támiynattıń rawajlanıw tendenciyaları (trends) tek texnologiyalardıń ózgeriwin emes, al programmistlerdiń jumıs stili, proektlestiriw usılları hám biznes modelleriniń de ózgeriwin ańlatadı. Házirgi waqıttaǵı eń baslı tendenciya – bul "Quramalılıqtıń artıwı" hám "Abstrakciyanıń kóteriliwi". Biz barǵan sayın temirden (hardware) alıslap, mániske (biznes-logika) jaqınlasıp atırmız.
Búgingi kúnde "Ubiquitous Computing" (Hár jerdegi esaplaw) dáwiri keldi. Programmalıq támiynat tek kompyuter hám telefonlarda emes, al saatlarda, avtomobillerde, úy úskenelerinde (IoT - Internet of Things) de bar. Bul baǵdarlamashılarǵa jańa talaplardı qoyadı: energiya únemlewshilik, real waqıt rejimi, kiberqáwipsizlik. Endi kod jazıw – bul tek algoritmler emes, al fizikalıq dúnya menen baylanısıw óneri. Taǵı bir úlken ózgeris – bul "Open Source" (Ashıq kod) háreketiniń tolıq jeńisi. Házirgi zamanagóy programmalardıń 80-90% i ashıq kodlı kitapxanalar hám freymvorklarǵa (Linux, React, TensorFlow) tiykarlanǵan. Programmalıq injeneriya endi "nolden jazıw" emes, al "bar bloklardan qurastırıw" (Integration) jumısına aylandı. Bul process islep shıǵıw tezligin arttırdı, biraq "Dependency Management" (Ǵárezlilikti basqarıw) hám qáwipsizlik (Supply Chain Attacks) mashqalaların payda etti.
Programmalıq támiynat endi ónim (Product) emes, al xızmet (SaaS - Software as a Service) retinde satılmaqta. Paydalanıwshılar diskti satıp almaydı, olar ay sayın abonentlik tólem tóleydi (mısalı, Netflix, Adobe Cloud). Bul programmistlerden "Úziliksiz jetkiziw" (Continuous Delivery) modeline ótiwdi talap etedi. Biz endi versiyanı jılına bir ret emes, kúnine bir neshe ret jańalaymız.
Jasalma Intellekt (AI) hám Mashinalıq Oqıtıw (ML)
Programmalıq injeneriyaǵa eń kúshli tásir etip atırǵan kush – bul Jasalma Intellekt (Artificial Intelligence). JI endi tek qosımshalardıń ishinde emes (aqıllı usınıslar, súwretti tanıw), al programmalastırıw procesiniń ózinde de qollanılmaqta. "AI-Assisted Coding" (AI járdeminde kod jazıw) quralları (GitHub Copilot, ChatGPT) programmistlerge kodtı avtomat túrde toltırıwǵa, testler jazıwǵa, qátelerdi tabıwǵa hám kodtı optimallastırıwǵa járdem bermekte. JI programmisttiń jumısın jeńillestiredi, biraq onı almastıra almaydı (házirshe). Ol "Jup baǵdarlamashı" (Pair Programmer) wazıypasın atqaradı. Programmist endi rutinalıq kodtı (boilerplate) jazıwǵa waqıt ketirmeydi, al quramalı arxitekturalıq máselelerge hám biznes-logikaǵa itibar qaratadı. Degen menen, JI generalizaciyalawda qátelesiwi múmkin, sol sebepli programmisttiń roli "Kod jazıwshıdan" "Kod tekseriwshige" (Reviewer) aylanıp barmaqta.
"Machine Learning Operations" (MLOps) – bul jańa injenerlik disciplina. Dástúrli kod (if-else) anıq qaǵıydalarǵa súyense, ML modelleri maǵlıwmatlarǵa (data) súyenedi. MLOps programmalıq injeneriyanıń standartların (versiyalaw, testlew, ornatıw) mashinalıq oqıtıw modellerine qollanıwǵa qaratılǵan. "DataDriven Development" (Maǵlıwmatqa tiykarlanǵan islep shıǵıw) programmalastırıwdıń keleshegi bolıp esaplanadı. Biz endi logikanı qol menen jazbaymız, biz modeldi mısal maǵlıwmatlar arqalı "úyretemiz".
JI sonıń menen birge "Avtonom testlew" (Autonomous Testing) hám "Selfhealing Systems" (Ózin-ózi emlewshi sistemalar) koncepciyaların alıp kelmekte. Programma islep turǵan waqıtta qáteni ózi tawıp, ózi dúzetiwge háreket etedi. Bul programmalıq támiynattıń isenimliligin (reliability) jańa basqıshqa kóteredi.
Bultlı texnologiyalar hám Serverless
"Cloud Computing" (Bultlı esaplawlar) programmalıq támiynat arxitekturasın túptamırınan ózgertti. Biz endi fizikalıq serverlerdi satıp almaymız, biz AWS, Azure yamasa Google Cloud-tan "Virtual resurslardı" alamız. Bul "Cloud-Native" (Bultqa tuwılǵan) qosımshalardı jaratıwǵa imkaniyat berdi. Bunday qosımshalar mikroservislerge bólingen, konteynerlerde (Docker) isleydi hám Kubernetes arqalı basqarıladı.
Eń jańa tendenciya – bul "Serverless Computing" (Serversiz esaplawlar).
Álbette, serverler bar, biraq programmist olar haqqında oylamaydı. Ol tek "Funkciyanı" (Function as a Service - FaaS) jazadı hám bultlı provayder sol funkciyanı kerek waqıtta iske túsiredi, júklemeni (scaling) ózi basqaradı. Programmist tek funkciyanıń islegen waqtı (millisekundlar) ushın aqsha tóleydi.
Bul infrastrukturanı basqarıw qıyınshılıǵın tolıq alıp taslaydı hám tek kodqa itibar qaratıwǵa imkaniyat beredi.
"Edge Computing" (Shetki esaplawlar) – bultqa qarama-qarsı tendenciya. Barlıq maǵlıwmatlardı oraylıq bultqa jiberiw (Cloud) keshigiwge (latency) hám trafikke alıp keledi. Edge Computing esaplawlardı paydalanıwshıǵa jaqın jerde (IoT qurılmasında, 5G stanciyasında, brauzerde) orınlawdı usınıs etedi. Mısalı, avtonom avtomobil joldaǵı tosqınlıqtı bultqa jibermey-aq, óz processorında analizlewi kerek. WebAssembly texnologiyası brauzerde joqarı ónimli kodtı (C++,
Rust) isletiwge jol ashıp, Edge Computing-tiń rawajlanıwına úles qospaqta.
"Infrastructure as Code" (IaC) – infrastrukturanı kod retinde basqarıw
(Terraform, Ansible). Biz serverlerdi qol menen sazlamaymız, biz olardıń konfiguraciyasın kodqa jazamız. Bul infrastrukturanı versiyalawǵa, testlewge hám avtomat túrde qayta jaratıwǵa imkaniyat beredi. DevOps injeneriyası usı tendenciyanıń nátiyjesi.
Low-Code/No-Code hám Injenerdiń keleshegi
Programmalastırıwdıń demokratizaciyası – bul "Low-Code" hám "No-Code" platformalarınıń rawajlanıwı. Bul platformalar (mısalı, PowerApps, Bubble, OutSystems) programmalastırıw tilin bilmeytuǵın adamlarǵa ("Citizen Developers") vizuallıq redaktorlar arqalı qosımshalar jaratıwǵa imkaniyat beredi. "Kod jazıw – bul qımbat hám qıyın". Eger máseleni kodsız sheshiw múmkin bolsa, biznes sonı tańlaydı. Bul tendenciya programmistlerdi jumıssız qaldıra ma? Joq. Low-Code platformaları standart, tipik máselelerdi (mısalı, ishki esabat sisteması, ápiwayı veb-sayt) sheshedi. Biraq unikal, quramalı, joqarı júklemeli hám innovaciyalıq sistemalardı jaratıw ushın bárqulla professional injenerler kerek boladı. Programmistler endi "kod jazıwshıdan" "platforma jaratıwshıǵa" aylanadı. Olar No-Code quralları ushın komponentler hám integraciyalar jazadı.
Injenerdiń roli "T-shaped" (T-tárizli) qánigege aylanıp barmaqta. Yaǵnıy, ol bir tarawda (mısalı, Backend) tereń bilimge iye, biraq basqa tarawlardan da (Frontend, DevOps, AI, Security, Business) xabardar bolıwı kerek. "Full Stack Developer" túsinigi keńeyip, endi ol tek veb-sayt emes, al pútin ónimdi jaratıwshı adamǵa aylanbaqta.
Juwmaqlap aytqanda, programmalıq támiynattıń keleshegi – bul "Simbioz". Adam hám AI, Kod hám No-Code, Bult hám Edge. Texnologiyalar ózgeredi, tiller ózgeredi, biraq programmalıq injeneriyanıń tiykarǵı maqseti – "Mashqalalardı sheshiw" (Problem Solving) ózgermeydi. Keleshektiń injeneri – bul kodtı tez
jazatuǵın adam emes, al ózgerislerge tez beyimlesetuǵın, úziliksiz úyrenetuǵın hám texnologiyanı adamzat paydasına jumsaytuǵın dóretiwshi tulǵa.
BAQLAW SORAWLARÍ:
1."Open Source" (Ashıq kod) háreketi házirgi zaman programmalıq injeneriyasına qalay tásir etti?
2.AI-Assisted Coding (AI járdeminde kodlaw) programmisttiń jumısın qalay ózgertip atır?
3."Serverless Computing" (Serversiz esaplawlar) degende neni túsinesiz hám onıń programmist ushın paydası nede?
4."Low-Code/No-Code" platformaları qanday máselelerdi sheshiwge arnalǵan hám olardıń sheklewleri qanday?
5."Infrastructure as Code" (IaC) texnologiyası DevOps mádeniyatında qanday rol oynaydı?
