|
Modus ponens
модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
|
По поводу взаимодействия с железом - ну так на Лиспе писались операционные системы... Дилан позиционировался как язык для системного программирования. Го - в принципе мог бы заменить Си, и в нем очень много недостатков учли.
С++ - это явление похожее на олигополию, т.е. когда рынок занимается небольшой группой продавцов, которые согласны делится друг с другом, но никогда не с маленькими продавцами. Т.е. он когда-то занял финансово "правильную" нишу - на нем написали какие-то вещи, которые потом стали очень популярными, не зависимо от выбранной технологии (ДОС, например). Популярность продуктов потянула за собой вложения в разработку инструментов для языка, потом на этих инструментах воспиталось много людей, и так возникла лавинообразная ситуация, когда любые другие конкуренты не в состоянии что-то противопоставить. Только еще несколько таких же, по размеру, языков.
Собственно, таким же образом Кобол живет и процветает и по сей день. Кто-то мне год или два назад клялся, что и по сей день большинство кода в мире написано на Коболе - я не проверял, но охотно в это поверю. И ситуация точно такая же: нельзя отказаться изза легаси, чтобы поддерживать легаси создается еще больше легаси, но пока дело прибыльное, по причинам не зависящим от технологии, технология будет жить.
С++ отнюдь не единственный язык, который может компилироваться в нативный код, в котором есть указатели / возможность, при необходимости дописать код на ассмеблере (из того, что я знаю: на Паскале это возможно, в Лиспе - зависит от производителя, но в SBCL - да, можно, OCaml - да, можно, на счет вставок на ассемблере - не уверен, но указатели и прямой доступ к памяти там есть.) Во всех вышеперечисленных языках, естесственно есть специальные библиотеки для работы с системными процедурами. Например, Микрософт разрабатывал и разрабатывает библиотеку проверки драйверов на ОКамле.
__________________
Hell is the possibility of sanity
|