Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Блоги » Обзоры и обсуждение компьютерной литературы. » Практика программирования

Модерирует : emx

 Версия для печати • ПодписатьсяДобавить в закладки

   

albatros



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Брайн Керниган, Роб Пайк.
Практика программирования.
   
Перевод с английского. Издательство: Невский Диалект.
ISBN 5-7940-0058-9. Мягкая обложка.
Дата выхода: 2001, 381 страница.
 
Аннотация издателя:

Цитата:
Книга написана известнейшими американскими специалистами — авторами многих книг (в том числе переведенных на русский язык) и программистами (разработчиками таких систем, как ОС UNIX, язык программирования Си, язык скриптов AWK и др.). В систематической форме в ней излагаются основанные на многолетнем и разностороннем опыте рекомендации авторов: как надо программировать, как разрабатывать программу, как ее писать, как отлаживать, какие средства выбирать. Книга нужна каждому активно работающему программисту и студентам, специализирующимся в создании программного обеспечения. Она может (и должна бы) использоваться в качестве учебного пособия по соответствующим курсам.  

Содержание книги.
 
В оригинале: Brian W. Kernighan, Rob Pike. The Practice of Programming.
Издательство: Addison-Wesley, дата выхода: 1999, ISBN 0-201-61586-X

Всего записей: 512 | Зарегистр. 28-12-2002 | Отправлено: 22:22 18-09-2003
azakharchuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Надеюсь, что я ничего не перепутал, и то что я делаю не идет в разрез с правилами. В общем:
 
Для начала хотелоь бы как-то классифицировать эту книгу. В целом, среди ИТ-книг посвященных программированию я бы выделил книги прикладные (которые рассматривают некоторую технологию, язык программирования и пр) и книги фундаментальные, которые стоят на несколько более высоком уровне абстракции (и охватывают целый класс технологий, языков программирования и пр), эдакая себе "беллетристика". Классическими (читай must read) в этой группе книгами я считаю:
- Фредерик Брукс "Мифический человеко-месяц. Как создаюся программные системы." - обязательная книга для менеджера.
- Гради Буч "Объектно-ориентированный анализ и проектирование с примерами применения" - обязательная книга для архитектора и проектировщика.
- собственно, "Практике программирования" я и отвожу роль "беллетристики для кодировщика".
 
Авторы далеки от рассмотрения конкретного языка программирования или библиотеки, каких-либо алгоритмов и т. д.. Книга не сосредотачивается на вопросе "что мы (как кодировщики) делаем", книга рассматривает "как мы делаем". При этом в обобщенном виде подаются некоторые практики, которые могут и должны использоваться в работе кодировщика, но используются редко. Хотя, для кодировщика со стажем, многое в этой книге покажется знакомым, и, в общем-то, не новым. Так и есть. Но вопрос в другом, используется ли это на практике? Данная книга, лишний раз напомнит обо всех этих "неновых" практиках, рассмотрит каждую, возможно, с новой для вас точки зрения, что откроет какие-то новые преимущества, которые таки заставят вас использовать их на практике.
 
Что дает эта книга:
- кодировщику - книга позволит освежить взгляд на процессы низкоуровневого проектирования, разработки алгоритмов, кодирования, отладки, тестирования, профилирования и автоматизации рутинных работ. Так же отдельно рассматривается вопрос переносимосит кода. На все то что казалось хорошо известным и поднадоевшим.
 
- менеджеру (скорее ведущему разработчику, лидеру проекта) - все тоже самое, с поправкой на то, что многое будет внедрено в масштабе всей команды.
 
Возможно книга немного тяжеловата для чтения, особенно для начинающих программистов, которые больше привыкли задумываться на "что" чем над "как"... но есть такое слово "надо". По собственному опыту скажу, что принуждение к прочтению книги, особенно такой, которая сложно дается, практически ни к чему не приводит. Ну не дочитывает народ ее и все тут. Может потому что я излишне честен и сразу предупреждаю, что она сложная  
 
Хотя книгу еще и понять надо. Читать без понимания, смысла, таки, не имеет. Но, я уверен в том, что время, когда ее захочется прочитать прийдет в любом случае. А с ним и прийдет сожаление о том, что не прочитал ее раньше (как у меня, но у меня уважительная причина- я не знал о ней, познакомился только когда она была издана на русском).
 
Итого: must read.
 
Все ИМХО.
 
З.Ы. Подобной книгой в данном классе (я бы сказал неплохо прочитать в качестве продолжения), является Pragmatic Programmer - отзыв уже готов, но как я понял сам топик я не создам, или?

Всего записей: 5 | Зарегистр. 07-04-2003 | Отправлено: 12:28 22-09-2003
albatros



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
azakharchuk

Цитата:
Надеюсь, что я ничего не перепутал, и то что я делаю не идет в разрез с правилами

Нет, как раз так и надо . Спасибо за отзыв на книгу. Я как раз вчера дочитал ее до конца и чуть позже тоже напишу свой взгляд на нее. Мне, правда, было читать книгу совсем не сложно, за исключением технических деталей. Наоборот, приятно. Вообще ее по-моему надо время от времени перечитывать и обращаться к ней в случае конкретных проблем.
Кстати, а почему

Цитата:
Авторы далеки от рассмотрения конкретного языка программирования или библиотеки, каких-либо алгоритмов и т. д

Конкретные примеры в книге приводятся на С, С++ и Java, так же рассматривается применение некоторых средств стандартных библиотек этих языков в контексте рассматриваемых тем. Может ты имел ввиду, что в книге не учат программировать на каком-либо языке? Если да, то я согласен. Книга как раз говорит, как ты верно подметил, "как делать". А еще мне очень понравился стиль изложения: просто, ясно, четко и доступно, по крайней мере для общих положений, без учета технических деталей. Стиль изложения очень напоминает книгу "Язык программирования Си" Кернигана и Ричи.

Цитата:
З.Ы. Подобной книгой в данном классе (я бы сказал неплохо прочитать в качестве продолжения), является Pragmatic Programmer - отзыв уже готов, но как я понял сам топик я не создам, или?

Тоже слыхал, что Pragmatic Programmer -- отличный труд, который ACCU рекомендует прочитать всем и дает ей вердикт Highly Recommended. Да, топик может создать только мембер и выше -- смотри тему "Правила и FAQ" в этом блоге. Но поскольку мне тоже было бы интересно почитать об этой книге, то я могу создать тему для нее, если хочешь.
 
 
Добавлено
Для уточнения:
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas?

Всего записей: 512 | Зарегистр. 28-12-2002 | Отправлено: 13:48 22-09-2003 | Исправлено: albatros, 13:50 22-09-2003
azakharchuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Кстати, а почему

Почему сложно? Я сказал "возможно книга немного тяжеловата для чтения". У меня единственной сложностью был алгоритм цепей Маркова (пришлось три раза перечитать главу, пожалуй это и есть те технические детали, о которых ты говоришь). А вывод сделан на основе отзывов моих сотрудников, которым я "настоятельно рекомендовал" прочитать эту книгу
 

Цитата:
Вообще ее по-моему надо время от времени перечитывать

Как вариант, держать ее настольной до тех пор, пока не впитаешь основные ее идеи.
 

Цитата:
Конкретные примеры в книге приводятся на С, С++ и Java

Да, но помимо того что эти примеры не учат программированию их целью так же не является демонстрация того или иного алгоритма или возможностей библиотек. Это все средства. Цель - рассмотрение и анализ работы кодировщика на метауровне, если можно так сказать.
 

Цитата:
Стиль изложения очень напоминает книгу "Язык программирования Си" Кернигана и Ричи.

Дык автор местами тот же Кроме того, K&R тоже вышел в этой же серии, тут же и Вирт с "Алгоритмы и структуры данных", на этом правда и все. А жаль, так обнадеживающе все начиналось.
 

Цитата:
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas?

Она. Создай, плз.

Всего записей: 5 | Зарегистр. 07-04-2003 | Отправлено: 15:27 22-09-2003
albatros



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
azakharchuk

Цитата:
Цель - рассмотрение и анализ работы кодировщика на метауровне, если можно так сказать.  

Да, но все же в книге есть и множество конкретных рекомендаций. Я не имею ввиду исходный код законченных программ, но излагается море полезных приемов, советов, методик. Пусть в несколько обобщенном виде, но все же очень интересно и полезно, по-моему. Например, в главах по отладке, тестированию, повышению производительности. Да вообще, в любой главе. Мне кажется, что у этой книги исключительно практическая (прагматическая ) направленность.

Цитата:
Дык автор местами тот же  

Я это и имел ввиду . Кроме того, на мой взгляд был сделан хороший перевод на русский язык. Как и для K&R.

Цитата:
на этом правда и все. А жаль, так обнадеживающе все начиналось.  

Да, очень жалко, что на этом серия как-то незаметно затухла... Кстати, в той же "Практике..." на стр. 128 есть ссылка, что идет перевод книги Matthew Austern. Generic Programming and the STL и что она выйдет в издательстве Невский Диалект в 2001 году. До сих пор так и не вышла.

Цитата:
Она. Создай, плз.  

Создал.
 
 

Всего записей: 512 | Зарегистр. 28-12-2002 | Отправлено: 16:37 22-09-2003
albatros



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Недавно дочитал эту книгу до конца, теперь могу поделиться своми впечатлениями. Правда можно сказать, что я схалтурил, читая эту книгу, потому что не выполнял приведенных там упражнений . Но ее нужно время от времени перечитывать и обращаться за помощью в конкретных ситуациях.
Книга посвящена описанию тех принципов и методик, которые помогают программистам на практике писать более надежные, стабильные, простые в сопровождении и поддержке, производительные, переносимые и т. д. программы. Книга состоит из 9 глав и эпилога. 1-я глава посвящена стилю программирования, так как авторы считают, что постоянное следование хорошему стилю поможет с самого начала уменьшить число ошибок в программе (а некоторые глупые ошибки вообще не будут появляться), сделать программу более ясной и легко воспринимаемой, упростить внесение изменений в программу и процесс ее отладки в будущем. Во 2-й главе рассматриваются базовые алгоритмы сортировки и поиска, а также основные структуры данных. Авторы пишут, что важно хорошо разобраться с этими основами, поскольку более сложные структуры данных строятся часто на этих основных. 3-я глава посвящена вопросам проектирования и реализации программ на основе рассмотренных алгоритмов и структур данных в главе 2, там же рассматривается конкретный пример. В 4-й главе обсуждаются программные интерфейсы -- между компонентами программы и разными программами, их проектирование и реализация. Пользовательским интерфейсам посвящено всего лишь чуть больше страницы. В 5-й и 6-й главах рассматриваются соответственно процессы отладки программ и их тестирования. Приводится множество различных очень полезных способов тестирования и отладки, а также рассматриваются вопросы автоматизации этого рутинного занятия. 7-я глава посвящена вопросам повышения производительности программ, 8-я глава рассказывает нам о том, как повысить переносимость ПО и 9-я глава посвящена нотации (способам записи). В эпилоге-приложении приведен свод всех правил из книги.
Каждая глава заканчивается списком книг, которые авторы по собственному опыту рекомендуют нам прочитать (если прочитать их все, то жизни точно не хватит ). Кстати, кое-что из этих книг издано и на русском. Кроме того, в каждой главе есть по нескольку упражнений, которые как раз заточены на то, чтобы научиться применять изложенные методы. Примеры программ приводятся на С, С++ и Java.
Книга рассчитана, в принципе, на любой уровень подготовки читателя. И ее легко и даже приятно читать. Но, на мой взгляд, она будет наиболее полезна практикующим программистам (в отличие, например, от студента, который выучил предмет перед экзаменом и после экзамена закинул все это куда подальше). У авторов очень приятный стиль изложения, книга читается легко, по крайней мере основные идеи. Разбор некоторых примеров и выполнение упражнений может вызвать временные трудности, но ведь так всегда, когда мы учимся чему-то новому. В конце-концов все равно придется приложить определенные усилия. Здесь нет лишней воды, нет заумных наворотов, авторы изъясняются простым и доступным языком, мне это очень приглянулось. Стиль изложения очень напоминает книгу K&R. Да, и еще хорошо выполнен перевод на русский.
Мне лично книга очень понравилась. Пусть некоторые вещи покажутся кому-то очевидными. Но у меня нет 20-летнего (к примеру) стажа в программировании и мне эта книга кажется очень полезной. Кроме того, как пишут авторы, одно дело знать, другое -- применять.
Мое личное мнение: 5 -- однозначно must read!

Всего записей: 512 | Зарегистр. 28-12-2002 | Отправлено: 22:17 24-09-2003 | Исправлено: albatros, 01:07 25-09-2003
eugrus



UNIX-like Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Брайн Керниган

только из-за этого уже стоит читать

----------
IT-Recht Blog
Abmahnung von Copytrack abwehren

Всего записей: 5471 | Зарегистр. 17-06-2004 | Отправлено: 18:28 25-01-2005
beeos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это вообще классика. Прочесть не просто нужно, а необходимо.  
Более чем

----------
Молчание не всегда доказывает присутствие ума, но всегда — отсутствие глупости

Всего записей: 329 | Зарегистр. 06-01-2004 | Отправлено: 20:57 10-02-2005
   

Компьютерный форум Ru.Board » Блоги » Обзоры и обсуждение компьютерной литературы. » Практика программирования


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru