The naming capabilities of programming languages are still catching up. Consistent data access is particularly important for language embedding. However, it is quite difficult to share information, besides that passed as arguments, between two languages. This creates yet another location-dependent access protocol. Thus a common solution is to store values in files and use the ubiquitous naming mechanism of the filesystem to make up for deficiencies in the languages.
Scripting languages have the potential to radically change the way people program.
What this portends for subroutine libraries is a shift away from providing control flow and naming, since these will be provided by the scripting language. Instead, the emphasis will be on unstructured primitives which can be combined in complex ways and seamlessly integrated with other subroutine libraries, by binding these primitives to new scripting language commands. In this way, people can choose the syntax, control flow, and naming mechanisms they want, by using different scripting languages, but still have access to the same software libraries. However, the subroutine libraries should be able to access data using the naming mechanism of the scripting language. Otherwise, the commands bound to these routines can only access data explicitly passed as arguments, leading to the language embedding problem described earlier.