This type of multi-language use requires careful planning. Programmers must therefore accommodate MUMPS even as they try to move forward to using other more common, more powerful, and better-maintained languages. No one wants to learn MUMPS, and those who do know it are literally dying off. Veterans Administration, which has a large number of vital systems coded in a language called MUMPS (no kidding) that was designed by medical doctors, not computer scientists. Simply discarding that implied contract can chase away customers in droves, and can bankrupt a company overnight if other options are readily available.Īt the same time, not replacing old code in an old language can be just as dangerous as replacing it wholesale. That community quite often is a major source of revenue for a company, or the main target of support for government software. Legacy code, even bad legacy code, often includes what amounts to an implicit "contract" of features expected by the community that uses the legacy product. However much trouble legacy code may cause, naively assuming that it can be replaced easily with new code in a new language can be incredibly risky. Reason 2, the need to accommodate legacy code, is ignored at the peril of any large project. I know of no better example of the value of this approach than Microsoft's large-scale adoption of open source software in their browsers. In best-case scenarios, mixing languages via this kind of reuse is no more costly to the project than using operating system components. ![]() ![]() This in turn makes opportunities for strict enforcement of the use of a single language within a project less common.Įspecially in the case of a project reusing well-managed open source components, the use of multiple languages can provide huge overall cost benefits because the reused components are both hidden behind well-designed interfaces, and are independently maintained by zero-cost external groups. The "let's code it all internally" philosophy of past decades continues to fade in the face of economic realities, and is essentially never the most cost-effective approach for any new projects. Reason 1, the cost benefits of reuse, has become an increasingly powerful reason to allow the use of multiple languages in a project due both to the greater role of open source software and improved capabilities to find the right code components on the web. These negative factors unfortunately are common causes of "accidental" multi-language use. Reasons 5 and 6 are negative, symptoms of resistance to needed change, poor planning, ineffective management, or some combination of all of these factors. Reasons 1-4 are positive reasons in the sense that addressing them directly can help a project conclude faster, more efficiently, with a higher-quality product, and with easier long-term support. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |