Re[8]: Имя истинного врага - миссионеры.
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.08.25 20:46
Оценка:
Здравствуйте, Marty, Вы писали:

Pzz>>А может вовсе и не мало кода. С его слов это никак не следует.


M>С таким подходом сложно написать крупную систему. Не ну может он конечно уникум.


Ну а как люди пишут крупные системы на JS или Питоне? Там с проверками еще сильно хуже.

M>Подозреваю, K&R тоже про const не особо сначала подумали, а потом наелись говна и решили добавить, и спустя 15 лет оно вошло в стандарт.


Мне кажется, там уж комитет подключился.

Вообще, лет 20 назад в UNIX было полно программ, написанных на K&R C. Т.е., никаких тебе const, никаких прототипов функций...

M>Unix изначально был однозадачный, и, возможно, создатели что-то знали о размерах буфера strerror, getenv, и могли его использовать. Потом фичу порезали, но для совместимости с говнокодом сигнатуры остались как есть.


В каком смысле он был однозадачный? В том, что решал одну задачу: создавал предлог Ричи и Томпсону заныкать стоявшую в конторе "ничейную" PDP-ку и невозбранно играть на ней в Startrack?

Вообще-то, насколько я в курсе, он с самого начала был многопользовательский/многозадачный. Вот нити, да, появились в унихе довольно поздно.

M>strtol — весьма вероятно, что предполагалась возможность модифицировать буфер, если знаешь, что передал туда неконстантную строку. char* кастится к const char без предупреждений, обратно — не так. А товарищи не любили явно кастить


У товарищей ps работал путём чтения ядерной памяти из /dev/kmem. Народ тогда был не то, что ныне
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.