Kontentke ótiw

Joqarı tártipli programmalastırıw

Wikipedia — erkin enciklopediya

Joqarı tártipli programmalastırıw — bul funkciyalar, moduller yamasa obyektler sıyaqlı programmalıq támiynat komponentlerin mánisler retinde qollanatuǵın kompyuter programmalastırıw stili. Ol ádette joqarı tártipli funkciyalardı keńnen qollanatuǵın lyambda esaplawı sıyaqlı esaplaw modellerinen alınǵan yamasa sonnan úlgi alǵan. Eger proceduralar yamasa belgiler sıyaqlı komponentler maǵlıwmatlar sıyaqlı paydalanılıwı múmkin bolsa, programmalastırıw tilin joqarı tártipli dep esaplawǵa boladı. Mısalı, bul elementler argumentler yamasa mánisler sıyaqlı birdey usılda qollanıwǵa boladı[1].

Mısalı, joqarı tártipli programmalastırıwda funkciyalardı basqa funkciyalarǵa argument retinde beriwge boladı hám funkciyalar basqa funkciyalardıń qaytarılatuǵın mánisi bolıwı múmkin (makroslarda yamasa interpretaciyalaw ushın sıyaqlı). Bul programmalastırıw stili tiykarınan funkcional programmalastırıwda qollanıladı, biraq ol obyektke baǵdarlanǵan programmalastırıwda da júdá paydalı bolıwı múmkin. Obyektke baǵdarlanǵan programmalastırıw kontekstinde joqarı tártipli programmalastırıwdıń biraz basqasha interpretaciyası — bul joqarı tártipli xabarlar, olar funkciyalar emes, al xabarlardıń argument retinde basqa xabarlardı qabıllawına múmkinshilik beredi.

Bunı qollap-quwatlaytuǵın tillerge mısal retinde Ada, Wolfram Language, C#, Java, ECMAScript (ActionScript, JavaScript, JScript), F#, Haskell, Lisp (Common Lisp, Scheme, Clojure, basqalar), Lua, Oz, Perl, PHP, Prolog,[2] Python, Ruby, Smalltalk, Scala, ML, hám Erlang kiredi.

Derekler

  1. Reynolds, John C. (1972). "Definitional Interpreters for Higher-Order Programming Languages" (PDF). Proceedings of the ACM annual conference on - ACM '72 (Report). Vol. 2. Association for Computing Machinery. pp. 717–740. doi:10.1145/800194.805852. ISBN 9781450374927. Retrieved December 19, 2021.
  2. Naish, Lee (1996). Higher-order logic programming in Prolog (Report). Department of Computer Science, University of Melbourne. CiteSeerX 10.1.1.35.4505.