Building systems from commerical components
Building systems from commerical components
ArchJava: connecting software architecture to implementation
Proceedings of the 24th International Conference on Software Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
ECOOP '07 Proceedings of the 21st European conference on ECOOP 2007: Object-Oriented Programming
Hi-index | 0.00 |
Language design focusing on a single goal like, e.g., obliviousness, may easily interfere with other desirable properties. As proposed by Leavens and Clifton, a language engineering approach should apply a number of continuous scales for assessing a language's support for the multiple concerns to be considered. This leads to languages that implement a compromise between different concerns in order to balance benefits and drawbacks. In order for such a compromise to fit for all software development projects language engineers would need to be omniscient. Therefore, I propose a more modest approach, where language engineers only set the stage for negotiations between the actual stakeholder of development. Using encapsulation as an example concern, I sketch the concept of "gradual encapsulation" where each project at each point in time may choose the appropriate balance between safety and flexibility.