DocumentCode :
2645846
Title :
Language subsetting via reflection and overloading
Author :
Lusth, John C. ; Kraft, Nicholas A. ; Tacey, James
Author_Institution :
Univ. of Alabama, AL, USA
fYear :
2009
fDate :
18-21 Oct. 2009
Firstpage :
1
Lastpage :
6
Abstract :
Guy L. Steele Jr., in the paper ¿Growing a Language,¿ makes a strong argument for languages that can be easily extended. Just as importantly, one should be able to shrink a language as well. Two important areas wherein one might wish to restrict language features are education and coding under style guidelines. There are a number of ways to implement restrictions, many of which depend upon reparsing the source code. An alternative approach exists if the language in question has a rich enough set of features for reflection and overloading. If so, these features can be used to detect violations, both dynamically and statically. The latter methodology has the advantage that restrictions are implemented in the very language that is being restricted and do not depend upon parsing source code. This paper explores using overloading and reflection to enforce restrictions in such a way that enforcement is turned on simply by including a library. An example library is developed that is suitable for students taking an introductory programming course.
Keywords :
computer science education; programming languages; education; introductory programming course; language subsetting; library; overloading; reflection; Application software; Code standards; Computer languages; Guidelines; Investments; Libraries; Programming profession; Reflection; Software maintenance; Standards organizations; About four; alphabetical order; key words or phrases; separated by commas (for suggestions: Cameraready, FIE format, Preparation of papers Two-column format);
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Frontiers in Education Conference, 2009. FIE '09. 39th IEEE
Conference_Location :
San Antonio, TX
ISSN :
0190-5848
Print_ISBN :
978-1-4244-4715-2
Electronic_ISBN :
0190-5848
Type :
conf
DOI :
10.1109/FIE.2009.5350866
Filename :
5350866
Link To Document :
بازگشت