Comment Language evolution (Score 1) 479
Programming languanges evolve in different ways due in large part to the style and personality of their authors, owners or shepherds. Sometimes this happens "in committee," (Ada, PL/1, and C,) sometimes thru benevolent dictatorship (Java, C#) and sometimes it's organized anarchy (Perl, Python.) But there are common threads. A language escapes from its origins and begins to mature in the field. Many users (programmers) become adherents and start to demand updgrades. Different vendors fork the base to attract more followers than their competitors. Disgruntled users demand A STANDARD! Proposals for new features are submitted, debated and then assessed by public review. Much ado is made over backward compatibility. Finally a version # is stamped. Lather, Rinse, Repeat. These cycles taper off and eventually the language survives into old age or becomes extinct.
What is critical is its adaptability to changing environments. Faster, smaller systems. Larger systems. More memory, less memory. More communications (network), and distibuted systems. Languages evolve to do more in this more diverse arena, but the better languages don't just get bigger, they refine, adapt and avoid asteroidal impacts. They exist in many ecological niches simultaneously. Consider Java and Perl in this regard. Java: J2SE, J2EE, and J2ME. Perl: Sys admin scripting, CGI-BIN and even real time video editing.
I think it is interesting that after less than a decade, C++ is being labeled as fossilizing. While its parent C is still very vital. I feel this is because the effort to bolt on object orientation on a proceedural language core resulted in too many compromises and patches (multiple inheritance, const-ness etc.) Java, on the other hand, is evolving to pickup the best from C++ (assertions, generic programming.) Maybe it is time to let the horse expire.
What is critical is its adaptability to changing environments. Faster, smaller systems. Larger systems. More memory, less memory. More communications (network), and distibuted systems. Languages evolve to do more in this more diverse arena, but the better languages don't just get bigger, they refine, adapt and avoid asteroidal impacts. They exist in many ecological niches simultaneously. Consider Java and Perl in this regard. Java: J2SE, J2EE, and J2ME. Perl: Sys admin scripting, CGI-BIN and even real time video editing.
I think it is interesting that after less than a decade, C++ is being labeled as fossilizing. While its parent C is still very vital. I feel this is because the effort to bolt on object orientation on a proceedural language core resulted in too many compromises and patches (multiple inheritance, const-ness etc.) Java, on the other hand, is evolving to pickup the best from C++ (assertions, generic programming.) Maybe it is time to let the horse expire.