Component Oriented Software (Page 3)
<< Introduction & Message Forum
<< Page 2 (Language Evolution)
Language Lifecycle
In order to understand the direction of a programming language, it is important to understand its dynamics from both a technical and economic perspective. I have divided the lifecycle into the following stages:
1. Conception
2. Adoption
3. Acceptance
4. Maturation
5. Inefficiency
6. Deprecation
7. Decay
Conception
A language is conceived to meet a requirement that other languages do not meet. Countless languages have been written, but those C++ and Java have come from corporate research labs, rather than Universities (C++ from AT&T) and (Java from Sun), both have take off.
Adoption
Languages are adopted to make the programmer more efficient. This is driven by the programmers because they are bright and don't like mundane coding. Languages have API's back into the libraries of those they are replacing.
Acceptance
Once the market sees that tools are sufficiently bug free and early adopters have made profits there is a general acceptance of a language. Green field projects expose requirements and ideas for tools and libraries are conceived.
Maturation
Languages, libraries and tools mature. They are capable and deliver profitable solutions. There is an increased demand for functionality, rather than efficiency, in order to reap profits. Standards bodies attempt to control the spread of ideas.
Inefficiency
Development has become slow as libraries become more inefficient. The rush to provide functionality has created a market that is fragmented subtly fragmented by vendors implementing standards differently. There is a large increase in the number of case tools and code generators.
Deprecation
Developers start to understand that it is costly to develop using the language. Frustration begins to set in a designers take a deeper look at the issues causing the inefficiencies.
Decay
A young pretender appears and challenges the leader. Lean, mean and fast the new language has apparently come from a research department of a large technology company. Marketing departments lock horns and invariably the old order is over thrown.
>> Page 4 (Object-Oriented Java)
<< Back to Programming
|