Kontentke ótiw

Maǵlıwmatlarǵa tiykarlanǵan programmalastırıw

Wikipedia — erkin enciklopediya

Kompyuter programmalastırıwında, maǵlıwmatlarǵa tiykarlanǵan programmalastırıw — bul programma operatorları orınlanatuǵın qádemler izbe-izligin anıqlaw ornına, sáykeslestiriliwi kerek bolǵan maǵlıwmatlardı hám talap etiletuǵın qayta islewdi táriyipleytuǵın programmalastırıw paradigması[1]. Maǵlıwmatlarǵa tiykarlanǵan tillerdiń standart mısalları — bul sed hám AWK tekst qayta islew tilleri hám XSLT hújjet túrlendiriw tili, bul jerde maǵlıwmatlar kirgiziw aǵımındaǵı qatarlar izbe-izligi bolıp tabıladı – sonlıqtan olar qatarǵa baǵdarlanǵan tiller dep te ataladı – hám úlgi sáykesligi tiykarınan turaqlı ańlatpalar yamasa qatar nomerleri arqalı ámelge asırıladı.

Baylanıslı paradigmalar

Maǵlıwmatlarǵa tiykarlanǵan programmalastırıw waqıyaǵa baǵdarlanǵan programmalastırıwǵa uqsas, sebebi ekewi de úlgi sáykesligi hám nátiyjedegi qayta islew retinde strukturalanǵan hám ádette tiykarǵı cikl arqalı ámelge asırıladı, degen menen olar ádette hár túrli tarawlarda qollanıladı. Shárt/háreket modeli sonday-aq aspektke baǵdarlanǵan programmalastırıwǵa da uqsas, bul jerde birlesiw noqatı (shárt) jetkende, kesiw noqatı (háreket) orınlanadı. Uqsas paradigma DTrace sıyaqlı ayırım baqlaw freymvorklarında qollanıladı, bul jerde zondlar (instrumentaciyalaw noqatları) hám olar menen baylanıslı háreketler dizimge alınadı, olar shárt qanaatlandırılǵanda orınlanadı.

Abstrakt maǵlıwmat tipin proektlestiriw usılların obyektke baǵdarlanǵan programmalastırıwǵa beyimlestiriw maǵlıwmatlarǵa tiykarlanǵan dizaynǵa alıp keledi[2]. Dizaynıń bul túri geyde programmalıq támiynat bólimin oylap tabıw waqtında klasslardı anıqlaw ushın obyektke baǵdarlanǵan programmalastırıwda qollanıladı.

Qollanılıwı

Maǵlıwmatlarǵa tiykarlanǵan programmalastırıw ádette strukturalanǵan maǵlıwmatlar aǵımlarına, filtrlew, transformaciyalaw, agregaciyalaw (mısalı, statistikanı esaplaw) yamasa basqa programmalardı shaqırıw ushın qollanıladı. Ádettegi aǵımlarǵa jurnal faylları, ajıratqısh penen bólingen mánisler yamasa elektron xat xabarları, ásirese elektron xattı filtrlew ushın kiredi. Mısalı, AWK programması kirgiziw retinde jurnal málimlemeleri aǵımın alıwı múmkin hám mısalı, hámmesin konsolǵa jiberiwi, WARNING penen baslanatuǵınların «WARNING» faylına jazıwı hám hár qanday qatar «ERROR» menen baslansa, sistema administratorına elektron xat jiberiwi múmkin. Ol sonıń menen birge kúndelikli qansha eskertiw jurnalǵa jazılǵanın da esapqa alıwı múmkin. Alternativ túrde, ajıratqısh penen bólingen mánisler aǵımların qayta islewge boladı, hárbir qatardı yamasa agregaciyalanǵan qatarlardı, mısalı, toplam yamasa maksimumdı qayta islew. Elektron xatta, procmail sıyaqlı til geypara elektron xatlarǵa sáykes keletuǵın shártlerdi hám qanday háreketlerdi (jetkeriw, qaytarıw, óshiriw, jóneltiw hám t.b.) orınlaw kerekligin kórsete aladı.

Geypara maǵlıwmatlarǵa tiykarlanǵan tiller AWK hám hátte sed sıyaqlı Tyuring-tolıq bolıp tabıladı, al basqaları, ásirese filtrlew ushın, qasaqana júdá sheklengen. Sońǵısınıń ekstremal mısalı pcap bolıp tabıladı, ol tek filtrlewden ibarat, jalǵız háreket «uslap alıw». Azıraq ekstremal, sieve filtrler hám háreketlerge iye, biraq tiykarǵı standartta ózgeriwshileri yamasa ciklleri joq, tek jaǵdaysız filtrlew operatorlarına ruqsat beredi: hárbir kirgiziw elementi ǵárezsiz qayta islenedi. Ózgeriwshiler jaǵdayǵa imkaniyat beredi, bul bir neshe kirgiziw elementine baylanıslı bolǵan operaciyalarǵa, mısalı, agregaciyalawǵa (kirgiziwlerdi qosıw) yamasa sheklewge (hárbir jiberiwshiden saatına eń kóp 5 xatqa ruqsat beriw yamasa qaytalanatuǵın jurnal xabarların sheklew) imkaniyat beredi.

Maǵlıwmatlarǵa tiykarlanǵan tillerde jiyi standart háreket boladı: eger hesh qanday shárt sáykes kelmese, qatarǵa baǵdarlanǵan tiller qatardı baspadan shıǵarıwı (sed sıyaqlı) yamasa xabardı jetkeriwi (sieve sıyaqlı) múmkin. Geypara qosımshalarda, mısalı, filtrlewde, sáykeslik eksklyuziv bolıwı múmkin (sonlıqtan tek birinshi sáykes kelgen operator), al basqa jaǵdaylarda barlıq sáykes kelgen operatorlar qollanıladı. Hár qanday jaǵdayda da, hesh qanday úlgi sáykes kelmewi «standart háreket» bolıwı múmkin yamasa aqırında barlıǵın uslaytuǵın operator tárepinen uslanıwı kerek bolǵan qáte retinde qaralıwı múmkin.

Paydaları hám máseleleri

Paydaları hám máseleleri implementaciyaǵa baylanıslı ózgeriwi múmkin bolsa da, bul paradigmanıń bir neshe úlken potencial paydaları hám máseleleri bar. Funkcionallıq tek ózi islep atırǵan ózgeriwshilerdiń abstrakt maǵlıwmat tipin biliwin talap etedi. Funkciyalar hám interfeysler birdey maǵlıwmat maydanları bar barlıq obyektlerde, mısalı, obyekttiń «poziciyası»nda paydalanılıwı múmkin. Maǵlıwmatlardı obyektlerge yamasa «birliklerge» qálew boyınsha az yamasa hesh qanday aqıbetsiz gruppalawǵa boladı.

Maǵlıwmatlarǵa tiykarlanǵan dizayn maǵlıwmatlar menen funkcional imkaniyatlardıń baylanısın aldın alsa da, geypara jaǵdaylarda maǵlıwmatlarǵa tiykarlanǵan programmalastırıw jaman obyektke baǵdarlanǵan dizaynǵa alıp keledi dep aytılǵan, ásirese anaǵurlım abstrakt maǵlıwmatlar menen isleskende. Sebebi, taza maǵlıwmatlarǵa tiykarlanǵan obyekt yamasa birlik onıń kórsetiliw usılı menen anıqlanadı. Obyekttiń strukturasın ózgertiwge hár qanday urınıw oǵan súyenetuǵın funkciyalardı dárhal buzadı.

Mısal retinde, júrgiziw kórsetpelerin aydawshınıń ońǵa yamasa shepke burılıwı kerek bolǵan bir qatar kesilisiwler (eki kesilisken kóshe) retinde kórsetiwge boladı. Eger kesilisiw (Amerika Qurama Shtatlarında) maǵlıwmatlarda poshta indeksi (5 sanlı nomer) hám eki kóshe atı (tekst qatarları) menen kórsetilse, kósheler bir neshe ret kesilisetuǵın qala ushırasqanda qáteler payda bolıwı múmkin. Bul mısal júdá ápiwayılastırılǵan bolıwı múmkin bolsa da, maǵlıwmatlardı qayta strukturalaw programmalıq támiynat injenerliginde júdá keń tarqalǵan másele bolıp tabıladı, ya qátelerdi joq etiw, nátiyjelilikti arttırıw yamasa jańa ózgesheliklerdi qollap-quwatlaw ushın.

Tiller

  • AWK
  • BASIC
  • Clojure[3]
  • fdm
  • Lua[4]
  • maildrop
  • Oz
  • Perl – AWK hám sed tegi sıyaqlı maǵlıwmatqa tiykarlanǵan programmalastırıw Perl tárepinen qollap-quwatlanatuǵın bir paradigma
  • procmail
  • Raku - Raku grammatikalarǵa (hám regekslerge) iye, sonlıqtan maǵlıwmatqa tiykarlanǵan programmalastırıwdı qollap-quwatlaydı
  • REBOL, Redbol tili
  • Red, Redbol tili
  • Ren-C, Redbol tili
  • sed
  • Sieve
  • Tab (til)
  • XSLT

Derekler

  1. Stutz. «Get started with GAWK: AWK language fundamentals». developerWorks. IBM (19-sentyabr 2006-jıl). — „[AWK is] often called a data-driven language -- the program statements describe the input data to match and process rather than a sequence of program steps“. 20-may 2011-jılda túp nusqadan arxivlendi. Qaraldı: 23-oktyabr 2010-jıl.
  2. Wirfs-Brock, Rebecca; Wilkerson, Brian „Object-oriented design: A responsibility-driven approach“,. Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '89. New York: ACM, 1989 71–75 bet. DOI:10.1145/74877.74885. ISBN 0897913337. 
  3. «Clojure». www.clojure.org. Qaraldı: 5-iyun 2018-jıl.
  4. Ierusalimschy. «Lua 5.3 Reference Manual». www.lua.org (3-fevral 2017-jıl). Qaraldı: 5-iyun 2018-jıl.