LINUX.ORG.RU

История изменений

Исправление byko3y, (текущая версия) :

Во-первых, очень хотел ответить, что вся проблема с оптимизацией указателей была вызвана тем, что в Си длительное время не было такого понятия, как «передача по ссылке» - как вы намерены брать указатель на значение в регистре? Передача по ссылке была в фортране, в коболе, в паскале, но K&R решили, что они выше этого. И на фоне технологий 70-х они даже в чем-то были правы, потому что оптимизирующих компиляторов не было. И здесь мы снова приходим к тому, что Си устарел уже в 80-х.

проблема нуль-терминированных строк

Давай-ка поподробнее

https://queue.acm.org/detail.cfm?id=2010365 - The Most Expensive One-byte Mistake
Did Ken, Dennis, and Brian choose wrong with NUL-terminated text strings?

Наконец-то сел и прочитал статью полностью. Я не вижу у автора статьи понимания мотивов. Хотя, даже я до конца не могу понять, почему все-таки индустрия осталась на Си.

Автор правильно заметил, что нуль-терминированные строки были приняты в ассемблерном мире, откуда пришли керниган, томпсон, и ритчи. Автор не заметил что у них уже был ассемблерные код, работающий с этими строками, потому они ничего не решали, они не проводили бессонные ночи в поисках оптимильных решений, взвешивая альтернативы - они просто как можно быстрее сделали совместимый язык, который позволял бы работать параллельно с имеющимися асмовыми решениями. По этой причине Си может быть внесен в книгу рекордов гиннесса, как первый задокументированный проект, созданный по принципам herak-herak-driven develompent.

Исходная версия byko3y, :

Во-первых, очень хотел ответить, что вся проблема с оптимизацией указателей была вызвана тем, что в Си длительное время не было такого понятия, как «передача по ссылке» - как вы намерены брать указатель на значение в регистре? Передача по ссылке была в фортране, в коболе, в паскале, но K&R решили, что они выше этого. И на фоне технологий 70-х они даже в чем-то были правы, потому что оптимизирующих компиляторов не было. И здесь мы снова приходим к тому, что Си устарел уже в 80-х.

проблема нуль-терминированных строк

Давай-ка поподробнее

https://queue.acm.org/detail.cfm?id=2010365 - The Most Expensive One-byte Mistake
Did Ken, Dennis, and Brian choose wrong with NUL-terminated text strings?

Наконец-то сел и прочитал статью полностью. Я не вижу у автора статьи понимания мотивов. Хотя, даже я до конца не могу понять, почему все-таки индустрия осталась на Си.

Автор правильно заметил, что нуль-терминированные строки были приняты в ассемблерном мире. Автор не заметил, что именно из этого мира пришли томпсон, керниган, и ритчи, что у них уже был ассемблерные код, работающий с этими строками - они ничего не решали, они просто как можно быстрее сделали совместимый язык, который позволял бы работать параллельно с имеющимися асмовыми решениями. По этой причине Си может быть внесен в книгу рекордов гиннесса, как первый задокументированный проект, созданный по принципам herak-herak-driven develompent.