Programiranje na nivou vrednosti
Programiranje vrednosti na nivou se odnosi na jednu od dve suprotstavljene paradigme programiranja koje je identifikovao Džon Bakus u svom radu na programima kao matematičkim objektima, druga je programiranje funkcija na nivou.[1] Bakus je prvobitno korišćen termin za programiranje objekata na nivou, ali taj termin je sada sklon zabuni sa objektno-orijentisanim programiranjem.
Programi vrednosti na nivou su oni koji opisuju kako da kombinujete različite vrednosti (tj brojeve, simbole, Strings, itd) da se formiraju druge vrednosti do konačne vrednosti rezultata. Nove vrednosti su izgrađene od postojećih primenom različitih vrednosti za-vrednost funkcije, kao što su sabiranje, spajanje, matrične inverzije, i tako dalje.
Konvencionalni, fon Nojman programi su vrednosti na nivou: izrazi na desnoj strani dodele izjava se isključivo bave izgradnjom vrednosti koja će tada da se čuva.
Povezivanje sa tipovima podataka[uredi | uredi izvor]
Pristup programiranju vrednosti na nivou poziva studije prostora vrednosti ispod operacija u kojima se vrednosti formiraju, i algebarske osobine tih operacija. To je ono što se naziva studija o vrstama podataka, i to je napredovalo od fokusiranja sa vrednosti sebe i svoje strukture, na primarni značaj za poslovanje u vrednosti formiranja operacija i njihovih struktura, kao što je dato od strane nekih aksioma i algebarskih zakona, koja je, algebarska studija tipova podataka.
Povezivanje sa Lambda račun jezicima[uredi | uredi izvor]
Lambda račun na bazi jezika (kao što su Lisp, ISWIM, i Scheme) u praksi jezika vrednosti na nivoa, iako nisu tako ograničeni dizajnom.
Da vidim zašto su tipični lambda stil programi pre svega vrednosti na nivou, razmislite na uobičajenu definiciju vrednost-na-vrednost funkcije, kaže
f = λx.E
ovde, može vrednost x da varira (od argumenta f je vrednost po definiciji) i E moraju previše označavati vrednost (pošto je rezultat f vrednost po definiciji). Tipično, E je izraz koji uključuje primenu funkcija vrednosti formiranih na varijabli vrednosti i konstanti; Ipak, formira se nekoliko funkcija vrednosti koje imaju obe funkcije i vrednosti argumenata ne postoje i koriste se u ograničene svrhe.
Ako se termin vrednosti definiše tako da uključuje varijablu vrednosti sebe, onda pogled na programiranja vrednost na nivou je jedan od građevinskih vrednosti primenom postojećih programa (operacije / funkcije vrednost za oblikovanje) na druge vrednosti. Programiranje lambda-stila gradi novi program sa rezultatima vrednosti od lambda-vađenje promenljive vrednosti.
Vidi još[uredi | uredi izvor]
Reference[uredi | uredi izvor]
- ^ Sergio Antoy; Michael Hanus (2010). „Functional logic programming”. Communications of the ACM. 53 (4): 74—85.
Literatura[uredi | uredi izvor]
- Abadi, Martin; Luca Cardelli (1998). A Theory of Objects. Springer Verlag. ISBN 0-387-94775-2.
- Abelson, Harold; Gerald Jay Sussman (1997). Structure and Interpretation of Computer Programs. MIT Press. ISBN 0-262-01153-0. Arhivirano iz originala 26. 12. 2017. g. Pristupljeno 10. 01. 2017.
- Armstrong, Deborah J. (2006). „The Quarks of Object-Oriented Development”. Communications of the ACM. 49 (2): 123—128. ISSN 0001-0782. doi:10.1145/1113034.1113040. Pristupljeno 8. 8. 2006.
- Booch, Grady (1997). Object-Oriented Analysis and Design with Applications. Addison-Wesley. ISBN 0-8053-5340-2.
- Eeles, Peter; Oliver Sims (1998). Building Business Objects. John Wiley & Sons. ISBN 0-471-19176-0.
- Gamma, Erich; Richard Helm; Ralph Johnson; John Vlissides (1995). Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley. ISBN 0-201-63361-2.
- Harmon, Paul; William Morrissey (1996). The Object Technology Casebook – Lessons from Award-Winning Business Applications. John Wiley & Sons. ISBN 0-471-14717-6.
- Jacobson, Ivar (1992). Object-Oriented Software Engineering: A Use Case-Driven Approach. Addison-Wesley. ISBN 0-201-54435-0.
- Kay, Alan. The Early History of Smalltalk. Arhivirano iz originala 04. 04. 2005. g. Pristupljeno 10. 01. 2017.
- Meyer, Bertrand (1997). Object-Oriented Software Construction. Prentice Hall. ISBN 0-13-629155-4.
- Pecinovsky, Rudolf (2013). OOP – Learn Object Oriented Thinking & Programming. Bruckner Publishing. ISBN 978-80-904661-8-0.
- Rumbaugh, James; Michael Blaha; William Premerlani; Frederick Eddy; William Lorensen (1991). Object-Oriented Modeling and Design. Prentice Hall. ISBN 0-13-629841-9.
- Schach, Stephen (2006). Object-Oriented and Classical Software Engineering, Seventh Edition. McGraw-Hill. ISBN 0-07-319126-4.
- Schreiner, Axel-Tobias (1993). Object oriented programming with ANSI-C. Hanser. ISBN 3-446-17426-5. hdl:1850/8544. templatestyles stripmarker u
|id=
na poziciji 1 (pomoć) - Taylor, David A. (1992). Object-Oriented Information Systems – Planning and Implementation. John Wiley & Sons. ISBN 0-471-54364-0.
- Weisfeld, Matt (2009). The Object-Oriented Thought Process, Third Edition. Addison-Wesley. ISBN 0-672-33016-4.
- West, David (2004). Object Thinking (Developer Reference). Microsoft Press. ISBN 0735619654.