Programmalıq támiynat

Wikipedia, erkin enciklopediya

Programmalıq támiynat (ingl. software; basqasha aytılıwı: programmalıq támiyinlew, baǵdarlama) - bul kompyuterlerge belgili bir wazıypalardı orınlaw usılın kórsetetuǵın programmalar menen maǵlıwmatlar jıynaǵı. Programmalıq támiynat kóbinese tiyisli programmalıq támiynat hújjetlerin óz ishine aladı.[1] Apparatlıq támiynattan ayırmashılıǵı bunda sistema dúzilgen hám jumıstı anıq orınlaw imkaniyatına iye.

Programmalastırıwdıń eń tómen dárejesinde orınlanatuǵın kod jeke processor qollaytuǵın mashina tiliniń kórsetpelerinen ibarat - ádette oraylıq processor (CPU) yamasa grafikalıq qayta islew blogı (GPU). Mashina tili komputerdiń jaǵdayın aldınǵı jaǵdayınan ózgeretuǵın processor kórsetpelerin bildiretuǵın ekilik mánisler toparınan ibarat. Mısalı, kórsetpe kompyuterdegi belgili bir saqlaw ornında saqlanǵan mánisti ózgertiwi múmkin - bul tásir paydalanıwshıǵa tikkeley sezilmeydi.Kórsetpe sonıń menen birge kóplegen kirgiziw yamasa shıǵarıw operaciyalarınıń birewin shaqırıwı múmkin, mısalı kompyuter ekranında ayırım tekstti kórsetiw, paydalanıwshıǵa kórsetetuǵın status ózgerislerin payda etedi. Processor basqa kórsetpege “sekiriwge” kórsetpe berilmese yamasa operacion sistema menen úzilmese, kórsetpelerdi olar berilgen tártip penen orınlaydı. 2024 jılı kóplegen jeke kompyuterlerde, smartfon qurılmalarında hám serverlerde birneshe orınlaw birlikleri bar processorlar yamasa esaplawlardı birge orınlaytuǵın birneshe processorlar bar, sonlıqtan esaplawlar burınǵıǵa qaraǵanda álleqayda bir waqıtta háreketke aylandı.

Programmalıq támiynattıń kópshiligi joqarı dárejeli programmalastırıw tillerinde jazılǵan, mısalı Python, JavaScript, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby, C# hám Java. Olar baǵdarlamashılar ushın ańsat hám ónimlirek, óytkeni olar mashina tillerine qaraǵanda tábiyiy tillerge jaqınıraq.[2] Joqarı dárejeli tiller kompilyator, interpretator yamasa ekewiniń kombinaciyası arqalı mashina tiline awdarıladı. Programmalıq támiynat C, C++, Assembly, Fortran sıyaqlı hám tómen dárejeli assembler tilinde de jazılıwı múmkin. Assembler tilleri kompyuterdiń mashina tiliniń kórsetpelerine qattı sáykes keledi hám assembler járdemi menen mashina tiline awdarıladı.

Tariyxı[redaktorlaw | derekti jańalaw]

Programmalıq támiynattıń birinshi bólimi bolatuǵın algoritmdi Ada Lavleys XIX ásirde rejelestirilgen analitikalıq mexanizm ushın jazǵan. Ol mexanizmniń Bernulli sanların qalay esaplaytuǵının kórsetiw ushın dáliller jarattı. Dáliller menen algoritmniń arqasında ol birinshi kompyuter baǵdarlamashısı bolıp esaplanadı.[3][4]

Programmalıq támiynat tuwralı birinshi teoriyanı, házirgi waqıtta biz bilgen kompyuterlerdi jaratıwdan aldın, Alan Tyuring óziniń 1936 jılı “Esaplanıwshı sanlar haqqında Entscheidungsproblem (sheshim máselesi) qollanıwı menen birge” essesinde usınǵan.[5] Bul yaǵnıy, informatika menen programmalıq támiynattıń akademiyalıq tarawların jaratıwǵa ákeldi; eki tarawda da programmalıq támiynat hám onı jaratıwdı izertleydi.[6] Informatika - bul kompyuterler menen programmalıq támiynattı teoriyalıq izertlew (informatikanıń mısalı Tyuring-niń essesi), al programmalıq injiniring - programmalıq támiynattı islep shıǵıw ushın injenerlik principlerdi qollanıw bolıp tabıladı.[7]

2000 jılı Yel nızam mektebiniń kitapxanashısı Fred Shapiro xat járiyaladı, ol Djon Uaylder Tukidiń 1958 jılǵı “Beton matematikanı oqıtıw” maqalasında JSTOR elektron arxivlerin izlew gezinde tabılǵan “programmalıq támiynat” termininiń eń erteden belgili qollanılıwı bar ekenin kórsetti. Yaǵnıy Oksford inglis sózliginiń citatasınan eki jıl aldın. Bul kóplegen adamlardı Tukeyge bul termindi kirgizgeni ushın, atap aytqanda sol jılı járiyalanǵan nekrologlarda moyınlawǵa ákeldi, degen menen Tukey heshqashan bunday monetalar ushın kredit talap etpegen. 1995 jılı Pol Niket bul termindi 1953 jıl oktyabr ayında engizgenin ayttı, biraq ol óz talapların tastıyıqlaytuǵın heshqanday hújjet taba almadı. Injenerlik kontekske “programmalıq támiynat” termininiń eń dáslepki belgili basılımı 1953 jılı avgustte Richard R. Karxarttıń Rand korporaciyasınıń izertlew tuwralı memorandumında járiyalandı.

Túrleri[redaktorlaw | derekti jańalaw]

Blender, biypul programmalıq támiynat

Is júzinde barlıq kompyuter platformalarda programmalıq támiynattı bir neshe keń kategoriyalarǵa bóliwge boladı.

Maqseti yamasa paydalanıw tarawı[redaktorlaw | derekti jańalaw]

Maqsetine qarap kompyuter programmalıq támiynatın tómendegishe bóliwge boladı:

  • Ámeliy programmalıq támiynat (ingl. application software) kompyuterdiń tiykarǵı jumısınan tıs arnawlı funkciyalardı orınlaw ushın kompyuter sistemasın paydalanadı. Ámeliy programmalıq támiynattıń kóplegen túrleri bar, óytkeni házirgi kompyuterler menen orınlanatuǵın wazıypalar kólemi júdá úlken.
  • Sistemalı programmalıq támiynat (ingl. system software) paydalanıwshılar talap etetuǵın tiykarǵı funkciyalardı támiyinlew ushın yamasa basqa programmalıq támiynattıń durıs jumıs islewin támiyinlew ushın, apparatlıq támiynattıń háreketin basqaradı. Sistemalı programmalıq támiynat ámeliy programmalıq támiynattı iske túsiriw hám platformanı támiyinlew ushın arnalǵan[8] hám ol tómendegilerdi óz ishine qamtıydı:
    • Operacion sistemalar resurslardı basqaratuǵın hám olardıń “ústinde” jumıs isleytuǵın basqa programmalıq támiynat ushın ulıwma xızmetlerdi usınatuǵın programmalıq támiynattıń zárúr kompleksi bolıp tabıladı. Baqlaw programmaları, júklewshiler, qabıq programmalar hám ayna sistemaları operacion sistemalardıń tiykarǵı bólimleri bolıp tabıladı. Is júzinde operacion sistema qosımsha programmalıq támiynat penen (ámeliy programmalıq támiynattı qosqanda) jetkiziledi, usılayınsha paydalanıwshı tek bir operacion sisteması bar kompyuterler menen ayırım jumıslardı orınlawı múmkin.
    • Qurılma drayverleri kompyuterge qosılǵan qurılmanıń belgili bir túrin basqaradı. Hárbir qurılmaǵa keminde bir sáykes qurılma drayveri kerek; kompyuterde ádette kem degende bir kirgiziw qurılması hám kem degende bir shıǵarıw qurılması bolǵanlıqtan, kompyuterge ádette birneshe qurılma drayverleri kerek.
    • Utilitalar paydalanıwshılar kompyuterlerine texnikalıq xızmet kórsetiwge, kútiwge hám járdemlesiwge arnalǵan kompyuter programmaları.
  • Zıyanlı programmalıq támiynat (ingl. malicious software) yamasa zıyanlı programma - kompyuterlerge zıyan jetkiziw yamasa olardı buzıw ushın jaratılǵan programmalıq támiynat. Zıyanlı baǵdarlama kompyuter menen baylanıslı jınayatlarǵa tıǵız baylanıslı, degen menen ayırım zıyanlı programmalar ámeliy házil retinde jaratılǵan bolıwı da múmkin.

Orınlaw táriypi yamasa tarawı[redaktorlaw | derekti jańalaw]

  • Veb-brauzerler hám Microsoft Office hám LibreOffice hám WordPerfect sıyaqlı desktop qosımshaları, sonday-aq smartfon menen planshet qosımshaları (“qosımshalar” dep ataladı).[9]
  • JavaScript scenariyleri – veb-brauzer plaginin talap etpey, veb-bet júklengende tikkeley veb-brauzer ishinde iske túsetuǵın veb-betlerge dástúrli túrde kirgizilgen programmalıq támiynattıń bólimleri. Programmalıq támiynat JavaScript tiline awdarılǵan bolsa yamasa sol tildi qollaytuǵın veb-brauzer plagini ornatılǵan bolsa, basqa programmalastırıw tillerinde jazılǵan programmalıq támiynattı veb-brauzer ishinde de iske túsiriwge boladı; sońǵısınıń eń kóp tarqalǵan túrine mısal Adobe Flash plagini menen qollap-quwatlanatuǵın ActionScript scenariyleri bolıp tabıladı.[10]
  • Server programmalıq támiynatı, atap ótsek:
    • Ádette veb-serverlerde jumıs isleytuǵın hám dinamikalıq túrde jaratılǵan veb-betlerdi veb-brauzerlerge shıǵaratuǵın veb-qosımshalar, mısalı: PHP, Java, ASP.NET yamasa hátte serverde jumıs isleytuǵın JavaScript. Házirgi waqıtta olar ádette veb-brauzerde iske túsetuǵın ayırım JavaScript-ti qamtıydı, bul jaǵdayda olar ádette veb-brauzerde jumıs isleydi.[11]
  • Plaginler menen keńeytpeler basqa programmalıq támiynat bóleginiń funkcionallıǵın keńeytetuǵın yamasa ózgertetuǵın programmalıq támiynat bolıp tabıladı hám jumıs islewi ushın programmalıq támiynattı paydalanıwdı talap etedi.[12]

Programmalastırıw quralları[redaktorlaw | derekti jańalaw]

Programmalastırıw quralları sonıń menen qatar baǵdarlamashılar programmalıq quraldı jaratıw, ońlaw, qollaw yamasa basqa usıl menen qollap-quwatlaw ushın paydalanatuǵın programmalar yamasa qosımshalar túrindegi programmalıq támiynat bolıp tabıladı.[13] 

Programmalıq támiynat bir yamasa bir neshe programmalastırıw tilinde jazılǵan; kóplegen programmalastırıw tilleri bar hám hárqaysısında kem degende bir ámelge asırıw bar, olardıń hárqaysısı óziniń programmalastırıw qurallarınıń jıynaǵınan ibarat. Bul qurallar wazıypanı orınlaw ushın biriktiriliwi múmkin kompilyatorlar, ońlawshılar (debugger), interpretatorlar, siltemeler hám tekstli redaktorlar sıyaqlı salıstırmalı túrde jeke programmalar bolıwı múmkin; yamasa olar usınday jeke qurallardıń funkcionallıq imkaniyatlarınıń kópshiligi yamasa barlıǵın biriktiretuǵın integraciyalasqan islep shıǵarıw ortalıǵın (IDE) jarata aladı. IDE (ingl. Integrated Development Environment. yaǵnıy: integraciyalasqan islep shıǵarıw (rawajlandırıw) ortalıǵı) bunı tiyisli qurallardı shaqırıw yamasa olardıń funkcionallıǵın jańa usıl menen qayta ámelge asırıw arqalı isley aladı. IDE belgili bir proekttegi fayllardı izlew sıyaqlı anıq tapsırmalardı orınlawdı jeńilletedi.[14] Kóplegen programmalastırıw tiliniń ámelge asırılıwı jeke qurallardı yamasa IDE paydalanıw imkaniyatın beredi.

Derekler[redaktorlaw | derekti jańalaw]

Sırtqı siltemeler[redaktorlaw | derekti jańalaw]

  1. „ISO/IEC 2382:2015“ (en-US). ISO (3-sentyabr 2020-jıl). — „[Software includes] all or part of the programs, procedures, rules, and associated documentation of an information processing system.“. 16-mart 2023-jılda túp nusqadan arxivlendi. Qaraldı: 26-may 2022-jıl.
  2. „Compiler construction“. cs.uu.nl. 2-noyabr 2013-jılda túp nusqadan arxivlendi.
  3. Fuegi, J. (2003). Lovelace & Babbage and the creation of the 1843 'notes'. https://pdfs.semanticscholar.org/81bb/f32d2642a7a8c6b0a867379a4e9e99d872bc.pdf. 
  4. "Ada Lovelace honoured by Google doodle" (in en-US). The Guardian. December 10, 2012. https://www.theguardian.com/technology/2012/dec/10/ada-lovelace-honoured-google-doodle. 
  5. On Computable Numbers, with an Application to the Entscheidungsproblem. https://www.wolframscience.com/prizes/tm23/images/Turing.pdf. Retrieved 2022-08-28. 
  6. „What's the Difference Between Computer Science and Software Engineering?“ (en). eVidyalam. Qaraldı: 24-oktyabr 2023-jıl.
  7. Software Engineering Principles. https://doi.org/10.1080/03155986.1984.11731932. 
  8. „System Software“. The University of Mississippi. 30-may 2001-jılda túp nusqadan arxivlendi.
  9. „'App' voted 2010 word of the year by the American Dialect Society (UPDATED)“. American Dialect Society (8-yanvar 2011-jıl). 5-sentyabr 2015-jılda túp nusqadan arxivlendi. Qaraldı: 28-yanvar 2012-jıl.
  10. „Press Release“. web.archive.org (16-sentyabr 2007-jıl). Qaraldı: 17-mart 2024-jıl.
  11. „Usage Statistics of JavaScript as Client-side Programming Language on Websites“. W3Techs. Qaraldı: 27-fevral 2024-jıl.
  12. „What is a Plugin?“ (en-US). Computer Hope (6-iyun 2021-jıl). 26-yanvar 2022-jılda túp nusqadan arxivlendi. Qaraldı: 26-yanvar 2022-jıl.
  13. „What is a Programming Tool? - Definition from Techopedia“ (en-US). Techopedia.com (2-iyul 2020-jıl). 26-yanvar 2022-jılda túp nusqadan arxivlendi. Qaraldı: 26-yanvar 2022-jıl.
  14. „What is an IDE? - Integrated Development Environment Explained - AWS“ (en-US). Amazon Web Services, Inc.. Qaraldı: 25-aprel 2024-jıl.