Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу:
— я с друзьями не могу разговаривать.
— Ну да есть такой, недостаточек.

интервью Жака Фреско

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

Название: Алгоритмические трюки для программистов \ Hacker's Delight
Автор: Генри С. Уоррен мл. \ Henry S. Warren Jr.
Год издания: 2004 \ 2002
Количество страниц: 508 \ 512
ISBN: 978-5-907144-00-2 \ 978-9-332540217

Дональд Эрвин Кнут, в своей фундаментальной работе «Искусство программирования, том 4a \ The Art of Computer Programming, volume 4a» в главе 7.1.3 Битовые трюки и технологии ссылается на "Алгоритмические трюки для программистов" как на первоисточник. Автор книги провел огромную исследовательскую работу по изучению манипулиции логическими операциями над битами. Описано в каких случаях такие манипуляции быстрее классических математических операций, а также где эти вещи короче и изящнее в написании кода. Читая между строк, приходит понимание, что происходит, когда процессор делает вычисления, почему некоторые решения программируются так, а не иначе.

Название: Читаем Тьюринга \ The Annotated Turing, A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
Автор: Чарльз Петцольд \ Charles Petzold
Год издания: 2014 \ 2008
Количество страниц: 440 \ 372
ISBN: 978-5-97060-010-8 \ 978-0-470-22905-7

Чарльз Петцольд, достаточно известная личность, писал книги для WinApi и C#, а также написал свой научно-популярный бестселлер «Код. Тайный язык информатики \ Code, The Hidden Language of Computer Hardware and Software» рекомендуют всем новичкам, которые хотят понимать, как работает компьютер, машинный код и язык assembler. Но все это было в 90-ых годах и вот спустя почти 10 лет автор написал еще один фундаментальный труд на этот раз по работе Алана Тьюринга «О вычислимых числах в применении к Entscheidungsproblem» сейчас это называют машина тьюринга. На протяжении всей книги автор разбирает, разъясняет, и комментирует как думал Тьюринг, какие математические знания были нужны, какие проблемы стояли перед Тьюрингом, и что он хотел доказать. Примечательно тем, что полная оригинальная работа Тьюринга содержится в книге, чтобы ее прочесть нужно просто игнорировать текст Петцольда. Изучив содержание от начало до конца, можно значительно продвинуться в математике, и кто знает возможно решить неразрешимые проблемы.

Название: Золотой билет. P, NP и границы возможного \ The Golden Ticket, P, Np, and the Search for the Impossible
Автор: Лэнс Фортноу \ Lance Fortnow
Год издания: 2016 \ 2013
Количество страниц: 218 \ 192
ISBN: 978-5-00101-424-9 \ 978-0-691-15649-1

Книга рассказывает про одну из семи задач тысячелетия, определённых Математическим институтом Клэя в 2000 году как «важные классические задачи, решение которых не найдено вот уже в течение многих лет», за решение каждой из которых обещано вознаграждение в 1 млн долларов США. Но не спешите «Равенство классов P и NP» имеет отношение не только к абстрактной математике, но и на прямую к компьютерным вычислениям. Хоть глобально задача одна, но она затрагивает множество подзадач, в том числе и знаменитую проблему Коммивояжера, проблему о Клике и много других задач. К таким задачам придумали лишь приближенные алгоритмы решения. Это самая подробная работа по тематике «Равенство классов P и NP», без сложных математических доказательств и формул.

Название: От математики к обобщенному программированию \ From Mathematics to Generic Programming
Авторы: Александр Степанов, Дэниэл Э. Роуз \ Alexander A. Stepanov, Daniel E. Rose
Год издания: 2015 \ 2014
Количество страниц: 264 \ 320
ISBN: 978-5970603796 \ 978-0321942043

Главный автор книги Степанов, знаменит в мире программирование тем, что написал сначала для языков Ada, а затем и для C++ первую библиотеку обобщённых алгоритмов. К сожалению, в конце 80-ых, в начале 90-ых, реализация идеи Степанова, была выполнена лишь в самом начальном виде, и на протяжении уже 20 лет каждый новый стандарт языка C++ лишь приближается к первоначальной задумке обобщенного программирования. Книга постепенно вводит читателя от истории математики к программированию с точки зрения алгоритмов, к проблемам наших дней, какие задачи стоят перед программистами и математиками. Каким должен быть близкий к идеалу шаблон в C++ и зачем программисту нужно знать основы функционального программирования.

Название: Занимательные алгоритмы. Чему нас учат истории знаменитых героев \ Once Upon an Algorithm, How Stories Explain Computing
Автор: Мартин Эрвиг \ Martin Erwig
Год издания: 2019 \ 2017
Количество страниц: 352 \ 336
ISBN: 978-5-907144-08-8 \ 978-0-2620-3663-4

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

Название: Идеи, определившие облик информатики, Классические статьи по компьютерным наукам \ Ideas That Created the Future, Classic Papers of Computer Science
Автор: Гарри Р. Льюиса \ Harry Lewis
Год издания: 2023 \ 2021
Количество страниц: 616 \ 520
ISBN: 978-5-93700-208-2 \ 978-0-26204-530-8

Фундаментальный сборник статей информатики, которые повлияли на историю математики и вычислений, к каждой оригинальной статье автор делает краткий ретроспективный обзор. Книга сложна для восприятия так как некоторые статьи — это научные работы разных известных исторических личностей. Но настоящего гика и любителя истории это не остановит. Это лучший первоисточник статей. Множество статей переведено на русский язык впервые.

Комментарии (20)


  1. samozvet
    13.01.2024 08:03
    +1

    Каждую прогу можно на один шаг, да.


  1. atd
    13.01.2024 08:03
    +8

    А вы сами читали эти книги? Кроме аннотации с задней обложки, есть тут что-то новое?

    Занимательные алгоритмы.

    90% воды, 5% картинок, 4% шуток-прибауток


    1. Boctopr Автор
      13.01.2024 08:03
      +29

      Данные книги были прочитаны, а некоторые были перечитаны не один раз, и более того они были прочитаны в бумажном виде, о чем свидетельствует моя книжная полка. По поводу нового, в статье ни разу не заявлено что это новинки, на оборот не однократно подчеркивается, что это фундаментальные труды.

      Новинки книг о которых в комментариях часто пишут, что очередная книга по React\Angular\etc устарела на момент выхода, что чистая правда. Потому что есть фундаментальные книги, которые готовят базу для чтения "новой" документации по React\Angular\etc. Но даже такие устаревшие книги часто бывают полезны, потому что автор книги через свой опыт приводит примеры, ошибки и мысли, которые не рассмотрены в документации.


      1. Firsto
        13.01.2024 08:03
        +8

        Солидная у вас библиотека, однако!


      1. Balling
        13.01.2024 08:03
        +1

        О, у меня тоже есть Танненбаум и Хоровиц.


      1. GAG
        13.01.2024 08:03
        +6

        некоторые были перечитаны не один раз

        Вижу «Книгу Дракона» (правый нижний угол, «Компиляторы: принципы, технологии и инструменты») и понимающе киваю.


        1. Tim7456
          13.01.2024 08:03

          Ранее она была известна как "Ахо-Ульман". Хоть у них и другая есть, вдвое тоньше.


      1. WebPeople
        13.01.2024 08:03
        +13

        Простите за личный вопрос: сколько вам лет?

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


        1. ItsNickname
          13.01.2024 08:03
          +1

          У меня похожее количество книг. Прочел за 8 лет, сейчас мне 26. Процентов 80% книг кстати совпадает


      1. Tim7456
        13.01.2024 08:03
        +3

        Давно вы не перезжали :-))))))) Но подборка зачетная.
        Возраст оцениваю в 45+, по датам издания некоторых экземпляров.


        1. suurtoll
          13.01.2024 08:03
          +2

          По такой логике, если у меня на полке первое издание Кнута, то мне 60+ =)

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


          1. Tim7456
            13.01.2024 08:03
            +2

            Если только Кнута, то это библиофильство. А вот если у вас там еще и пяток книг аля "Программирование задач на Фортране на ЭВМ Единой Серии", то вполне может быть что вы пенсионер. Ж-)


            1. Krasnoarmeec
              13.01.2024 08:03

              Тогда уж "Библиотека алгоритмов" под ред. Агеева (1975-1981). Мне досталась по наследству от родителей, но и я уже не первой свежести.


              1. Tim7456
                13.01.2024 08:03
                +2

                Если вы ее читали, то могу уступить вам сидячее место в автобусе :-)))

                А у товарища там ТурбоПаскаль фигурирует вместе с Джеффри Рихтером "толстого издания", "Программирование серверных приложений для Виндоус Сервера 2000" тоже Рихтера. Первое это еще под Дос. А последние 2 издавались в районе 2005 года и стоили не дешево. Т.е. вряд ли покупались школьником, а как минимум студентом. Ну и несколько других недешевых книг 2003-2007 годов.


                1. Krasnoarmeec
                  13.01.2024 08:03
                  +2

                  Если вы её читали, то могу уступить вам сидячее место в автобусе :-)))

                  Спасибо, но я не на столько, чтобы вот так вот ????

                  Так вот, чтобы читать – от корки до корки не читал, брал в своё время от туда метод наименьших квадратов для обсчёта лаб по физике. Честно сказать уже не помню на каком языке я её писал (то ли C, то ли Pascal). Точно помню, что машинка была Искра 1030.11 и что результаты распечатал на СМ 6337.

                  ТурбоПаскаль для меня это только Фаронов, 1991 года выпуска, так что не сильно раритет там в библиотеке.

                  В "те времена" была ещё классная серия книг "Библиотека системного программиста" ну и те, которыми пользовались наши предки: "Математическое  обеспечение ЭВМ".

                  Думаю, судя по корешкам, это уже "новоделы".


                  1. Tim7456
                    13.01.2024 08:03
                    +1

                    ТурбоПаскаль многие изучали чуть-ли не в школе. Поэтому это не очень показательно. Там кроме Рихтера и Хоровиц-Хилла все остальное либо свежее, либо бессмертная классика.


                1. Krasnoarmeec
                  13.01.2024 08:03

                  Да, и не подумайте, что я критикую. Статья на самом деле хорошая. Увидел пару книжек, которые не читал: "Золотой билет. P, NP и границы возможного" и "Алгоритмические трюки для программистов". За это автору большое спасибо и респект! Ну нет там раритетов замшелых времён (да, Кнут не первого издания), главное автор с нами поделился своими находками.


                  1. Tim7456
                    13.01.2024 08:03
                    +2

                    Кнут, кстати, переписанный. И история Льва Толстого повторилась. Он "добавил строгости доказательствам теорем" и читать это стало горааааздо тяжелее. Особенно том 2 "Получисленные алгоритмы".
                    С другой стороны, сейчас это все "Воспоминания динозавров и том, что в палеозое папоротник был выше и зеленее".


      1. ssmaslov
        13.01.2024 08:03
        +1

        Я готов поспорить что и трети этих книг Вы не прочли, это физически невозможно если Вам не 80 лет и 60 из них ушло на чтение. Книжная полка (бумажная) у меня точно не меньше но витались там только определенные темы которые нужны в работе. Уверен, что третий том Кнута разве что открывался, Дейт кижка хорошая (хотя непонятно какой в ней смысл кроме академического последние лет 30) ну а Конкретная математика имхо ее одну год можно читать год (если не по диагонали пробежать). Седжвика и кормена непонятно зачем в них 80% одно и то же (два кирпича по алгоритмам). В общем, не верю, чисто механически невозможно


    1. nqos82nslelele
      13.01.2024 08:03
      +5

      тогда будьте любезны порекомендовать свой список наилучших книг :3