In the essay "The End of History and the Last Programming Language" by
Richard P. Gabriel analyses the history of programming languages, and
the properties that determine the languages success or failure. His
theory consists of four parts:
1. Lanuages are accepted and evolve by a social process, not a
technical or technological one.
2. Successful languages must have modest or minimal computer resource
3. Successful languages must have a simple performance model.
4. Successful languages must not require users have "mathematical
Without going into to much detail, the bottom line is that people do not
accept new languages just because of its technical superiority.
Instead, things like availability, speed, and support by local wizards
matter. Another important point is that a language should be similar to
existing popular languages; people want evolution, not revolution.
The (very insightful) essay is part of the book "Patterns of Software",
available for free at