Время меняется, меняются и методы программирования. Необходимый источник информации "нормального" программиста (хотя где Вы видели нормального "нормального" программиста) это опыт и постоянный мониторинг своей области.
Программист мельчает, т.е. становится узкоспециализированным. Теперь писать самому, например, алгоритм быстрой сортировки, да и вообще сортировки уже не нужно. Трехтомник Кнута остался нужен только программистам микроконтроллеров. Библии программиста уже нет, и, наверное, не будет. Надо стараться просматривать все книги попадающеся на глаза, но только один раз. Ну и не гнушаться другими источниками информации.
Классики, которая всегда будет востребована нет. Есть та, по которой можно учиться, но потом, в работе, она будет бесполезна.
9) Харольд Абельсон, Джеральд Сассман, Джули Сассман, - Структура и интерпретация компьютерных программ.
10) Ф. А. Новиков, - Дискретная математика для программистов. (Учебник может и не самый лучший, но вообще что-то нужно по алгоритмистике)
11) Крупная статья: Н.П. Брусенцов, - Блуждание в трех соснах Приключения диалектики в информатике. (И вообще материалы по компьютеру Сетунь и троичной логике.)
12) Манин Ю.И., - Вычислимое и невычислимое.
13) Э. Таненбаум, А. Вудхалл, - Операционные системы. (Хотя, книга страдает однобокостью, кроме Unix практически ничего не рассмотрено, да и Unix в ней сильно на примере Minix рассматривается).
Вот, навскидку написал, причём я нарочно не приводил ничего по конкретным языкам и ОС, за исключением книги Реймонда, но она несмотря на название имеет довольно общий смысл.
> И что-нибудь о _культуре_ написания кода. Обязательно! И что было написано крупными буквами правила для
Как-то я не встречал хороших книг, специально посвящённых данным вопросам, но в принципе две книги: Керниган с Пайком и Реймонда серьёзно затрагивают эти вопросы.
> А по-больше книг про интерпретаторы и компиляторы можно?
Можно. Хотя литературы на эту тему я знаю мало и как-то затрудняюсь сходу её назвать. Кстати, следует не забывать, что известная 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++, интересно тем что подробно рассматриваются какие вообще практические задачи приходится решать разработчику компилятора)
Уже помоему можно не читать кнута и еже с ним, нужно просто знать сложности алгоритмов поиска/сортировки, на каких объёмах данных они работают и какую сигнатуру имеют в вашем яп.
Сейчас нужно уметь правильно связывать уже готовые решения, а не изобретать велосипеды с квадратными колёсами.
>Уже помоему можно не читать кнута и еже с ним, нужно просто знать сложности алгоритмов поиска/сортировки, на каких объёмах данных они работают и какую сигнатуру имеют в вашем яп.
>Сейчас нужно уметь правильно связывать уже готовые решения, а не изобретать велосипеды с квадратными колёсами.
Уметь нужно, но для понимания и в процессе обучения пытаться самому писать сортировку и анализировать ее сложность необходимо. Но потом забыть как страшный сон и использовать sort() и т.п.
> Время меняется, меняются и методы программирования. Необходимый источник информации "нормального" программиста (хотя где Вы видели нормального "нормального" программиста) это опыт и постоянный мониторинг своей области.
Гонешь, лапоть. С 20-х годов прошлого века основы не поменялись. С середины 80х в IT не появилость ВООБЩЕ НИЧЕГО НОВОГО. Так за чем там надо "мониторить", а?!?
> Классики, которая всегда будет востребована нет.
Гы гы, смешной ребёнок!
> Есть та, по которой можно учиться, но потом, в работе, она будет бесполезна.
Посмотрел бы я, как ты без хорошего справочника по дискретке работать будешь. Ну, разве что, обезьнянкой-быдлокодером, такие по пятачок за пучок в базарный день идут. Но их не принято называть "программистами".