"Ради удовольствия." - читать интересную книгу автора (Торвальдс Л., Даймонд Д.)

начинался как редактор, но его создатели встроили в него кучу разных
функций. Они хотели, чтоб это был редактор, который можно программировать,
но потом программистская часть выросла до невообразимых размеров и редактор
стал настоящим кошмаром. В него входит все, кроме разве что кухонной
раковины, именно поэтому кухонная раковина часто служит его значком.
Программа известна как чудовищный монстр, который включает больше функций,
чем в принципе может понадобиться редактору. То же самое происходило с моим
эмулятором терминала. Он превращался в нечто гораздо большее.


From: [email protected] (Linus Benedict Torvalds)
To: Newsgroup: comp.os.minix
Subject: Gcc-1.40 и вопрос о posix
Message-ID: <1991 Ju 13,100050. [email protected]>
Date: 3 Jul 91 10:00:50 GMT

Привет, сетяне!
Я сейчас делаю один проект (под minix) , и мне нужно
определение стандартов posix. Кто-нибудь знает, где
можно взять их последнюю версию, желательно в
электронном виде? Ftp-сайты годятся.



Это самое раннее публичное свидетельство того, что некий хакер из
Финляндии хочет проверить границы своих возможностей. Стандарты POSIX -- это
подробнейшие правила для каждого из сотен системных вызовов в Unix -- что
нужно для того, чтобы заставить компьютер выполнить эту операцию, начиная с
Read, Write, Open и Close. Они вырабатываются специальной организацией,
состоящей из представителей компаний, которые хотят договориться об общих
стандартах для Unix. Стандарты нужны для того, чтобы программисты могли
писать приложения, которые будут работать под разными версиями Unix. Из
списка системных вызовов, особенно наиболее важных, я хотел узнать, какие
функции нужны операционной системе. После этого я смог бы написать свои
собственные коды для выполнения всех этих функций. А соответствие стандартам
POSIX позволило бы другим, людям пользоваться моими программами.
В то время я не знал, что печатную версию этих стандартов можно было
купить непосредственно у разработчиков POSIX, но это в любом случае не имело
значения. Даже если бы покупка была мне по карману, пересылка книги в
Финляндию заняла бы слишком много времени. Поэтому я и просил указать
версию, которую можно бесплатно скачать с FТР-сайта.
На мой вопрос о стандартах POSIX никто не ответил, поэтому я перешел к
запасному плану. Я стал исследовать документацию Unix версии Sun
Microsystems -- эта система стояла на университетском сервере. Там нашлась
базовая версия системных вызовов -- для начала мне этого было достаточно.
Можно было посмотреть, что должны делать системные вызовы, а потом заняться
их реализацией. В документации не говорилось, как получить результат, просто
показывалось, каким он должен быть. Часть системных вызовов мне удалось
откопать в книге Эндрю Таненбаума и в некоторых других. В конце концов
кто-то прислал мне толстые тома со стандартами POSIX.