воскресенье, 23 февраля 2014 г.

Циферкой ошиблись! Как мелкий баг в софте поставил подножку всему миру

http://freescb.info/sites/freescb.info/files/images/090909images.preview.jpg


Автор: Евгений Золотов 15 августа 2013

Если не бояться метафизических аналогий, программное обеспечение можно представить как длинный-длинный рычаг: крохотная команда способна свернуть горы. 

К сожалению, ровно с той же холодной эффективностью рычаг работает и против своего создателя. Как это бывает, хорошо иллюстрирует совсем свежая история, произошедшая с немцем Дэвидом Криселем. Уцепившись за случайную и вроде бы ерундовую ошибку в софте (да не ошибку даже, а так, недосмотр!), он вышел на потенциальные последствия, на фоне которых меркнет и пресловутый Stuxnet. И хоть производитель пообещал патч, точку ставить рано.
А началось всё 24 июля, когда Крисель — никому не известный докторант, увлечённый самоорганизующимися компьютерными системами, а на жизнь зарабатывающий в американском консалтинговом и проектном гиганте WorleyParsons, — столкнулся со странным поведением многофункциональных устройств Xerox. Изучая копию квартирного плана, сделанную на МФУ серии WorkCentre, Дэвид (или кто-то из его коллег) обнаружил, что жилая площадь указана неверно. Поскольку на оригинале стояла правильная цифра, было очевидно, что ошибка закралась в документ во время копирования. Чтобы убедиться, что им не померещилось, они изучили другие ранее откопированные документы, а также провели опыты на нескольких ксероксовских МФУ различных модификаций — с тем же результатом: цифры как будто кто-то подменял. Вот для примера отрывок из произвольной бухгалтерской ведомости, где хорошо заметно, как это происходило.

Example-1

После первых опытов появилась возможность утверждать две вещи. Прежде всего речь не идёт о случайном шуме, возникшем вследствие некачественного сканирования: знаете, как если бы пятёрка, снятая при плохом освещении, начала казаться шестёркой. Символы именно подменялись: обратите внимание, как характерно проработана нижняя часть восьмёрки в фотографии выше — это явно восьмёрка, а не шестёрка с дорисованной дужкой! Во-вторых, это была не ошибка OCR-движка. Иначе говоря, подмена случилась не в процессе распознавания текста — потому что Крисель отключил распознавание для чистоты эксперимента!
Тут ребята впервые схватились за голову. Не нужно быть дотошным немцем, чтобы понять, почему: последствия такой «мелочи» могут оказаться катастрофическими! Xerox WorkCentre — очень популярная марка: это офисные трудяги ценой под тысячу долларов, работающие по всему миру. Мне не удалось отыскать статистики, но, думаю, не будет преувеличением предположить, что проданы миллионы таких устройств. Через них проходят счета, строительные планы, рецепты на лекарства, проектная документация на всевозможное оборудование — короче, документы, ошибки в которых могут стоить компаниям существования, а пользователям — жизни. И Дэвид (ох уж эти логичные немцы!), кажется, до сих пор не оправился от удивления: как же так Xerox, уже какое-то время знавшая о существовании ошибки, не пошевелила и пальцем, чтобы её устранить?

Example-2

Сделав своё открытие, Крисель первым делом поставил в известность производителя. Неделю спустя, когда стало ясно, что техподдержка Xerox, как говорится, ни сном ни духом, и решением даже не пахнет, он — подталкиваемый страхом, что для кого-то ошибка может аукнуться большими проблемами, — подробно изложил всё на личном сайте. К этому моменту Дэвид уже провёл настоящее исследование и выяснил кое-какие новые детали. Так, стало ясно, что ошибке подвержены как самые старые модели WorkCentre, так и новейшие. И самое важное: удалось максимально сузить круг «подозреваемых». В ходе дискуссии с подключившимися к обсуждению энтузиастами Крисель пришёл к выводу, что винить следует алгоритм компрессии графики JBIG2, применённый в ксероксовских машинах.
JBIG2 — простая и удивительно эффективная штука. Умеющий сжимать графические файлы как с потерями, так и без, он особенно хорош (да и предназначен) для сканирования текстовых документов. Приступая к сжатию очередного файла, JBIG2 создаёт своего рода картотеку наиболее часто встречающихся графических образов, то есть, скажем, запоминает, как выглядит буква «A», буква «Б» и так далее. И каждый раз, встретив что-то похожее на «A», просто подставляет готовый образ из словаря. Такой подход не только позволяет сжимать сырые графические файлы в десятки раз, но и даёт поразительный эффект: с повышением качества исходного документа размер сжатого файла уменьшается! К сожалению, как выяснилось теперь, это может выйти боком.
Скажем, шестёрка на скане среднего качества похожа на восьмёрку — и если видимая разница между ними не слишком велика, то JBIG2 может её восьмёркой и заменить. А удастся, так и двойку поменяет на семёрку, и даже единичку — на тройку.

Not-a-bug

Xerox упиралась до последнего. Первым делом, когда Крисель таки достучался до руководства компании, его попытались убедить, что он имеет дело не с багом, а с «фичей» (поистине канонический ответ, так что простите за картинку, не удержался). Лишь после двух недель препирательств компания выпустила первый пресс-релиз, в котором предупредила пользователей об опасности и предложила обходной путь (выставить в свойствах компрессии «higher» вместо «normal», а также сканировать документы с качеством выше 200 DPI). Увы, Крисель немедленно воспроизвёл ошибку и при таких параметрах — и лишь 12 августа отпраздновал полную победу: Xerox признала баг и пообещала патч в ближайшем будущем.
Что ж, осталось всего ничего: достучаться до всех покупателей WorkCentre (а также WorkCentrePro, ColorQube, BookMark) и заставить их инсталлировать апдейт. Учитывая, что, по некоторым данным, треть компьютерного мира всё ещё работает под Windows XP, реально ли это?
Но аппараты Xerox — это даже не полбеды. JBIG2, стандартизованный тринадцать лет назад, запатентован (IBM, Mitsubishi), но условия лицензирования легки, так что алгоритм распространён чрезвычайно широко. Фактически он используется сегодня в тысячах программ и аппаратных продуктов по всему миру и всем платформам, от MS Windows до Linux. Простой поиск по термину «JBIG2» в «Гугле» даёт сотни тысяч упоминаний, по большей части в связи со спецификациями или девелоперскими аспектами, ибо конечного пользователя такие подробности не интересуют, да и не должны интересовать. При этом один из читателей Криселя уже сообщил о воспроизведении ошибки с подменой цифр на МФУ фирмы Brother (популярная в России марка). А кто проверит продукты Adobe, а нашей ABBYY (и там и там JBIG2 применяется)?
Если даже Xerox столь безответственна, что, зная о проблеме явно не первый год, лишь мельком помянула её в мануалах, но так и не потрудилась исправить, можно ли рассчитывать на понимание других производителей и разработчиков?

http://surfingbird.ru/site/computerra.ru 

http://freescb.info/sites/freescb.info/files/images/090909images.preview.jpg


Автор: Евгений Золотов 15 августа 2013

Если не бояться метафизических аналогий, программное обеспечение можно представить как длинный-длинный рычаг: крохотная команда способна свернуть горы. 

К сожалению, ровно с той же холодной эффективностью рычаг работает и против своего создателя. Как это бывает, хорошо иллюстрирует совсем свежая история, произошедшая с немцем Дэвидом Криселем. Уцепившись за случайную и вроде бы ерундовую ошибку в софте (да не ошибку даже, а так, недосмотр!), он вышел на потенциальные последствия, на фоне которых меркнет и пресловутый Stuxnet. И хоть производитель пообещал патч, точку ставить рано.
А началось всё 24 июля, когда Крисель — никому не известный докторант, увлечённый самоорганизующимися компьютерными системами, а на жизнь зарабатывающий в американском консалтинговом и проектном гиганте WorleyParsons, — столкнулся со странным поведением многофункциональных устройств Xerox. Изучая копию квартирного плана, сделанную на МФУ серии WorkCentre, Дэвид (или кто-то из его коллег) обнаружил, что жилая площадь указана неверно. Поскольку на оригинале стояла правильная цифра, было очевидно, что ошибка закралась в документ во время копирования. Чтобы убедиться, что им не померещилось, они изучили другие ранее откопированные документы, а также провели опыты на нескольких ксероксовских МФУ различных модификаций — с тем же результатом: цифры как будто кто-то подменял. Вот для примера отрывок из произвольной бухгалтерской ведомости, где хорошо заметно, как это происходило.

Example-1

После первых опытов появилась возможность утверждать две вещи. Прежде всего речь не идёт о случайном шуме, возникшем вследствие некачественного сканирования: знаете, как если бы пятёрка, снятая при плохом освещении, начала казаться шестёркой. Символы именно подменялись: обратите внимание, как характерно проработана нижняя часть восьмёрки в фотографии выше — это явно восьмёрка, а не шестёрка с дорисованной дужкой! Во-вторых, это была не ошибка OCR-движка. Иначе говоря, подмена случилась не в процессе распознавания текста — потому что Крисель отключил распознавание для чистоты эксперимента!
Тут ребята впервые схватились за голову. Не нужно быть дотошным немцем, чтобы понять, почему: последствия такой «мелочи» могут оказаться катастрофическими! Xerox WorkCentre — очень популярная марка: это офисные трудяги ценой под тысячу долларов, работающие по всему миру. Мне не удалось отыскать статистики, но, думаю, не будет преувеличением предположить, что проданы миллионы таких устройств. Через них проходят счета, строительные планы, рецепты на лекарства, проектная документация на всевозможное оборудование — короче, документы, ошибки в которых могут стоить компаниям существования, а пользователям — жизни. И Дэвид (ох уж эти логичные немцы!), кажется, до сих пор не оправился от удивления: как же так Xerox, уже какое-то время знавшая о существовании ошибки, не пошевелила и пальцем, чтобы её устранить?

Example-2

Сделав своё открытие, Крисель первым делом поставил в известность производителя. Неделю спустя, когда стало ясно, что техподдержка Xerox, как говорится, ни сном ни духом, и решением даже не пахнет, он — подталкиваемый страхом, что для кого-то ошибка может аукнуться большими проблемами, — подробно изложил всё на личном сайте. К этому моменту Дэвид уже провёл настоящее исследование и выяснил кое-какие новые детали. Так, стало ясно, что ошибке подвержены как самые старые модели WorkCentre, так и новейшие. И самое важное: удалось максимально сузить круг «подозреваемых». В ходе дискуссии с подключившимися к обсуждению энтузиастами Крисель пришёл к выводу, что винить следует алгоритм компрессии графики JBIG2, применённый в ксероксовских машинах.
JBIG2 — простая и удивительно эффективная штука. Умеющий сжимать графические файлы как с потерями, так и без, он особенно хорош (да и предназначен) для сканирования текстовых документов. Приступая к сжатию очередного файла, JBIG2 создаёт своего рода картотеку наиболее часто встречающихся графических образов, то есть, скажем, запоминает, как выглядит буква «A», буква «Б» и так далее. И каждый раз, встретив что-то похожее на «A», просто подставляет готовый образ из словаря. Такой подход не только позволяет сжимать сырые графические файлы в десятки раз, но и даёт поразительный эффект: с повышением качества исходного документа размер сжатого файла уменьшается! К сожалению, как выяснилось теперь, это может выйти боком.
Скажем, шестёрка на скане среднего качества похожа на восьмёрку — и если видимая разница между ними не слишком велика, то JBIG2 может её восьмёркой и заменить. А удастся, так и двойку поменяет на семёрку, и даже единичку — на тройку.

Not-a-bug

Xerox упиралась до последнего. Первым делом, когда Крисель таки достучался до руководства компании, его попытались убедить, что он имеет дело не с багом, а с «фичей» (поистине канонический ответ, так что простите за картинку, не удержался). Лишь после двух недель препирательств компания выпустила первый пресс-релиз, в котором предупредила пользователей об опасности и предложила обходной путь (выставить в свойствах компрессии «higher» вместо «normal», а также сканировать документы с качеством выше 200 DPI). Увы, Крисель немедленно воспроизвёл ошибку и при таких параметрах — и лишь 12 августа отпраздновал полную победу: Xerox признала баг и пообещала патч в ближайшем будущем.
Что ж, осталось всего ничего: достучаться до всех покупателей WorkCentre (а также WorkCentrePro, ColorQube, BookMark) и заставить их инсталлировать апдейт. Учитывая, что, по некоторым данным, треть компьютерного мира всё ещё работает под Windows XP, реально ли это?
Но аппараты Xerox — это даже не полбеды. JBIG2, стандартизованный тринадцать лет назад, запатентован (IBM, Mitsubishi), но условия лицензирования легки, так что алгоритм распространён чрезвычайно широко. Фактически он используется сегодня в тысячах программ и аппаратных продуктов по всему миру и всем платформам, от MS Windows до Linux. Простой поиск по термину «JBIG2» в «Гугле» даёт сотни тысяч упоминаний, по большей части в связи со спецификациями или девелоперскими аспектами, ибо конечного пользователя такие подробности не интересуют, да и не должны интересовать. При этом один из читателей Криселя уже сообщил о воспроизведении ошибки с подменой цифр на МФУ фирмы Brother (популярная в России марка). А кто проверит продукты Adobe, а нашей ABBYY (и там и там JBIG2 применяется)?
Если даже Xerox столь безответственна, что, зная о проблеме явно не первый год, лишь мельком помянула её в мануалах, но так и не потрудилась исправить, можно ли рассчитывать на понимание других производителей и разработчиков?

http://surfingbird.ru/site/computerra.ru 

среда, 12 февраля 2014 г.

Компания РусГард выпустила новое программное обеспечение RusGuard Soft вер. 1.3.0

http://www.rgsec.ru/files/test_folder/soft-glavn.png

Компания РусГард рада сообщить своим клиентам и партнерам о выходе нового релиза программного обеспечения RusGuard Soft версии 1.3.0. ,  которая интегрирована с  облачным сервисом RusGuard Cloud.


облако

 «Инновация отличает лидера от догоняющего». Стив Джобс.

Выход нового программного обеспечения RusGuard Soft вер. 1.3.0 состоялся 10 февраля 2014 г. Скачать дистрибутив можно с официального сайта компании, который теперь доступен и в Англоязычной версии.
Отличительная особенность нового ПО – интеграция с облачным сервисом RusGuard Cloud, созданным на базе  надежных и функциональных  технологий Windows Azure.
Возможности облачного сервиса RusGuard Cloud:
  • Удаленный  доступ к серверам СКУД и всю необходимую информацию можно получить из любой точки мира, достаточно лишь подключения к сети Интернет;
  • Возможность построения распределенных систем через сеть Интернет без «прямых внешних» IP-адресов;
  • Передача  информации осуществляется посредством шифрованного соединения (поддержка SSL шифрования  для всех коммуникаций);
  • Сервис RusGuard Gloud и ПО RusGuard Soft совершенно  бесплатны для  пользователей СКУД RusGuard.
 Дополнительный функционал, добавленный в новом релизе ПО RusGuard Soft:
  • Добавлены настройки модуля фотоидентификации, позволяющие       скрыть личные данные сотрудников и отображать только соответствующее событие и фото;
  • Добавлена возможность сохранения в файл фотографий сотрудников из личной  карточки;
  • В свойствах групп сотрудников добавлено поле отображения количества сотрудников в группе.
Как и ранее, полный комплект ПО RusGuardSoft поставляется без ограничений на:
  • количество сотрудников;
  • количество контроллеров;
  • количество удаленных рабочих мест. 
Компания  "РусГард" специализируется на разработке, производстве и продвижении на рынках России и СНГ новейшего высокотехнологичного оборудования для систем контроля и управления доступом и охранной сигнализации. Инновационное программное обеспечение, широкие функциональные возможности оборудования, современный сервис и индивидуальный подход к каждому клиенту позволили  сразу же обратить на себя внимание и занять одну из лидирующих позиций на рынке комплексных охранных систем.
Контакты отдела продаж:
тел.: 8-495-683-96-96
e-mail: Sales@rgsec.ru
11 Февраль, 2014, Москва — РусГард

http://b2blogger.com/ 

http://www.rgsec.ru/files/test_folder/soft-glavn.png

Компания РусГард рада сообщить своим клиентам и партнерам о выходе нового релиза программного обеспечения RusGuard Soft версии 1.3.0. ,  которая интегрирована с  облачным сервисом RusGuard Cloud.


облако

 «Инновация отличает лидера от догоняющего». Стив Джобс.

Выход нового программного обеспечения RusGuard Soft вер. 1.3.0 состоялся 10 февраля 2014 г. Скачать дистрибутив можно с официального сайта компании, который теперь доступен и в Англоязычной версии.
Отличительная особенность нового ПО – интеграция с облачным сервисом RusGuard Cloud, созданным на базе  надежных и функциональных  технологий Windows Azure.
Возможности облачного сервиса RusGuard Cloud:
  • Удаленный  доступ к серверам СКУД и всю необходимую информацию можно получить из любой точки мира, достаточно лишь подключения к сети Интернет;
  • Возможность построения распределенных систем через сеть Интернет без «прямых внешних» IP-адресов;
  • Передача  информации осуществляется посредством шифрованного соединения (поддержка SSL шифрования  для всех коммуникаций);
  • Сервис RusGuard Gloud и ПО RusGuard Soft совершенно  бесплатны для  пользователей СКУД RusGuard.
 Дополнительный функционал, добавленный в новом релизе ПО RusGuard Soft:
  • Добавлены настройки модуля фотоидентификации, позволяющие       скрыть личные данные сотрудников и отображать только соответствующее событие и фото;
  • Добавлена возможность сохранения в файл фотографий сотрудников из личной  карточки;
  • В свойствах групп сотрудников добавлено поле отображения количества сотрудников в группе.
Как и ранее, полный комплект ПО RusGuardSoft поставляется без ограничений на:
  • количество сотрудников;
  • количество контроллеров;
  • количество удаленных рабочих мест. 
Компания  "РусГард" специализируется на разработке, производстве и продвижении на рынках России и СНГ новейшего высокотехнологичного оборудования для систем контроля и управления доступом и охранной сигнализации. Инновационное программное обеспечение, широкие функциональные возможности оборудования, современный сервис и индивидуальный подход к каждому клиенту позволили  сразу же обратить на себя внимание и занять одну из лидирующих позиций на рынке комплексных охранных систем.
Контакты отдела продаж:
тел.: 8-495-683-96-96
e-mail: Sales@rgsec.ru
11 Февраль, 2014, Москва — РусГард

http://b2blogger.com/ 

пятница, 23 августа 2013 г.

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

http://ponyatovskaya.ucoz.ru/Kartinki/kniga.jpg


Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.

1. Первое место с результатом ~1700 голосов заняла книга:

Совершенный код
Автор: С. Макконнелл

Тот самый Стив Макконнелл, которому приписывают фразу: "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."

Первое издание этой книги вышло в 1993 году, второе — в 2004. Первый русский перевод — в 2005 году.

«Энциклопедия хороших практик программирования. Совершенный код фокусируется на личном искусстве, мастерстве — тех вещах, которые мы интуитивно называем writing clean code. Это та книга, которая может 50 страниц описывать правильное форматирование кода и количество пробелов». Джо Спольски.

2. Второе место с близким результатом ~1500 голосов заняла книга:

Программист-прагматик. Путь от подмастерья к мастеру
Авторы: Э. Хант, Д. Томас

Первое англоязычное издание этой книги вышло в 1999 году. Первое русское издание — в 2004 году в серии «Библиотека программиста».

«Это великая книга для программистов, которые где-то как-то научились программировать, может быть, в институте, но не совсем уверены что и как делать. Это как разница между наброском и готовым произведением. То, что вы изучали в университете — это наброски, эскизы, и вы вроде бы можете рисовать красиво, но если всё ещё чувствуете, что не вполне знаете с чего начать, если кто-то предложил вам написать программу для обмена музыкой через P2P-сети, то эта книга для вас». Джо Спольски.

3. Третье место уже со значительным отставанием ~930 голосов заняла книга:

Структура и Интерпретация Компьютерных Программ
Авторы: Харольд Абельсон, Джеральд Джей Сассман

Книга на английском языке выложена авторами в свободный онлайн доступ и даже снабжена видео-лекциями.

Структура и интерпретация компьютерных программ преподавалась в Массачусетском технологическом институте, и этот курс имел влияние на весь мир по учебным программам компьютерных наук в течение последних двух десятилетий. На stackoverflow пишут, что книга буквально просветлит нас (will enlighten you) и после нее появится стремление писать великолепные программы. И что если все остальные книги делают из нас лучшего (better) программиста, то конкретно эта — сделает из читателя программиста.

4. Четвертое место со счетом ~790 голосов заняла книга:

Язык программирования C
Авторы: Брайан Керниган, Деннис Ритчи

Честно говоря, мне не до конца ясно, почему книга об определенном языке программирования попала на столь высокое место, тем более в наше время высокоуровневых языков и фреймворков. Быть может потому, что книга Кернигана и Ритчи – это культовая книга по программированию на языке Си от создателей языка, где они рассказывают своим читателям о широких возможностях Си и особенностях, отличающих его от других языков структурного программирования. Ведь в свое время язык Си разрабатывали специально для операционной системы Unix, но созданный язык был настолько универсален, что нашел свое применение и в других сферах программирования.

5. И завершает пятёрку лидеров со счетом ~680 голосов книга:

Алгоритмы. Построение и анализ
Авторы: Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн

Книга представляет собой перевод учебника по курсу построения и анализа эффективных алгоритмов, написанного в Массачусетском технологическом институте; в ней разбираются важнейшие классы быстрых алгоритмов и приёмы их построения. Изложение подробное и математически строгое. Книгу можно использовать в качестве учебника и справочника; она будет полезна как студентам, так и профессионалам в области IT.

На последующих местах расположились не менее замечательные книги, такие как "Паттерны проектирования" GoF, "Рефакторинг" Мартина Фаулера, "Мифический человеко-месяц" Ф.Брукса и т.д., книги действительно отличные, все их просто невозможно перечислить в одном обзоре.

Надеюсь, данный небольшой обзор поможет кому-нибудь найти себе интересную книгу для последующего прочтения.

Немного ссылок:

Оригинальное голосование.

Обзоры компьютерной литературы от Джо Спольски. 
http://ponyatovskaya.ucoz.ru/Kartinki/kniga.jpg


Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.

1. Первое место с результатом ~1700 голосов заняла книга:

Совершенный код
Автор: С. Макконнелл

Тот самый Стив Макконнелл, которому приписывают фразу: "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."

Первое издание этой книги вышло в 1993 году, второе — в 2004. Первый русский перевод — в 2005 году.

«Энциклопедия хороших практик программирования. Совершенный код фокусируется на личном искусстве, мастерстве — тех вещах, которые мы интуитивно называем writing clean code. Это та книга, которая может 50 страниц описывать правильное форматирование кода и количество пробелов». Джо Спольски.

2. Второе место с близким результатом ~1500 голосов заняла книга:

Программист-прагматик. Путь от подмастерья к мастеру
Авторы: Э. Хант, Д. Томас

Первое англоязычное издание этой книги вышло в 1999 году. Первое русское издание — в 2004 году в серии «Библиотека программиста».

«Это великая книга для программистов, которые где-то как-то научились программировать, может быть, в институте, но не совсем уверены что и как делать. Это как разница между наброском и готовым произведением. То, что вы изучали в университете — это наброски, эскизы, и вы вроде бы можете рисовать красиво, но если всё ещё чувствуете, что не вполне знаете с чего начать, если кто-то предложил вам написать программу для обмена музыкой через P2P-сети, то эта книга для вас». Джо Спольски.

3. Третье место уже со значительным отставанием ~930 голосов заняла книга:

Структура и Интерпретация Компьютерных Программ
Авторы: Харольд Абельсон, Джеральд Джей Сассман

Книга на английском языке выложена авторами в свободный онлайн доступ и даже снабжена видео-лекциями.

Структура и интерпретация компьютерных программ преподавалась в Массачусетском технологическом институте, и этот курс имел влияние на весь мир по учебным программам компьютерных наук в течение последних двух десятилетий. На stackoverflow пишут, что книга буквально просветлит нас (will enlighten you) и после нее появится стремление писать великолепные программы. И что если все остальные книги делают из нас лучшего (better) программиста, то конкретно эта — сделает из читателя программиста.

4. Четвертое место со счетом ~790 голосов заняла книга:

Язык программирования C
Авторы: Брайан Керниган, Деннис Ритчи

Честно говоря, мне не до конца ясно, почему книга об определенном языке программирования попала на столь высокое место, тем более в наше время высокоуровневых языков и фреймворков. Быть может потому, что книга Кернигана и Ритчи – это культовая книга по программированию на языке Си от создателей языка, где они рассказывают своим читателям о широких возможностях Си и особенностях, отличающих его от других языков структурного программирования. Ведь в свое время язык Си разрабатывали специально для операционной системы Unix, но созданный язык был настолько универсален, что нашел свое применение и в других сферах программирования.

5. И завершает пятёрку лидеров со счетом ~680 голосов книга:

Алгоритмы. Построение и анализ
Авторы: Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн

Книга представляет собой перевод учебника по курсу построения и анализа эффективных алгоритмов, написанного в Массачусетском технологическом институте; в ней разбираются важнейшие классы быстрых алгоритмов и приёмы их построения. Изложение подробное и математически строгое. Книгу можно использовать в качестве учебника и справочника; она будет полезна как студентам, так и профессионалам в области IT.

На последующих местах расположились не менее замечательные книги, такие как "Паттерны проектирования" GoF, "Рефакторинг" Мартина Фаулера, "Мифический человеко-месяц" Ф.Брукса и т.д., книги действительно отличные, все их просто невозможно перечислить в одном обзоре.

Надеюсь, данный небольшой обзор поможет кому-нибудь найти себе интересную книгу для последующего прочтения.

Немного ссылок:

Оригинальное голосование.

Обзоры компьютерной литературы от Джо Спольски. 

Последние комментарии

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
blogger