Kontentke ótiw

Qatań programmalastırıw tili

Wikipedia — erkin enciklopediya

Qatań programmalastırıw tili — bul paydalanıwshı tárepinen tek qatań funkciyalardıń (parametrleri shaqırılıwınan aldın tolıq bahalanıwı kerek bolǵan funkciyalar) anıqlanıwına ruqsat etetuǵın programmalastırıw tili. Qatań emes programmalastırıw tili paydalanıwshıǵa qatań emes funkciyalardı anıqlawǵa imkaniyat beredi, sonlıqtan erinshek bahalawǵa da ruqsat etiwi múmkin. Kópshilik qatań emes tillerde qatań emeslik maǵlıwmat konstruktorlarına da keńeyedi.

Táriyiplew

Qatań programmalastırıw tili — bul tek qatań funkciyalardıń (parametrleri shaqırılıwınan aldın tolıq bahalanıwı kerek bolǵan funkciyalar) paydalanıwshı tárepinen anıqlanıwına ruqsat etetuǵın qatań programmalastırıw paradigmasın qollanatuǵın programmalastırıw tili. Qatań emes programmalastırıw tili paydalanıwshıǵa qatań emes funkciyalardı anıqlawǵa imkaniyat beredi, sonlıqtan erinshek bahalawǵa da ruqsat etiwi múmkin.

Qatań emesliktiń bir neshe kemshilikleri bar, olar keń tarqalıwına kesent etken:

  • Ańlatpalardıń qashan hám qalay bahalanatuǵını haqqındaǵı belgisizlik sebepli, qatań emes tiller paydalı bolıwı ushın ulıwma alǵanda taza funkcional bolıwı kerek.
  • Házirgi waqıtta keń tarqalǵan barlıq apparatlıq támiynat arxitekturaları qatań tiller ushın optimallastırılǵan, sonlıqtan qatań emes tiller ushın eń jaqsı kompilyatorlar qatań tiller ushın eń jaqsı kompilyatorlarǵa qaraǵanda ásterek isleytuǵın kod dúzedi.
  • Qatań emes programmalardıń keńislik quramalılıǵın túsinip alıw hám aldınnan boljaw qıyın.
  • Kóp qatań tillerde qatań emes funkciyalardıń ayırım artıqmashılıqların makroslar yamasa thunklar járdeminde alıwǵa boladı.

Qatań programmalastırıw tilleri kóbinese jedel bahalaw menen, al qatań emes tiller erinshek bahalaw menen baylanıslı, biraq hárbir jaǵdayda basqa da bahalaw strategiyaları múmkin. «Jedel programmalastırıw tili» hám «erinshek programmalastırıw tili» terminleri kóbinese sáykes túrde «qatań programmalastırıw tili» hám «qatań emes programmalastırıw tili»niń sinonimleri retinde qollanıladı.

Mısallar

Búgingi kúnde keń tarqalǵan derlik barlıq programmalastırıw tilleri qatań. Mısallarǵa C#, Java, Perl (barlıq versiyaları, yaǵnıy 5 hám 7-versiyalarına shekem), Python, Ruby, Common Lisp hám ML kiredi. Ayırım qatań programmalastırıw tilleri erinsheklikke elikleytuǵın ózgesheliklerdi óz ishine aladı. Raku (burınǵı atı Perl 6) erinshek dizimlerge iye,[1] Pythonda generaciyalawshı funkciyalar bar, al Julia qatań emes funkciyalar dúziw ushın makro sistema usınadı, Scheme sıyaqlı[2].

Qatań emes tillerge mısallar — Haskell, R, Miranda hám Clean.

Keńeytiw

Kópshilik qatań emes tillerde qatań emeslik maǵlıwmat konstruktorlarına da keńeyedi. Bul barlıq dáslepki sanlar dizimi sıyaqlı konceptual sheksiz maǵlıwmat strukturaların ádettegi shekli maǵlıwmat strukturaları sıyaqlı manipulyaciyalawǵa imkaniyat beredi. Ol sonday-aq shaxmattıń tolıq oyın teregi sıyaqlı júdá úlken, biraq shekli maǵlıwmat strukturaların qollanıwǵa da imkaniyat beredi.

Derekler

  1. «Raku Programming/Lazy Lists and Feeds - Wikibooks, open books for an open world». en.wikibooks.org. Qaraldı: 9-fevral 2021-jıl.
  2. Innes, Mike J. (2021-02-06), MikeInnes/Lazy.jl, qaraldı: 2021-02-09