Kontentke ótiw

Avtomat programmalastırıw

Wikipedia — erkin enciklopediya

Kompyuter iliminde avtomat programmalastırıw — bul kompyuter programmalastırıwınıń túri bolıp, onda belgili bir mexanizm kompyuter programmasın payda etedi, bul baǵdarlamashılarǵa kodtı joqarıraq abstrakciya dárejesinde jazıwǵa imkaniyat beredi.

Avtomat programmalastırıwdıń anıq anıqlaması boyınsha kelisim az boldı, sebebi onıń mánisi waqıt ótiwi menen ózgerdi. Devid Parnas baspadan shıqqan izertlewlerde «avtomat programmalastırıw» tariyxın baqlap, 1940-jılları onıń qaǵaz lentanı qol menen tesip shıǵıw processin avtomatlastırıwdı súwretlegenin atap ótti. Keyinirek ol Fortran hám ALGOL sıyaqlı joqarı dárejeli programmalastırıw tilleriniń awdarmasına silteme berdi. Haqıyqatında da, kompilyator retinde anıqlanıwı múmkin bolǵan eń dáslepki programmalardıń biri Avtokod dep atalǵan edi. Parnas «avtomat programmalastırıw bárqulla baǵdarlamashıǵa sol waqıtta bar bolǵannan joqarıraq dárejeli tilde programmalastırıw ushın evfemizm bolǵan» degen juwmaqqa keldi.

Programma sintezi —matematikalıq talaplarǵa tiykarlanǵan procedura nolden baslap jaratılatuǵın avtomat programmalastırıwdıń bir túri.

Kelip shıǵıwı

Mildred Koss, dáslepki UNIVAC baǵdarlamashısı, bılay túsindiredi: «Mashina kodın jazıw bir neshe zeriktiretuǵın qádemlerdi óz ishine aldı — processti bólek kórsetpelerge bóliw, barlıq buyrıqlarǵa anıq yad orınların tayınlaw hám kirgiziw/shıǵarıw buferlerin basqarıw. Matematikalıq rutinalardı, kishi rutina kitapxanasın hám sortlaw programmaların ámelge asırıw ushın usı qádemlerdi orınlaǵannan keyin, biziń wazıypamız úlkenirek programmalastırıw processine qaraw edi. Biz sınalǵan kodtı qalay qayta paydalana alatuǵınımızdı hám mashinanıń programmalastırıwǵa qalay járdem bere alatuǵının túsinip alıwımız kerek edi. Programmalastırǵanımızda, processti úyrendik hám usı qádemlerdi joqarı dárejeli tilge kirgiziw ushın abstrakciyalastırıw jolların oylap tabıwǵa háreket ettik. Bul interpretatorlardıń, assemblerlerdiń, kompilyatorlardıń hám generatorlardıń — basqa programmalarǵa operaciyalardı orınlawǵa yamasa olardı payda etiwge arnalǵan programmalar, yaǵnıy avtomat programmalastırıwdıń rawajlanıwına alıp keldi.»

Generativ programmalastırıw

Generativ programmalastırıw hám oǵan baylanıslı metaprogrammalastırıw termini[1] — bul «programmalıq támiynat komponentlerin avtomatlastırılǵan usılda islep shıǵıw ushın»[2] programmalardı jazıwǵa bolatuǵın koncepciyalar, tap avtomatlastırıw «kiyim-kenshek, avtomobiller, ximiyalıq zatlar hám elektronika sıyaqlı dástúrli ónimlerdiń óndirisin» jaqsılaǵanı[3] sıyaqlı.

Maqset — baǵdarlamashı ónimdarlıǵın arttırıw. Ol kóbinese komponentke tiykarlanǵan programmalıq támiynat injenerligi sıyaqlı kodtı qayta paydalanıw temaları menen baylanıslı.

Derek-kod generaciyası

Derek-kod generaciyası — bul máseleniń sıpatlaması[4] yamasa shablon sıyaqlı ontologiyalıq modelge tiykarlanıp derek kodın generaciyalaw procesi hám ol shablon processorı yamasa integraciyalasqan islep shıǵıw ortalıǵı (IDE) sıyaqlı programmalastırıw quralı menen ámelge asırıladı. Bul qurallar derek kodın hár túrli usıllar menen generaciyalawǵa imkaniyat beredi.

Zamanagóy programmalastırıw tilleri Json4Swift (Swift) hám Json2Kotlin (Kotlin) sıyaqlı qurallar menen jaqsı qollap-quwatlanadı.

COBOL kodın generaciyalay alatuǵın programmalarǵa tómendegiler kiredi:

  • DYL250/DYL260/DYL270/DYL280 seriyası[5]
  • Business Controls Corporation-nıń SB-5 programması
  • Peat Marwick Mitchell-diń PMM2170 qosımsha-programma-generator paketi

Bul qosımsha generatorları COBOL qosımshaların hám ózgertiwlerin qollap-quwatladı.

C preprocessorı sıyaqlı makro processor, ol derek kodındaǵı úlgilerdi salıstırmalı túrde ápiwayı qaǵıydalarǵa sáykes almastıradı, derek kodı generatorınıń ápiwayı bir forması bolıp tabıladı. Derekti-derekke kod generaciyası quralları da bar.

ChatGPT sıyaqlı úlken til modelleri tábiyiy tilde berilgen programma sıpatlaması tiykarında programmanıń derek kodın generaciyalay aladı[6].

Kóplegen relyaciyalıq maǵlıwmatlar bazası sistemaları maǵlıwmatlar bazasınıń mazmunın SQL maǵlıwmat anıqlaw sorawları retinde eksport etetuǵın funkciyanı usınadı, bul keyin kestelerdi hám olardıń maǵlıwmatların qayta import etiw yamasa olardı basqa RDBMS-ke kóshiriw ushın orınlanıwı múmkin.

Tómen-kodlı qosımshalar

Tómen-kodlı islep shıǵıw platforması (LCDP) — bul baǵdarlamashılardıń dástúrli kompyuter programmalastırıwı ornına grafikalıq paydalanıwshı interfeysleri hám konfiguraciyası arqalı qosımsha programmalıq támiynat jaratıw ushın paydalanatuǵın ortalıqtı usınatuǵın programmalıq támiynat..

Derekler

  1. «About Generative Programming». — „Generative programming, as a subdomain of meta-programming, describes the practice of writing programs that generate other programs as part of their execution.“.
  2. Unconventional Programming Paradigms. „Generative Programming (GP) is an attempt to manufacture software components in an automated way by developing programs that synthesize other programs.“ 
  3. «Generative Programming: Concepts and Experiences (GPCE)».
  4. «Application generator». PCmag.com. — „Software that generates application programs from descriptions of the problem rather than by traditional programming. It is at a higher level and easier to use than a high-level programming language such as ...“.
  5. «DYL-280 Command Syntax». 30-iyul 2018-jılda túp nusqadan arxivlendi. Qaraldı: 3-sentyabr 2018-jıl.
  6. Tung. «ChatGPT can write code. Now researchers say it's good at fixing bugs, too». ZDNET (26-yanvar 2023-jıl). 3-fevral 2023-jılda túp nusqadan arxivlendi. Qaraldı: 22-iyun 2023-jıl.