The modularization of domain-specific modeling languages (DSMLs) during language development is important for languages or language parts to be reusable. As languages and their components are created using different language workbenches or modeling tools, the definitions and concepts for such language components are often limited to their individual technological spaces. In reality, language development requires significant effort, and DSMLs are often built from scratch within a single technological space, with little consideration for the generalization of the development concepts to other technological spaces. In this article, we discuss common notions of language components that are valid across the textual and graphical technological spaces and provide definitions, concepts, and realization techniques to foster the reusability of such language parts during DSML development. To this end, we first individually define language components and the various forms of language composition in MontiCore, a textual language workbench, and MagicDraw, a graphical modeling tool, and then describe unified cross-cutting concepts of language components that are crucial in developing variants or families of similar languages valid in both the textual and the graphical technological spaces. These language components that are described regardless of their individual technological spaces ensure the reusability of common language parts, ultimately supporting language engineers in developing complex modular DSMLs in the large.