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