Abstract. We present an analysis of the separation of concerns in multi-language design and multilanguage specifications. The basis for our analysis is the paradigm of the multi-dimensional separation of concerns, which claims that multiple dimensions of concerns in a design should be implemented independently. Multi-language specifications are specifications where different concerns of a design are implemented using separate languages as follows. (1) Target language(s) implement domain functionality. (2) External (or scripting, meta-) language(s) implement generalisation of the repetitive design features, introduce variations, and integrate components into a design. We present case studies and experimental results for the application of the multi-language specifications in hardware design. Key words: multi-language design, separation of concerns, meta-programming, scripting, hardware design.