Открыть список
Как стать автором
Обновить

Комментарии 29

Если окажется интересно, буду переводить еще. Раймонд Чен пишет практически раз в день.
Надеюсь (если будете преводить) остальные его труды помонументальнее.
Раймонд Чен — блоггер. Это пост в блоге, а не статья. Они все примерно такого размера.
Пишите, очень интересно.
Вот сразу вопрос :)
Как находят такие «никакие» топики?
Ясное дело, всякие коллективные блоги читаются, а мегапосты из них — выводятся на главную.
Понятно, у некоторых людей есть читатели персональных блогов.

Но каким образом могут найти этот топик?
Только те, кто читают прямой эфир?
На главной странице хабра есть вкладка «личные».
Ну понятно, что есть такие места. Просто есть подозрение — они не самые популярные :))
Как показала практика — действительно ошибаюсь :)
Во всяком случае до коллективного блога осталось всего ничего :))
НЛО прилетело и опубликовало эту надпись здесь
Перевод на мой взгляд далеко на самый лучший, да еще полно опечаток и ошибок.
Если вам не лень, можете указать парочку, исправлю.
* переменных окружения измениться прямо в руках
* Соответствующая фунция FreeEnvironmentStrings
Как я уже писал ниже, у меня почему-то Internal Server Error при попытке редактировать.
Сегодняшний пример — функция GetEnvironmentStrings, которая возвращает все переменные среды текущего процесса в одном блоке, который для изучения на досуге.

Кстати, environment variables обычно переводятся как переменные окружения.
Еще я бы отказался от слова «тупыми» и заменил на «глупыми» или «бессмысленными».

Кстати, еще одна опечатка:
* Программы, сделанные в соответствие с реализацией
Спасибо-спасибо :)
Мне реально щас никак не исправить ничего, падает. Попробую скачать какой-нибудь другой браузер.
В общем так.
Три браузера — три разных комментария к XML ошибке :)
Поясню. Я ни в коей мере не против регулярных переводов блога Чена, просто было бы неплохо, если бы вы перечитывали свой перевод.
В дальнейшем исправлюсь.
Щас у меня какие-то глюки, и пост неотредактировать.
Вроде исправил все ошибки.
Если что еще — пишите, поправлю.
имхо еще раз показывает подход микрософт. Написать бесполезную функцию, зато отдокументировать ее.
А вот через 10 лет внезапно поменять ее так, что она становится абсолютно необходимой.
И весь остальной мир обвинить в дурном тоне… Ну как же вы не вызвали функцию которая целых 10 лет
была бесполезной. Бред. Вызывать функции, которые ничего не делают — нонсенс. Я конечно понимаю
что на оптимизацию, уменьшение и ускорение кода сейчас все смотрят сквозь призму гигагерцев…
Не забывайте, пожалуйста, что в топике говорится про Unicode версию.
У ANSI версии функции всегда была полезная функциональность, поскольку копия окружения делалась в любом случае.

Про «оптимизацию» — вызов пустой функции практически ничего не стоит, тем более такой — которая ни в каких критических путях не вызывается.

У Microsoft уже был неприятный опыт, когда при проектировании MS-DOS в функциях FindFirst/FindNext опустили FindClose, которая «ничего не делала». Оказалось, в дальнейшем, такая функция была очень нужна. У Чена был пост на эту тему, я его потом переведу, если напомните.
Имхо ещё раз показывает подход быдло-программистов, которые вместо того, чтобы внимательно читать мануалы и вызывать функции как положено, начинают заниматься псевдо-оптимизацией и выбрасывать вызовы якобы «бесполезных» функций. А потом обвинять Microsoft в дурном тоне, а заодно и в преступлениях, которые она не совершала.
Вот так и рождаются баги...:)
Спасибо за пример. Когда вижу пару функций GetBlaBlaBla/FreeBlaBlaBla, рука непроизвольно тянется к пистолету написать обёрточный класс, где эти Get/Free вызываются автомагически (речь идет о C++).
В большинстве случаев написания оберточного класса можно избежать и использовать boost::shared_ptr.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.