Multiple Concerns in Aspect-Oriented Language Design: A Language Engineering Approach to Balancing Benefits, with Examples by Gary T. Leavens and Curtis Clifton Abstract Some in the aspect-oriented community view a programming language as aspect-oriented only if it allows programmers to perfectly eliminate scattering and tangling. That is, languages that do not allow programmers to have maximal quantification and perfect obliviousness are not viewed as aspect-oriented. On the other hand, some detractors of aspect-oriented software development view maximal quantification and perfect obliviousness as causing problems, such as difficulties in reasoning or maintenance. Both views ignore good language design and engineering practice, which suggests trying to simultaneously optimize for several goals. That is, designers of aspect-oriented languages that are intended for wide use should be prepared to compromise quantification and obliviousness to some (small) extent, if doing so helps programmers solve other problems. Indeed, balancing competing requirements is an essential part of engineering. Simultaneously optimizing for several language design goals becomes possible when one views these goals, such as minimizing scattering and tangling, not as all-or-nothing predicates, but as measures on a continuous scale. Since most language design goals will only be partially met, it seems best to call them ``concerns.'' Keywords: aspect-oriented programming language design, concerns, goals, quantification, obliviousness, scattering, tangling, ease of reasoning, ease of maintenance, compromise, tradeoff, balance. 2007 CR Categories: D.1.m [Programming Techniques] Miscellaneous --- aspect-oriented programming; D.2.10 [Software Engineering] Design -- methodologies; D.3.0 [Programming Languages] General --- aspect-oriented language design; D.3.3 [Programming Languages] Language Constructs and Features --- control structures, modules, packages, procedures, functions and subroutines, advice, aspects, quantification, obliviousness. To appear in \emph{SPLAT '07}, March 12, 2007, Vancouver, British Columbia, Canada. Copyright (c) 2007 ACM ISBN 1-59593-656-1/07/03...$5.00 Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.