LINUX.ORG.RU
ФорумTalks

Классика программирования


0

0

Маленький опрос: какие книги вы считаете классикой и необходимым источником информации нормального программиста? Я назову две:

1) Керниган и Ритчи: "Язык сами знаете какой"

2) Дональд Кнут: "Искусство программирования"

★★

Re: Классика программирования

1) Приемы обьектно-ориентированного проектирования. Там 4 автора

2) Брюс Эккель. Философия С++.

3) Джон Раскин. Интерфейс.

Beria1937 ()
Ответ на: Re: Классика программирования от Beria1937

Re: Классика программирования

> 1) Приемы обьектно-ориентированного проектирования. Там 4 автора

А вот быдлопаттерны вообще маленьким детям нельзя давать. :-E А давать им надо исключительно HTDP и SICP, а дальше сами разберутся.

ero-sennin ★★ ()

Re: Классика программирования

> Дональд Кнут: "Искусство программирования"

Ну а Кнута вообще надо купить, поставить на полку и забыть.

ero-sennin ★★ ()
Ответ на: Re: Классика программирования от ero-sennin

Re: Классика программирования

> А вот быдлопаттерны вообще маленьким детям нельзя давать.

Ну там же на обложке написано - уровень читателя - опытный/эксперт. Какие нафиг дети? Дети должны в школу ходить, букварь читать.

Beria1937 ()

Re: Классика программирования

Ахо, Сети, Ульман - Компиляторы, принципы, технологии, инструменты Таненбаум - для общего развития

Legioner ★★★★★ ()

Re: Классика программирования

Ахо, Ульман, Таненбаум, Кнут, Страуструп

smh ★★★ ()

Re: Классика программирования

Первин Ю.А., Дуванов А.А., Зайдельман Я.Н., Гольцман М.А.: "Роботландия"

MiDoS ()

Re: Классика программирования

Время меняется, меняются и методы программирования. Необходимый источник информации "нормального" программиста (хотя где Вы видели нормального "нормального" программиста) это опыт и постоянный мониторинг своей области.

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

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

soomrack ★★★ ()

Re: Классика программирования

Из книг, которые я читал или хотя бы листал могу рекомендовать в необходимые к наличию на полке.

1) Дональд Кнут, Искусство программирования.

2) Фредерик Брукс, - Мифический человеко-месяц. (Хотя книга несколько спорная.)

3) Никлаус Вирт, Алгоритмы и структуры данных.

4) Б. Керниган, Р. Пайк, - Практика программирования.

5) Джон Бентли, Жемчужины программирования.

6) А. Ахо, Р. Сети, Д. Ульман, - Компиляторы. Принципы, технологии, инструменты.

7) Э. Реймонд, - Искусство программрования для Unix.

8) Что-нибудь по численным методам, например: Бахвалов Н.С., Жидков Н.П., Кобельков Г.М - Численные методы.

9) Харольд Абельсон, Джеральд Сассман, Джули Сассман, - Структура и интерпретация компьютерных программ.

10) Ф. А. Новиков, - Дискретная математика для программистов. (Учебник может и не самый лучший, но вообще что-то нужно по алгоритмистике)

11) Крупная статья: Н.П. Брусенцов, - Блуждание в трех соснах Приключения диалектики в информатике. (И вообще материалы по компьютеру Сетунь и троичной логике.)

12) Манин Ю.И., - Вычислимое и невычислимое.

13) Э. Таненбаум, А. Вудхалл, - Операционные системы. (Хотя, книга страдает однобокостью, кроме Unix практически ничего не рассмотрено, да и Unix в ней сильно на примере Minix рассматривается).

Вот, навскидку написал, причём я нарочно не приводил ничего по конкретным языкам и ОС, за исключением книги Реймонда, но она несмотря на название имеет довольно общий смысл.

anonymous_incognito ★★★★★ ()
Ответ на: Re: Классика программирования от anonymous_incognito

Re: Классика программирования

Тогда уж надо бы добавить что-то по теории сложности. Ознакомиться и понять азы нужно обязательно.

soomrack ★★★ ()
Ответ на: Re: Классика программирования от soomrack

Re: Классика программирования

В принципе, пункт 12 об этом. Просто я перечислил именно то, что сам читал, хотя бы по диагонали и через страницу. А вот добавить

14) К. Дж. Дейт, - Введение в системы баз данных

надо.

anonymous_incognito ★★★★★ ()
Ответ на: Re: Классика программирования от anonymous_incognito

Re: Классика программирования

надо, и еще хорошо бы:

1) чего-нибудь про программирование под веб (приличной обзорной книги я не встречал)

2) обзорную книгу про ИИ (полезно)

soomrack ★★★ ()
Ответ на: Re: Классика программирования от anonymous_incognito

Re: Классика программирования

И что-нибудь о _культуре_ написания кода. Обязательно! И что было написано крупными буквами правила для

1) написания комментариев

2) названия переменных, процедур и т.п. (венгерская нотация, например)

3) как выбирать язык программирования в зависимости от тз.

soomrack ★★★ ()
Ответ на: Re: Классика программирования от soomrack

Re: Классика программирования

> И что-нибудь о _культуре_ написания кода. Обязательно! И что было написано крупными буквами правила для

Как-то я не встречал хороших книг, специально посвящённых данным вопросам, но в принципе две книги: Керниган с Пайком и Реймонда серьёзно затрагивают эти вопросы.

anonymous_incognito ★★★★★ ()
Ответ на: Re: Классика программирования от soomrack

Re: Классика программирования

>И что-нибудь о _культуре_ написания кода. Обязательно! И что было написано крупными буквами правила для

>1) написания комментариев

>2) названия переменных, процедур и т.п. (венгерская нотация, например)

>3) как выбирать язык программирования в зависимости от тз.

Попробуйте Code Complete http://www.amazon.com/Complete-Microsoft-Programming-Steve-McConnell/dp/15561...

У нас она переведена как "Совершенный код" http://www.piter.com/book.phtml?978546900822

И пусть вас не смущает, что Стив из Microsoft. =)

iriyoox ()
Ответ на: Re: Классика программирования от soomrack

Re: Классика программирования

> 1) чего-нибудь про программирование под веб (приличной обзорной книги я не встречал)

Я специально сделал список из книг, поднимающих очень общие темы, но если речь зашла про веб, то на мой взгляд весьма неплоха книга

> Ростислав Чебыкин, - Разработка и оформление текстового содержания сайтов.

Она как раз носит обзорный характер.

anonymous_incognito ★★★★★ ()

Re: Классика программирования

Раньше путь Unix-программиста состоял из трех пунктов:

1. Украсть исходники UNIX;
2. Изучить их;
3. Написать свою версию.

Программистам GNU/BSD первый пункт можно опустить ;)

mutronix ★★★★ ()
Ответ на: Re: Классика программирования от iriyoox

Re: Классика программирования

>Попробуйте Code Complete
У нас она переведена как "Совершенный код"

Спасибо, скачал, просмотрю. Может и пригодится.

>И пусть вас не смущает, что Стив из Microsoft. =)
:) Там есть очень хорошие специалисты. На них все и держится.

soomrack ★★★ ()
Ответ на: Re: Классика программирования от soomrack

Re: Классика программирования

> И что-нибудь о _культуре_ написания кода. Обязательно! И что было написано крупными буквами

Это бесполезно. Пока не потеряешь уйму времени на разбор кода, не научишься его оформлять. Это та область где люди учатся исключительно на ошибках.

mutronix ★★★★ ()
Ответ на: Re: Классика программирования от mutronix

Re: Классика программирования

>Это бесполезно. Пока не потеряешь уйму времени на разбор кода, не научишься его оформлять. Это та область где люди учатся исключительно на ошибках.

Учиться на ошибках легко, когда знаешь в какую сторону смотреть. Я верю в людей.

soomrack ★★★ ()
Ответ на: Re: Классика программирования от xTERM

Re: Классика программирования

> А по-больше книг про интерпретаторы и компиляторы можно?

Можно. Хотя литературы на эту тему я знаю мало и как-то затрудняюсь сходу её назвать. Кстати, следует не забывать, что известная dragon-book (Ахо, Ульман про компиляторы) невполне всесторонне освещает вопрос конструирования компиляторов, об этом в частности пишет Страуструп, говоря что попав под их (авторов dragon-book) влияние первые компиляторы C++ делал с трудом и не так, как надо было бы.

> Марвин Минский, Вычисления и автоматы. (Хотя не совсем о компиляторах)

> Головешкин В.А., Ульянов М.В., - Теория рекурсии для программистов. (Опять же она напрямую не о компиляторах, но весьма важные вопросы теории алгоритмов освещает)

> http://rsdn.ru/article/philosophy/LOP.xml - Языково-ориентированное программирование: следующая парадигма (обсуждения этой статьи на форуме rsdn тоже стоит почитать, как и список упоминаемой литературы)

> Б. Страуструп, - Дизайн и эволюция C++ (фактически история создания компилятора C++)

> Е.А. Зуев, - Принципы и методы создания компилятора переднего плана Стандарта Си++, Диссертация на соискание ученой степени кандидата физико-математических наук. Лежит на http://www.cs.inf.ethz.ch/~zueff/PublicationsRus.htm Также и Зуева же публикации в журналах Мир ПК и КомпьюЛог, ссылки там же. (Зуев рассказывает как по заказу одной известной немецкой фирмы писался компилятор C++, интересно тем что подробно рассматриваются какие вообще практические задачи приходится решать разработчику компилятора)

anonymous_incognito ★★★★★ ()

Re: Классика программирования

Python, просто Python... для Ruby пока книг к сожалению не нашёл на русском...

DemonZLa ()

Re: Классика программирования

Ну вот, уже 24 поста, но никто не вспомнил

Кормен, Лейзерсон, Ривест - Алгоритмы: Построение и анализ

ival ★★ ()

Re: Классика программирования

Забыли самые интересные книги. (точнее самых интересных авторов)

1. Андрей Александреску (ну и по теме Саттер, Майерс) 2. Мартин Фаулер

хотя тут спорный вопрос кого на первое место ставить

in_dance ()

Re: Классика программирования

Брайан Керниган, Роб Пайк "UNIX. Программное окружение"

bigbit ★★★★★ ()

Re: Классика программирования

+1 за теорию сложности.

Уже помоему можно не читать кнута и еже с ним, нужно просто знать сложности алгоритмов поиска/сортировки, на каких объёмах данных они работают и какую сигнатуру имеют в вашем яп.

Сейчас нужно уметь правильно связывать уже готовые решения, а не изобретать велосипеды с квадратными колёсами.

in_dance ()
Ответ на: Re: Классика программирования от in_dance

Re: Классика программирования

>Уже помоему можно не читать кнута и еже с ним, нужно просто знать сложности алгоритмов поиска/сортировки, на каких объёмах данных они работают и какую сигнатуру имеют в вашем яп.

>Сейчас нужно уметь правильно связывать уже готовые решения, а не изобретать велосипеды с квадратными колёсами.

Уметь нужно, но для понимания и в процессе обучения пытаться самому писать сортировку и анализировать ее сложность необходимо. Но потом забыть как страшный сон и использовать sort() и т.п.

soomrack ★★★ ()

Re: Классика программирования

1 не нужен

3) Барендрегт, "Ламбда исчисление"

4) Dragon book

5) Корн&Корн, справочник по математике для инженеров.

anonymous ()
Ответ на: Re: Классика программирования от soomrack

Re: Классика программирования

> Время меняется, меняются и методы программирования. Необходимый источник информации "нормального" программиста (хотя где Вы видели нормального "нормального" программиста) это опыт и постоянный мониторинг своей области.

Гонешь, лапоть. С 20-х годов прошлого века основы не поменялись. С середины 80х в IT не появилость ВООБЩЕ НИЧЕГО НОВОГО. Так за чем там надо "мониторить", а?!?

> Классики, которая всегда будет востребована нет.

Гы гы, смешной ребёнок!

> Есть та, по которой можно учиться, но потом, в работе, она будет бесполезна.

Посмотрел бы я, как ты без хорошего справочника по дискретке работать будешь. Ну, разве что, обезьнянкой-быдлокодером, такие по пятачок за пучок в базарный день идут. Но их не принято называть "программистами".

anonymous ()
Ответ на: Re: Классика программирования от soomrack

Re: Классика программирования

> И что-нибудь о _культуре_ написания кода.

Тут вредно читать что либо кроме исходной статьи Кнута про литературное программирование.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.