{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,28]],"date-time":"2025-09-28T04:16:29Z","timestamp":1759032989838},"reference-count":31,"publisher":"World Scientific Pub Co Pte Lt","issue":"06","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2008,9]]},"abstract":"<jats:p> Dynamic languages are becoming widely used in software engineering due to the flexibility needs of specific software systems. Different example scenarios are the development of dynamic aspect oriented software, Web applications, adaptable and adaptive software or application frameworks. One important lack of these languages is compile-time error detection offered by static languages. However, runtime performance is the most serious limitation to use them in commercial software development. Although JIT optimizing compilation is a widely used technique to speed up intermediate code execution, this has not been successfully applied to dynamically adaptive platforms yet. <\/jats:p><jats:p> We present an approach to improve the structural reflective primitives offered by dynamic languages. Looking for a language-neutral platform with a good JIT-based runtime performance, we have used the Microsoft shared source implementation of the CLI. Its model has been extended with semantics of prototype-based object-oriented models, much more suitable than the class-based one for reflective environments. This augmented semantics together with JIT generation of native code has produced significantly better runtime performance than the existing implementations. <\/jats:p>","DOI":"10.1142\/s021819400800388x","type":"journal-article","created":{"date-parts":[[2008,12,16]],"date-time":"2008-12-16T06:06:41Z","timestamp":1229407601000},"page":"759-783","source":"Crossref","is-referenced-by-count":16,"title":["OPTIMIZING REFLECTIVE PRIMITIVES OF DYNAMIC LANGUAGES"],"prefix":"10.1142","volume":"18","author":[{"given":"JOSE MANUEL","family":"REDONDO","sequence":"first","affiliation":[{"name":"Department of Computer Science, University of Oviedo, Calvo Sotelo s\/n, 33007, Oviedo, Spain"}]},{"given":"FRANCISCO","family":"ORTIN","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Oviedo, Calvo Sotelo s\/n, 33007, Oviedo, Spain"}]},{"given":"JUAN MANUEL","family":"CUEVA","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Oviedo, Calvo Sotelo s\/n, 33007, Oviedo, Spain"}]}],"member":"219","published-online":{"date-parts":[[2011,11,21]]},"reference":[{"key":"rf2","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-739X(99)00088-6"},{"key":"rf3","volume-title":"The UCSD Pascal Handbook","author":"Clark R.","year":"1982"},{"key":"rf4","first-page":"497","volume":"15","author":"Moore F.","journal-title":"Astron. Astrophys. (Suppl.)"},{"key":"rf6","volume-title":"The Language and Its Implementation","author":"Goldberg A.","year":"1983"},{"key":"rf7","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/6.4.308"},{"key":"rf8","volume-title":"Technical Note 309","author":"Warren D. H. D.","year":"1983"},{"key":"rf9","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.4330020404"},{"key":"rf10","volume-title":"The Python Language Reference Manual","author":"Van Rossum G.","year":"2003"},{"key":"rf11","volume-title":"Programming Ruby","author":"Thomas D.","year":"2004"},{"key":"rf12","volume-title":"The Dylan Reference Manual","author":"Shalit A.","year":"1996"},{"key":"rf14","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(02)00157-7"},{"key":"rf16","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2004.52"},{"key":"rf17","volume-title":"JavaWorld","author":"Laddad R.","year":"2002"},{"key":"rf24","volume-title":"Orthogonality and the DRY Principle","author":"Venners B.","year":"2003"},{"key":"rf26","volume-title":"Agile Web Development with Rails. A Pragmatic Guide","author":"Thomas D.","year":"2005"},{"key":"rf27","volume-title":"Ajax in Action","author":"Crane D.","year":"2005"},{"key":"rf28","volume":"27","author":"Ralph J.","journal-title":"OOPSLA '92 ACM SIGPLAN Notices"},{"key":"rf31","volume-title":"Metaclass Programming in Python \u2014 Pushing Object-Oriented Programming to the Next Level","author":"Mertz D.","year":"2003"},{"key":"rf32","volume-title":"Zope 3 Developer's Handbook","author":"Richter S.","year":"2005"},{"key":"rf33","volume-title":"Twisted Network Programming Essentials","author":"Fettig A.","year":"2005"},{"key":"rf37","volume-title":"Are Dynamic Languages Going to Replace Static Languages?","author":"Martin R. C.","year":"2003"},{"key":"rf38","volume-title":"Dynamic Languages and Virtual Machines","author":"Udell J.","year":"2003"},{"key":"rf41","volume-title":"Shared Source CLI Essentials","author":"Stutz D.","year":"2003"},{"key":"rf46","volume-title":"Research Directions in Object-Oriented Programming","author":"Skarra A. H.","year":"1987"},{"key":"rf48","series-title":"LNCS","volume-title":"System Mechanisms","volume":"1357","author":"Golm M.","year":"1997"},{"key":"rf49","volume":"37","author":"Roddick J.","journal-title":"Information and Software Technology"},{"key":"rf51","volume-title":"Organizing Programs without Classes, Lisp and Symbolic Computation","author":"Ungar D.","year":"1991"},{"key":"rf52","volume-title":"Towards a Universal Implementation Substrate for Object-Oriented Languages","author":"Wolczko M.","year":"1996"},{"key":"rf54","volume":"22","author":"Ungar D.","journal-title":"Proc. OOPSLA Conf. SIGPLAN Notices"},{"key":"rf56","doi-asserted-by":"publisher","DOI":"10.1002\/1096-9128(200005)12:6<375::AID-CPE480>3.0.CO;2-M"},{"key":"rf57","volume-title":"Microbenchmarking C++, C#, and Java","author":"Bruckschlegel T.","year":"2005"}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S021819400800388X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,6]],"date-time":"2019-08-06T21:45:09Z","timestamp":1565127909000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S021819400800388X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,9]]},"references-count":31,"journal-issue":{"issue":"06","published-online":{"date-parts":[[2011,11,21]]},"published-print":{"date-parts":[[2008,9]]}},"alternative-id":["10.1142\/S021819400800388X"],"URL":"https:\/\/doi.org\/10.1142\/s021819400800388x","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2008,9]]}}}