Програмирање вредности на нивоу се односи на једну од две супротстављене парадигме програмирања које је идентификовао Џон Бакус у свом раду на програмима као математичким објектима, друга је програмирање функција на нивоу.[1] Бакус је првобитно коришћен термин за програмирање објеката на нивоу, али тај термин је сада склон забуни са објектно-оријентисаним програмирањем.
Програми вредности на нивоу су они који описују како да комбинујете различите вредности (тј бројеве, симболе, Стрингс, итд) да се формирају друге вредности до коначне вредности резултата. Нове вредности су изграђене од постојећих применом различитих вредности за-вредност функције, као што су сабирање, спајање, матричне инверзије, и тако даље.
Конвенционални, фон Нојман програми су вредности на нивоу: изрази на десној страни доделе изјава се искључиво баве изградњом вредности која ће тада да се чува.
Повезивање са типовима података
Приступ програмирању вредности на нивоу позива студије простора вредности испод операција у којима се вредности формирају, и алгебарске особине тих операција. То је оно што се назива студија о врстама података, и то је напредовало од фокусирања са вредности себе и своје структуре, на примарни значај за пословање у вредности формирања операција и њихових структура, као што је дато од стране неких аксиома и алгебарских закона, која је, алгебарска студија типова података.
Повезивање са Ламбда рачун језицима
Ламбда рачун на бази језика (као што су Lisp, ISWIM, и Scheme) у пракси језика вредности на нивоа, иако нису тако ограничени дизајном.
Да видим зашто су типични ламбда стил програми пре свега вредности на нивоу, размислите на уобичајену дефиницију вредност-на-вредност функције, каже
f = λx.E
овде, може вредност x да варира (од аргумента f је вредност по дефиницији) и E морају превише означавати вредност (пошто је резултат f вредност по дефиницији). Типично, E је израз који укључује примену функција вредности формираних на варијабли вредности и константи; Ипак, формира се неколико функција вредности које имају обе функције и вредности аргумената не постоје и користе се у ограничене сврхе.
Ако се термин вредности дефинише тако да укључује варијаблу вредности себе, онда поглед на програмирања вредност на нивоу је један од грађевинских вредности применом постојећих програма (операције / функције вредност за обликовање) на друге вредности. Програмирање ламбда-стила гради нови програм са резултатима вредности од ламбда-вађење променљиве вредности.
Види још
Референце
Литература
- 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. Архивирано из оригинала 26. 12. 2017. г. Приступљено 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. Приступљено 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. Архивирано из оригинала 04. 04. 2005. г. Приступљено 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.
- 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.