Kontentke ótiw

Osterxauttıń dixotomiyası

Wikipedia — erkin enciklopediya

Osterxauttıń dixotomiyası — bul kompyuter ilimpazı Djon Osterxauttıń joqarı dárejeli programmalastırıw tilleriniń hárbiri ózine tán qásiyetleri hám qollanıw tarawları bar eki toparǵa, yaǵnıy sistemalıq programmalastırıw tilleri hám skriptlew tilleri toparlarına bólinetuǵının kórsetetuǵın kategoriyalastırıwı[1] – úlken kólemdegi programmalastırıw hám kishi kólemdegi programmalastırıwdı salıstırıń.

Sistemalıq programmalastırıw tilleri (yamasa qosımsha tilleri) ádette tómendegi qásiyetlerge iye:

  • Olar statikalıq túrde tiplestiriledi
  • Olar quramalı maǵlıwmat strukturaların jaratıwdı qollap-quwatlaydı
  • Olardaǵı programmalar mashina kodına kompilyaciyalanadı
  • Olardaǵı programmalar kóbinese basqa programmalardan ǵárezsiz islewge arnalǵan

Sistemalıq programmalastırıw tilleri operaciyalıq sistemalar, maǵlıwmatlar bazası serverleri hám veb-brauzerler sıyaqlı úlken kólemdegi ishki funkcional imkaniyatları bar komponentler hám qosımshalar ushın qollanılıwǵa beyim. Bul qosımshalar ádette quramalı algoritmler menen maǵlıwmat strukturaların qollanadı hám joqarı ónimdarlıqtı talap etedi. Sistemalıq programmalastırıw tilleriniń prototip mısallarına C, OCaml hám Modula-2 kiredi.

Kerisinshe, skriptlew tilleri (yamasa baylanıstırıwshı tiller) tómendegi qásiyetlerge iye bolıwǵa beyim:

  • Olar dinamikalıq túrde tiplestiriledi
  • Olarda quramalı maǵlıwmatlar strukturaları ushın az yamasa ulıwma imkaniyat joq
  • Olardaǵı programmalar (skriptler) interpretaciyalanadı

Skriptlew tilleri funkcional imkaniyatlardıń kópshiligi basqa programmalardan (kóbinese sistemalıq programmalastırıw tillerinde ámelge asırılǵan) keletuǵın qosımshalar ushın qollanılıwǵa beyim; skriptler basqa programmalardı bir-birine baylanıstırıw yamasa bar programmalardıń ústine qosımsha funkcional imkaniyatlar qatlamların qosıw ushın qollanıladı. Osterxaut skriptlerdiń qısqa bolıwǵa beyim ekenin hám kóbinese azıraq tájiriybeli baǵdarlamashılar tárepinen jazılatuǵının aytadı. Sonlıqtan, orınlanıw nátiyjeliligi ápiwayılılıqqa hám basqa programmalar menen óz-ara tásir etiwi ańsatlıǵına qaraǵanda azıraq áhmiyetli. Skriptlew ushın keń tarqalǵan qollanıw tarawlarına veb-betlerdi generaciyalaw, esabatlar dúziw, grafikalıq paydalanıwshı interfeysleri hám sistemanı basqarıw kiredi. Skriptlew tilleriniń prototip mısallarına Python, AppleScript, C shell hám Tcl kiredi.

Osterxauttıń dixotomiyası onıń Tcl tiliniń dizaynınıń tiykarında jatadı.

Tariyxı

Bul dixotomiya Ousterhout (1998) jumısında tolıq bayan etilgen, degen menen Ousterhout bul ayırmashılıqtı keminde Tcl tiliniń dizaynınan (1988) baslap anıqlaǵan hám onı hár túrli waqıtlarda jámiyetshilikke bildirgen. Dáslepki waqıyalardan biri 1994-jıldıń sentyabr ayı aqırı hám oktyabr ayında bolǵan «Tcl urısı» boldı, onda Richard Stallman Tcl-dı sınǵa alatuǵın «Nege Tcl paydalanbawıńız kerek»[2] atlı maqalası járiyaladı, oǵan Ousterhout óz dixotomiyasın túsindiriw menen juwap berdi:[3]

Men Stallmannıń Tcl-ǵa qarsı pikirleri tiykarınan onıń ya túsinbeytuǵın, ya bolmasa kelispeytuǵın Tcl dizaynınıń bir aspektinen kelip shıǵıwı múmkin dep oylayman. Bul — úlken programmalıq támiynat sisteması ushın eki tildi paydalanıw kerek degen usınıs: biri, mısalı C yamasa C++, ónimlilik áhmiyetli bolǵan quramalı ishki maǵlıwmatlar strukturaların manipulyaciyalaw ushın, al ekinshisi, mısalı Tcl, C bólimlerin bir-birine baylanıstıratuǵın hám keńeytpeler ushın paydalanılatuǵın kishirek skriptler jazıw ushın.

Sın

Sınshılar bul dixotomiyanıń júdá erikli ekenine isenedi hám onı Osterxauttıń qátelesiwi yamasa Osterxauttıń jalǵan dixotomiyası dep ataydı[4]. Statikalıq hám dinamikalıq tiplestiriw, maǵlıwmatlar strukturasınıń quramalılıǵı hám ǵárezli hám ǵárezsiz bolıw bir-birine baylanıslı emes ózgeshelikler dep aytıwǵa bolǵanı menen, Osterxauttıń dixotomiyasına qaratılǵan ádettegi sın — onıń kompilyaciyalaw menen interpretaciyalaw arasındaǵı ayırmashılıǵı. Semantika da, sintaksis te til implementaciyasınıń mashina tiline kompilyaciyalanıwına, interpretaciyalanıwına, tokenlestiriliwine yamasa hár bir iske qosıwdıń basında bayt-kompilyaciyalanıwına yamasa bulardıń hár qanday birikpesine áhmiyetli dárejede baylanıslı emes. Bunnan tısqarı, keń tarqalǵan tillerdiń derlik hesh qaysısı kompilyatorsız taza interpretaciyalanbaydı; bul kompilyaciyalaw menen interpretaciyalawdı programmalastırıw tilleriniń taksonomiyasında gúmanlı parametrge aylandıradı[5].

Derekler

  1. Ousterhout, John. «Scripting: Higher Level Programming for the 21st Century». IEEE Computer magazine (mart 1998). Qaraldı: 27-mart 2020-jıl.
  2. Stallman, Richard (1994-09-23). "Why you should not use Tcl". Newsgroup: comp.lang.tcl. Usenet: 9409232314.AA29957@mole.gnu.ai.mit.edu. Retrieved 2015-09-13.
  3. Ousterhout, John (1994-09-26). "Re: Why you should not use Tcl". Newsgroup: comp.lang.tcl. Usenet: 367307$1un@engnews2.Eng.Sun.COM. Retrieved 2015-09-13.
  4. Stuart Halloway. Osterhout's Dichotomy Isn't.
  5. This article is based on material taken from Ousterhout%27s+dichotomy at the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.