Якби хтось насправді знав, вони були б дуже багатими людьми.
Це сказав, ось моя здогадка:
Доступність
BASIC - це жахлива маленька мова, яка з'явилася разом із (усіма?) ПК, коли вони вперше вийшли. Apple II (комп'ютер за замовчуванням для багатьох вищих навчальних закладів) та ATARI 400/800 (перший супердешевий домашній комп'ютер) обидва постачалися з BASIC.
Якщо у вас був апарат UNIX (або система AT&T V, або Berkeley), у вас був C. Якщо ви хочете запрограмувати машину, це вам довелося використовувати.
EDIT : З появою та повсюдності мережі, ця вимога перетворюється на:
- Скільки дистрибутивів Linux пакують недавню копію і наскільки вони добре її оновлюють? Чи подібні бібліотеки доступні для встановлення?
- Це легко встановити в Windows (XP | Vista | 7,8 ...)?
- Чи охоплені платформи Mac / iOS?
- Чи можна його встановити без труднощів у застарілому Unix?
- Після встановлення, як легко отримати доступ до сторонніх бібліотек, і чи можна легко оновити його?
Легкість переходу
Java - хороший приклад тут. Якщо ви знали програмування на C, Java не дуже далеко випереджала, і все ж вона дала багато функцій, яких не вистачало C, а C ++ не змогла забезпечити чистоту.
C ++ з очевидних причин був легким кроком вперед від C, і його було легко продати в управління як «покращений» C. C ++ мав додаткову перевагу бути зворотним сумісним з більшою частиною існуючої застарілої бази кодів C.
Perl являв собою об'єднання програм C, awk, sed та інших утиліт Unix, все в одному пакеті. До його появи більшість системних систем здійснювалася за допомогою скриптів оболонки, склеюючи все разом незадовільним чином. Зведення все під один процес із структурами даних та управління мовою, подібною С, було знахідкою.
Заповнює потребу
C зняв, тому що це дозволило вам забезпечити ефективність наближення до монтажу, не занурившись у специфічний для машини складний для збереження світ складання.
FORTRAN зняв, оскільки дозволив легко перекладати математичні ідеї в код, не втрачаючи деталей машини.
Так само і для LISP та символічних маніпуляцій.
Пітон виріс із необхідності "кращого" Perl. (Я тут упереджений, тому більше не скажу.)
PHP був по суті ОСНОВНИМ для Інтернету - він був встановлений за замовчуванням на багатьох веб-серверах, і було легко швидко зламати щось корисне.
Адвокація, база користувачів, внесений код
Звернімо увагу, Haskell не був би десь настільки популярний, як це для мови, що не використовується, якби не невтомне відстоювання своїх розробників та користувальницької бази.
Багато мов мають культ особистості, що стоїть за творцем (-оми) мови, і всі ми знаємо, хто вони.
FORTRAN має величезний набір встановленого і перевіреного математичного коду; те ж саме для Java та веб / систем-інтеграції / MVC-систем; те саме для Perl та CPAN; те ж саме для T E X та управління документами; тощо.
це фактор
Чомусь деякі мови, здається , мають достатню кількість нових , з достатньою кількістю кивок на стару , таким чином, щоб вона виглядала легкою або потрібною. Тобто це робить свою справу. І хто тільки знає, як це відбувається?
У всякому разі, це моя найкраща здогадка, чому деякі з них роблять. Щодо того, чому деякі не ... ну, якщо вони не відповідають вищевказаним критеріям, то, мабуть, тому вони і не змогли.