Золотой фонд программистской литературы по верисии Stackoverflow
Здесь публикуются ссылки на книги, считающиеся участниками сообщества stackoverflow.com одними из самых влиятельных среди всей программистской литературы.
Макконнелл С. «Совершенный код»
Х. Абельсон, Дж. Дж. Сассман «Структура и Интерпретация Компьютерных Программ»
Б. Керниган, Д. Ритчи «Язык программирования Си»
Кормен Т., Лейзерсон Ч., Ривест Р. «Алгоритмы. Построение и анализ»
М. Фаулер «Рефакторинг. Улучшение существующего кода»
Д. Кнут «Искусство программирования»
Альфред Ахо, Рави Сети, Джеффри Ульман, Моника Лам «Компиляторы. Принципы, технологии, инструменты»
Мартин Р. «Чистый код. Создание, анализ и рефакторинг»
С. Мейерс «Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Брюс Эккель «Философия Java». 4-е издание
Реймонд Э.С. «Искусство программирования для Unix»
Бек К. «Экстремальное программирование. Разработка через тестирование»
Андрей Александреску «Современное проектирование на С++»
Керниган Б., Пайк Р. «Практика программирования»
Н. Вирт «Алгоритмы + структуры данных = программы»
Дуглас Крокфорд «JavaScript: сильные стороны»
Andrew S. Tanenbaum «Современные операционные системы»
Getting Real by 37 Signals
Бьёрн Страуструп «Язык программирования C++» (2011, PDF; 2013, PDF, ENG)
Р. Мартин «Принципы, паттерны и методики гибкой разработки на языке C#» (2011, PDF)
Рихтер «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#»
Грэди Буч «Объектно-ориентированный анализ и проектирование с примерами приложений» (3-е издание) (2008, DjVu)
Блох Дж. «Java. Эффективное программирование» (2002, PDF)
Ховард М., Лебланк Д. «Защищённый код» (2004, PDF)
Эндрю Хант, Дэвид Томас «Программист-прагматик. Путь от подмастерья к мастеру» (2000, PDF)
Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидс «Паттерны проектирования» (2001, PDF)
Фредерикс Брукс «Мифический человеко-месяц, или Как создаются программные системы» (1995, PDF)
Даглас Р. Хофштадтер «Гедель, Эшер, Бах. Эта бесконечная гирлянда» (2001, PDF)
Мейерс C. «Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов» (2000, DJVU)
Петцольд Ч. «Код. Тайный язык информатики» (2001, PDF)
Бентли Дж. «Жемчужины программирования» (2-е издание) (2002, DjVu)
Том ДеМарко «Deadline. Роман об управлении проектами» (2006, PDF)
Питер Сейбл «Кодеры за работой. Размышления о ремесле программиста» (2011, DJVU)
Working Effectively with Legacy Code by Michael C. Feathers
Peopleware by Demarco and Lister
Surely You’re Joking, Mr. Feynman!
Patterns of Enterprise Application Architecture by Martin Fowler
The Little Schemer
The Seasoned Schemer
Why’s (Poignant) Guide to Ruby
The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity
Practices of an Agile Developer
Don’t Make Me Think
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
Domain Driven Designs by Eric Evans
The Design of Everyday Things by Donald Norman
Best Software Writing I by Joel Spolsky
Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt
Software Estimation: Demystifying the Black Art by Steve McConnel
The Passionate Programmer (My Job Went To India) by Chad Fowler
Hackers: Heroes of the Computer Revolution
Writing Solid Code
Foundations of Programming by Karl Seguin
Computer Graphics: Principles and Practice in C (2nd Edition)
The Elements of Computing Systems
Refactoring to Patterns by Joshua Kerievsky
The Annotated Turing
Things That Make Us Smart by Donald Norman
The Timeless Way of Building by Christopher Alexander
Patterns of Enterprise Application Architecture
Computer Systems — A Programmer’s Perspective
Growing Object-Oriented Software, Guided by Tests
Framework Design Guidelines by Brad Abrams
Object Thinking by Dr. David West
Advanced Programming in the UNIX Environment by W. Richard Stevens
Hackers and Painters: Big Ideas from the Computer Age
The Soul of a New Machine by Tracy Kidder
The Timeless Way of Building by Christopher Alexander
Design Patterns in C# by Steve Metsker
Alice in Wonderland by Lewis Carol
Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig
About Face — The Essentials of Interaction Design
Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
The Tao of Programming
Computational Beauty of Nature
Writing Solid Code by Steve Maguire
Philip and Alex’s Guide to Web Publishing
Computability by N. J. Cutland
Masterminds of Programming
The Tao Te Ching
The Productive Programmer
The Art of Deception by Kevin Mitnick
The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp
Masters of Doom
Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett
How To Solve It by George Polya
Smalltalk-80: The Language and its Implementation
Introduction to Functional Programming by Philip Wadler and Richard Bird
No Bugs! by David Thielen
Rework by Jason Freid and DHH
JUnit in Action
Stackoverflow уже сам золотой фонд.
Завидую я тем, кому лет 15 и кто достаточно дисциплинирован, чтобы реально все осилить. А то у меня вечно ситуация: "некогда пилу точить, надо пилить".
Но хочу заметить, что список чрезмерно фундаментален, если так можно выразится. Даглас Хофштадтер, например, его книга, конечно, очень интересна и прочесть её стоит, но к программированию она относится примерно как фуги Баха в её названии.
А где же М.Радченко "1с: практическое пособие разработчика" ?
Качайте за здоровье. Правда, не все книги нашел.https://cloud.mail.ru/public/L4qH/9yeae4tpd
Скопировать и вставить в список использованной литературы в дипломе)))
как всегда скачаю и будет валяться на винте.
Совершенный код - действительно, лучшая книга по программированию. Только она не для новичков. Нужно 1-2 года опыта хотя бы, чтобы стало понятно о чем она.
Джеффри Рихтер CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#
"активно не нравится, 11 января 2008 г.
petrenko aleksandr (Харьков, 45 лет)
Я программист с большим стажем. Писал еще на Ассемблере и Фортране. Сейчас работаю научным сотрудником в одном из ведущих НИИ. В принципе, считаю, что этих языков программирования достаточно для решения всех проблемм, возникающих в современном мире. А все новомодные придумки типа этого C# - это способ, которым корпорации "сбивают" деньги с ничего наивных молодых ребят, возомнивших себя программистами.
С книгой Рихтера познакомился совсем недавно. Впечатление остро-негативное. Вообще я купил ее не себе, а своему сыну, который учится в специализированном компьютерном лицее, во втором классе. Ранее он освоил (без моей помощи. ) книги по Windows и Office.
Их преподаватель по информатике насоветовал мне, мол, нужно изучать современные языки программирования. Например, C#. Купил сыну данную книгу. Заставляю читать по одной главе в день. Книга вызвала у ребенка острое отторжение. Материал практически не усваивается и не воспринимается. Но напомню, читает ее можно сказать будущий специалист! Не просто прохожий.
Не советую читать данную книгу. И вообще я не рекомендовал бы обращать внимание на подобные технологии!
С уважением, Петренко Александр, д.т.н."
Вот еще бы ссылку кинул на подборку этих книг в pdf и цены бы тебе не было.
Вот подскажите кто нибудь, реально самостоятельно выучить программирование по книгам ? Вот если взять с нуля и начать читать и пробовать то о чём пишется в учебнике ?
Не понял, а где книги Герберта Шилдта? Они че там совсем поприфигели?
В списке отсутствует, на мой взгляд, очень важная книга - "Computer Systems: A Programmer's Perspective", в русском переводе "Компьютерные системы. Архитектура и программирование. Взгляд программиста" авторов Брайанта и О'Халларона. Сейчас как раз её пытаюсь осилить. Очень удивляюсь, как это она меня миновала.
И да, насколько я понимаю, нет ни одного учебника по дискретной математике. А ведь это важно. Очень важно для программиста - знать основы дискретной математики.
Зато есть сборник приколов из собственной жизни от Фейнмана. Книжка конечно смешная, но какое она имеет отношение к программированию - я х.з. Может имеется в виду, что программирование программированием, но и общий культурный уровень должен быть на высоте? Тогда список должен быть существенно больше :)
а где же Скит? на stackoverflow он авторитет а в списке его книги нет
C# in Depth, Jon Skeet, Third Edition (русский перевод: C#. Программирование для профессионалов, Джон Скит, пока переведено лишь второе издание)
буквально вчера возникло желание изучить какой-нибудь новый для себя язык программирования, без особого практического смысла, на вариант два языка:
ruby или python?
Мартин "чистый код". какого черта он тут делает, если в списке нету шилдта то что забыл тут Мартин?вообще когда я увидел книгу, для себя сразу отметил, что те кто ее советуют скорее всего сами не умеют писать чистый код. уже не знаю как во всех учебных заведениях. нас конечно же не учать стилю кода целенаправленноно при каждой сдаче задачи могут дико придратьсяесли задача на Python (было на 1 курсе) то приходится пройти проверку на pylint и pep8, и пока не будет получена оценка в >90% - задача не принимается, ну и собственно если преподы изначально прививают культуру написания кода то потом не надо переучиваться, и видимо с этим у многих проблемыдля меня были совершенно очевидными вещи которые написаны в этой книге, во большинстве рассмотренных случаев я вообще удивлялся: "а как можно писать по другому вообще? чему меня учит книга если она утверждает что 1 - это еденица а не ноль. "слишком много очевидностей
Я вот застрял где-то главе на 6 в книге компиляторы ахо, лайма и прочих. Никак дальше не продвинусь :( Я тупой.
Извините,никто не знает как подобное фиксить?Помогите пожалуйста.
А есть какая-нибудь книга где про код и программирование пишется, что-то вроде мотиватора\рассказа? После учебы тягу потерял абсолютно, так что кто хочет в программисты стоит над выбором учебного заведения побольше подумать и не надеяться на него, самостоятельное изучение и только так. учебное заведение исключительно ради диплома и общего развития.
Есть ли люди добрые помочь с fsi анализом либо в Ansys Workbench либо с связью abaqus and flow vision?
Нет библии - Unix network programming
список неполноценный без этой книги
>> Блох Дж. «Java. Эффективное программирование» (2002, PDF)Уже 8 лет назад вышла Joshua Bloch - Java. Effective Java (2nd Edition) (2008)Зачем устаревшую информацию распространять?
Я бы Хорстманна и Корнелла добавил с их двухтомником по Java
"Дао дэ цзин" хоть там при чем?
В сборнике даже Alice in Wonderland by Lewis Caroll есть :)
Еще хотелось бы узнать, тут книги расположены по значимости или в случайном порядке?
Кнут. как много с ним связано
Неужели книги 90х сейчас актуальны?А за пост спасибо, скачал уже парочку
только stackoverflow про это не в курсе. рекламопост?
В каком языке можно научиться логике программирования ?Чтобы писать код самому .Я изучил синтаксис php,понимаю код.Но не могу сам ничего написать.Кроме паскаля и бэйсика.А то лень их ставить.
А теперь сознайтесь кто прочитал GoF все понял и использует это в своей работе?))
Странная подборка, многие книги нужны чисто чувакам пишущим на плюсах (и то например Мейерс не вся серия а только первая книга) или на джаве. Или учащие плохим вещам (например TDD).
Обзор книги "Начинаем программировать на Python", лучшая книга для начинающих с нуля
Всем доброго времени суток!
Публикую обзор книги подписчика нашего телеграмм-канала IT-старт t.me/it_begin на книгу "Начинаем программировать на Python" от автора Тони Гэддиса.
Стоит читать? Да! Почему? Опишу в статье.
Python - хороший первый язык программирования, а это лучшая книга для его изучения.
Кто целевая аудитория книги?
Книга отлично подойдет для тех, кто только начал изучать Python с полного нуля, так как каждая тема рассматривается автором крайне подробно, что просто не оставляет шансов на то, что после прочтения у вас останутся какие-либо вопросы по рассмотренным в книге темам.
Также книга подойдет тем, кто уже до полугода пишет на Python, но всё же имеет пробелы в фундаментальных вещах и эта книга отлично их закроет своим подробным разбором синтаксиса Python.
Что в книге?
Для начала, чтобы было понимание, что представлено в книге, ознакомимся с её кратким оглавлением.
Рис.1.1 Краткое оглавление
Рис.1.2 Краткое оглавление
Рис.1.3 Краткое оглавление и начала обзора глав
Далее, после краткого оглавления, автором описана каждая глава, о чем она и что в ней будет рассмотрено
Рис.2.1 Краткий обзор глав
Рис.2.2 Краткий обзор глав
Перейдем к содержанию и особенностям книги.
В первой главе автор начинает с фундаментальных вещей и описывает роли языков программирования и то, как устроен компьютер.
По мне, это можно отнести к положительной стороне книги. Одно дело, когда, не особо вникая, человек покупает много оперативной памяти, мощную видеокарту и процессор с целью, чтобы компьютер "не тормозил" и "тянул" игры. Другое дело, когда вы имеете понимание о том, каким образом данные компоненты взаимодействуют между друг другом.
Всё зависит от ваших целей. Но, раз вы видите себя программистом, то понимание того как работает компьютер - необходимо!
Автор описывает функционал центрального процессора, для чего необходимы компьютеру жесткий диск и оперативная память и в каких случаях они задействуются им.
В следующей главе автор переходит непосредственно к началу описания синтаксиса Python и начинает он это с описания простых программ на нём.
Отличительной и одновременно положительной особенностью книги является крайне подробные объяснения того, что в ней написано.
Автор не ленится и разбирается каждую строчку коду, что и как работает, какой оператор выполняет какую задачу - всё это подробно разжевывается Тони Гэддисом.
Также, что не может не радовать, помимо разбора кода, автор уделяет много внимание программированию как дисциплине, как прикладной области.
Гэддис в подробных деталях рассматривает цикл создания программы, начиная описания проектирования и постепенно переходя непосредственно к написаю кода, тестированию и собственно исправлению найденных ошибок.
Процесс проектирования в книге сопровождается соответствующими блок-схемами
Рис.3 Цикл разработки программы
Теперь поговорим о практической составляющей книге, то , что нас интересует не в последнюю очередь.
Практические задания в книге
Практике в данной книге уделено огромное внимание, что очень радует.
Что по своему также мне понравилось, примеры не просто имеют абстрактные условия, а привязаны к настоящим задачам бизнеса. Рассмотрим, как описаны в книге такие задачи как вычисление розничной цены товара и вычисление зарплаты сотрудника.
Рис.4.1 Пример практической задачи - программа вычисления розничных цен
Рис.4.2 Пример практической задачи - программа вычисления заработной платы
Также радует, что Тони Гэддис не забыл о модуле turtle для рисования простейших фигур.
Отработка подобных задач отлично улучшает навыки алгоритмирования, что позволяет прекрасно набить руку в алгоритмах и элементарных операциях.
Рис.4.3 Модуль turtle - черепашья графика
Автор рассматривает те основные возможности Python, что нужны новичку как воздух и компетенция в которых будет его прекрасно отличать от орды тех, кто желает выучить Python по видео "Выучим Python за 1 час"
Рассматриваются в книге типы данных, условия и циклы, функции, работа с файлами, исключения и объектно-ориентированное программирование
Также Гэддис в целой главе описывает рекурсию
Рис.5 Введение в рекурсию
Отличительной особенностью является русский перевод книги. В оригинале главы об ООП нет, следует инициатива её появления лежит на локализаторах, спасибо вам ребята!
Тезисно по преимуществам и недостаткам книги:
Преимущества книги:
1. Подробные объяснения кода, для тех, кто учит с нуля
Автор не ленится и разбирается каждую строчку коду, что и как работает, какой оператор выполняет какую задачу - всё это подробно разжевывается
2. Автор уделяет много внимание программированию как дисциплине, как прикладной области.
Гэддис в подробных деталях рассматривает цикл создания программы, начиная описания проектирования и постепенно переходя непосредственно к написаю кода, тестированию и собственно исправлению найденных ошибок.
Процесс проектирования в книге сопровождается соответствующими блок-схемами
3. Отработка алгоритмической подготовки
Тони Гэддис не забыл о модуле turtle для рисования простейших фигур.
Отработка подобных задач отлично улучшает навыки алгоритмирования, что позволяет прекрасно набить руку в алгоритмах и элементарных операциях.
Недостатки книги:
1. Качество бумажной книги
Электронную версию книги выложил на канале, скачать её можете здесь
Если же предпочитаете бумажные книги и решите её заказать - внимательно проверяйте то, в каком состоянии придет вам книга.
Мне повезло и мой экземпляр в достаточно добротном состоянии.
Предлагаю оценить то, в каком состоянии пришла книга моему товарищу.
Рис.6.1 Брак обложки
Рис.6.2 Плохая склейка страниц
Данная "особенность" есть и в моем экземпляре к сожалению.
Минус данного издания - плохая склейка. После интенсивной работы книга стала разваливаться по листочку, склеивать бесполезно, книга буквально рассыпается. Может быть, я немного неаккуратно с ней работал, но когда занимаешься с книгой, а не читаешь ее как художественный роман, приходится много ее вертеть, расправлять (так как она толстая), что-то подчеркивать, и переплет должен быть качественным.
Рис.6.3 Разрезаны страницы
Рис.6.4 Разрезаны страницы
Даже не знаю, что происходит на складе, где хранятся партии этой книги. Но чувствую, люди там не скучают)
2. Вторым достаточно существенным недостатком являются опечатки
Изредка встречаются опечатки, но они очень явные и их достаточно легко увидеть.
3. Последним достаточно существенным недостатком является цена
Этим недостатком обладает практически вся техническая и профессиональная литература. Но всё же надеюсь, что в светлом будущем книги станут доступней, а не стоить, как в случае с данной книгой, 15% от среднего МРОТ по стране. Ниже предлагаю ознакомиться с ценной на Wildberries
На OZON эту книгу нашем 4-м издании не смог найти, там нашел только 5-е, но у меня на руках 4-е и о 5-м к сожалению ничего не могу сказать. В буквоеде, читай-городе и лабиринте на сайте также цена не указана
Рис.8 Цена книги на Wildberries
Итог по книге:
На данный момент, наилучшая книга из тех, что я ранее читал тематики "изучить Python с нуля"
Книга для тех, кто желает изучить Python с полного нуля или же кто имеет минимальный опыт работ с ним.
Начинается книга с с самых азов, постепенно углубляясь в каждую из тем. Код разбирается подробно и с более чем понятными объяснениями. Если будете не просто читать, а параллельно писать код и решать все те практические задачи, что представлены в книге - получите максимальную пользу от книги.
Повторюсь, не рассматривайте подобную литературу, как почитать по часу каждый вечер, не вникая и ждать, что вы станете крутым программистом. Только желание вникать в описанные в книге детали и постоянная практика написания кода - даст вам максимальный эффект от книги.
Мой канал в телеграмм
Если статья показалась вам интересной, то буду благодарен за подписку на мой
где я также публикую обзоры технической литературы и полезную информацию как для действующих, так и для начинающих программистов
Ссылка на бесплатную электронную версию книги t.me/it_begin/142
Обзор книги "Изучаем программирование на Python", отличная книга для начинающих и не только
Всем доброго времени суток!
Публикую обзор книги подписчика нашего телеграмм-канала IT-старт t.me/it_begin на книгу "Изучаем программирование Python" от автора Пола Бэрри
Стоит читать? Да! Почему? Опишу в статье.
Python - хороший первый язык программирования, а это неплохая книга для его изучения.
Кто целевая аудитория книги?
Начинающие Python-программисты, что не работали ранее плотно на Python, но имеют за плечами опыт программирования на любом другом языке: С++, Java или любой иной.
Автор предупреждает об этом еще в введении книги. Но, если вы начинающий программист с упорным подходом ко всему - умеете гуглить, тогда вы также эту книгу осилите.
Поэтому, при покупке в магазине и мыслях стоит ли покупать книгу или нет - не лишним всегда будет читать введение :)
Преимущества книги:
1. Нестандартный подход, как к подаче материала, так и к размерам книги.
Внутри представлено много иллюстраций и картинок, что положительно оценят те, кто визуально воспринимают и запоминают информацию лучше, нежели в тексте. Лично я визуально воспринимаю информацию куда лучше, нежели только сухой технический текст, по этой причине данная книга мне по своему приятно запомнилась.
Рис.1. Пример текста из книги
2. Подробно описана работа с модулями в Python и о полном взаимодействии с ними. Не во всех книгах ранее встречал такое подробное описание работы с ними. Написано всё также понятно и доходчиво.
Рис.2. Пример текста из книги
3. Подробное описание создания сайтов на Python
Пол Бэрри подробно описывает работу с написанием web-приложений, для которых как раз таки хорошо заточен Python.
Автор рассматривает их создание на Flask, он раскрывает общую схему взаимодействия между серверов взаимодействия и конечным клиентом, далее показывает прототип интерфейса будущего приложения
Кто ранее работал только на Django и не работал с Flask, этот материал вам придется по душе.
Рис.3. Иллюстрация из книги
Недостатки книги:
1. Отсутствие подробных объяснений и глубокого анализа.
Недостаток этот больше для тех, кто ранее вовсе не программировал.
Эту книгу сложно назвать справочником или учебником, ибо автор очень лихо описывает главы с методами и условиями, работу с модулями и взаимодействие со списками, но никаких элементарных объяснений на подобие "Hello World!" вы в книге не увидите.
Поэтому, если опыта программирования за плечами у вас нет, книг хоть и можно изучить, но придется параллельно "гуглить".
Техническая литература, к сожалению, пока не является абсолютно доступной для каждого человека. За знания придется платить. Тут уж ваш выбор, покупать книгу или же скачать с просторов интернета бесплатно электронную PDF-версию книги.
Средняя цена на книгу около 1.500 рублей
Рис.4. Цена на Ozon
Рис.5. Цена на Wildberries
Покупать книгу или нет, дело ваше. Скачать бесплатно можно к примеру - здесь :)
Итог по книге:
Не сказать что книга только для опытных программистов, что ранее программировали на других языках и сейчас учат Python. Нет.
Безусловно, для абсолютного новичка книга будет не особо легка в освоении. Но, придерживаясь принципа "терпение и труд - всё перетрут" и используя под рукой Google, думаю выйдет толк из книги и для совсем начинающий программистов, что выбрали для себя первый языком программирования Python
Кому интересны программирование, изучение иностранных языков и кто просто любит развиваться
публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin
Обзор книги "Изучаем Python", хорошая книга для начинающих и не только
Всем доброго времени суток!
Публикую обзор книги подписчика нашего телеграмм-канала t.me/it_begin на книгу "Изучаем Python" от автора Эрика Мэтиза.
Стоит читать? Да! Почему? Опишу в статье.
Python - хороший первый язык программирования, а это неплохая книга для его изучения.
Кто целевая аудитория книги?
Начинающие программисты, что только начинают свой путь в изучении Python. В книге прекрасно описаны основы синтаксиса Python и содержатся подробные комментарии к примерам кода, благодаря чему, изучение языка будет максимально продуктивным.
Но, если вы из книги хотите подчерпнуть что-то более, чем основы и к примеру по ней собираетесь осваивать Django и работу с веб-приложениями, лучше делать этого не стоит, так как информация изложенная по данной теме в книге, далека от актуальной.
Преимущества книги:
1. Кратко, это подробное описание синтаксиса, полноценные комментарии к примерам кода, описание типичных ошибок новичков, подробнее опишу ниже
Первая половина книги - это база синтаксиса Python
Объяснение возможностей Python. Описывается всё, начиная от переменных и работы с ними, заканчивая классами.
В самой первой главе автор описывает установку Python и то, как запустить заветный первый 'Hello World'. Далее автор переходит к объяснению того, что такое переменные, типы данных, строки и числа.
Что хорошо, приводя приводя несложные примеры, Эрик Мэтиз сопровождает их отличными и подробными комментариями, что способствует продуктивному изучению синтаксиса Python.
Автор также не забыл и об описание типичных ошибок новичков. Данные абзацы будет более чем полезны тем, кто только начал изучать Python.
Перемещаясь по главам, автор подходит к описанию того, что такое списки, как с ними работать, четко и абсолютно толково описывает взаимодействие с ними, без какой-либо воды и нудного текста.
Списки автор рассматривает совместно с циклом for, что также позволяет расширить возможности в написании тех программ, что мы можем написать.
Цикл while, первое время, не рассматривается.
Далее, описав списки, автор описывает условия "if/else", словари и цикл while, которому посвящена отдельная глава, после идут уже функции и работа с классами. В конце первой половины книги автор описывает тестирование и работу с файлами в Python.
Что также является хорошим преимуществом книги - это описание не простого тестирование, а обзор на возможности юнит-тестов, что будет максимально полезно для начинающих.
Рис.1. Пример текста из книги с описанием работы со списками
Рис.2. Пример текста из книги с описанием работы с функциями json.dupm() и json.load()
2. Вторым преимуществом является ссылки в книге на вспомогательные интернет-ресурсы
Рис.3. Пример текста из книги с ссылками
Теперь же. поговорим о недостатках книги.
Недостатки книги:
1. Некачественный перевод:
Та проблема, с чем может столкнуться читатель, это типичный для технической литературы, переведенной внутри отечественных издательств.
Например, срезы переводятся как сегменты. Это путает новичков. Ибо прочитав один раз про то, что срез это сегмент и отложив в памяти именно этот термин, начинающий программист будет искать в интернете именно "сегмент" и будет крайне разочарован, когда не сможет найти ничего толкового по своему поисковому запросу.
Рис.4. Цена на Читай-Город
Рис.5. Цена на Wildberries
Рис.6. Цена на Ozon
Относительно книги "Изучаем Python" от Марка Лутца (обзор на неё писал несколько дней назад - ссылка), что стоит пример 3.5 к рублей, данная книга намного дешевле, но всё же, рассматриваемая нами сегодня книга стоит далеко не 300 рублей. Как минимум, студенту придется отдать большую часть стипендии за неё.
Надеюсь, что со временем, в финансовом плане, книге станут для нас доступнее, нежели сейчас.
3. Устаревание информации, изложенной в книги.
Хотим мы этого или нет, но технические книги по программированию имеют одну характерную черту - устаревание и эта книги не исключение.
Особенно сильно мы можем это наблюдать на этапе описания развертывания и построения веб-приложения.
Если вы не новичок в программирование и неплохо знаете английский, то без проблем сможете изучить необходимый дополнительный материал, что представлен по ссылкам в книге, самостоятельно.
Также, если надумаете покупать эту книгу, максимально советую обратить внимание на номер издания. Нас интересует издание №3. Ну и пользуйтесь StackOverFlow и GitHub
Итог по книге:Первая половина книги - это объяснение возможностей Python. Описывается всё от переменных и работы с ними до классов и юнит-тестов.
Вторая половина книги - это описание проектной деятельности, описываются обработка данных и графиков с помощью matprolib, создание сайтов на Django и возможности создания несложных игр на Python с помощью PyGame
Для понимания основ синтаксиса Python начинающим программистом - прекрасная книга!
Но, если вы по ней собираетесь осваивать Django и работу с веб-приложениями, лучше делать этого не стоит, так как информация изложенная по данной теме в книге, далека от актуальной.
Кому интересны программирование, изучение иностранных языков и кто просто любит развиваться
публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin
Обзор книги "Изучаем Python", отличная книга для начинающих и не только
Всем доброго времени суток!
Публикую обзор книги подписчика нашего телеграмм-канала t.me/it_begin на книгу "Изучаем Python" от автора Марка Лутца.
Стоит читать? Да! Почему? Опишу в статье.
Python - хороший первый язык программирования, а это хорошая первая книга для его изучения.
Кто целевая аудитория книги?
Подойдет для тех, кто только начал изучение Python с нуля. Материал в книге изложен доступно и понятно, поэтому трудностей возникнуть не должно. Автор очень подробно рассматривает общие концепции, что дает нам полное понимание структуры языка.
Рис.1. Пример текста из книги
Преимущества книги:
1. Очень хорошо написана в плане теории, материал изложен доступным и понятным языком (что немаловажно для новичка).
2. Манера изложения - автор сначала рассказывает о теме в общих чертах, чтобы было понятно даже новичку (книга все таки считается учебником по Python), но шаг за шагом подходит к крайне низкоуровневым вещам, что будут интересны и тем, кто Python знает уже достаточно хорошо
Рис.2. Пример текста из книги
3. Элементы языка разбираются буквально "по косточкам", вследствие чего у вас вряд ли останутся какие-либо непонятные вами разделы книги.
К примеру, в главе, что посвящена общей работе интерпретатора, все начинается с того, как вообще можно запускать скрипты ( командная строка, двойной клик и т.д.), затем же рассказывается о работе виртуальной машины Python , какие файлы и когда она создают, далее же повествуется о таких разновидностях Python, как:
Также автор рассказывает и про то, как выделяется память в питоне, и про то, как документировать код, и как задавать пути поиска модулей. В общем, всё что может пригодиться.
Также Марк Лутц не забыл о способах ускорения скриптов с помощью таких сторонних библиотек, как Shedskin C++ и Psyco и упоминает кратко библиотеки для создания полноценный exe-файлов ( PyInstaller, Freeze, py2exe)
С помощью такого подхода к написанию книги, нам читателям будет интересно читать.
Для себя, например, благодаря книге, выяснил вопрос, что давно волновал, но был без ответа.
"Является ли класс list связанным списком?" - оказалась нет. Внутри языка это обычный массив, что в некотором роде сход с аналогом std::vector из C++
Нравится, что автор постоянно сравнивает элементы языка Python с похожими элементами из других языков.
Недостатки книги:
1. Мало практики и кода. Для программиста практика крайне важна. Кроме "Изучаем Python", у автора есть также книга "Программирование на Python", что больше ориентирована на практику и будет более полезна для новичка в плане закрепления полученных им знаний. После каждой части книги вас ждёт лишь несколько упражнений. Поэтому, лучше будет, если после прочтения той или иной части книги, полученные знания закрепите на неоднократной практике.
2. Цена. Кусается ценник.
Рис.3. Цена книги на OZON
Рис.4. Цена книги на Wildberries
Как видим, книга выйдет далеко не в 300 рублей) Проблема возможно даже не только этой книги, а в целом, мягко говоря, своеобразного ценообразования и стоимости литературы для конечного потребителя.
Итог по книге:
Отличная книга для того, чтобы влиться в Python. Марк Лутц крайне подробно рассматривает общие концепции языка, всё написано понятно и доступно.
Рекомендую, как первую книгу по Python
Python - хороший первый язык программирования, а это хорошая первая книга для его изучения.
Кому интересны программирование, изучение иностранных языков и кто просто любит развиваться
публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin
Рецензия на книгу "Квантовые вычисления для настоящих айтишников" для тех, кто хочет понять, как работает квантовый компьютер
Всем доброго времени суток!
Публикую рецензию подписчицы нашего канала IT-старт на книгу "Квантовые вычисления для настоящих айтишников" от автора Криса Бернхарда
Краткая, тезисная, но емкая рецензия.
Начиная с описания книги, мы встречаем фразу
Что же, попробуем разобраться
Впервые увидев название книги, сразу захотелось прочитать её. Так как по итогу время свободное появилось не сразу и добралась до этой книги спустя некоторое время, к чтению приступила уже с слегка ослабшим энтузиазмом. Но думаю, это не повлияло на мое восприятие книги.
Данная книга поможет разобраться в базовых вещах темы квантовых вычислений.
В первых главах используется более чем понятная всем аналогия с часами и поляризацией для объяснения физической природы. Изначально математический аппарат, что используется в книге, был довольно таки прост, описание экспериментов также не вызывало затруднений. Всё это очень завлекало и было ощущение, что ты начинаешь постигать что-то "эдакое", что дополнительно поджигало интерес. Но, дочитывая книгу и приближаясь к её концу, в некоторых местах концентрироваться на получаемой информации приходилось больше, но и это не всегда и спасало. В книге крайне много математических выкладок, вследствие идти по которым иногда довольно таки скучно, поэтому, местами приходилось верить на слово автору. Также автор сразу обозначил, что он не затронет комплексных чисел без потери качества и у него это отлично получилось.
Также автор подробно расписал квантовые вентили - основа квантового компьютера.
После приведены базовые квантовые алгоритмы - изучать которые было также увлекательно.
К сожалению, в переводе хватает опечаток в формулах.
Также в книге не хватало деталей реализации квантовых вентилей на практике.
Манера изложения иногда конкретно сбивала с толку. Ибо сначала идет "что?", далее же идет "как работает?", и только после этого описывается "зачем?". Возможно это не для всех будет являться минусом, но мне подобный подход повествования не особо по душе моментами был, по той причине, что фокус теряется и начинаешь терять суть, так и не поняв окончательно, для чего нам все таки это нужно и как оно нам помогает.
Итог по книге:
В целом, несмотря на все описанные мною недостатки книги, прочитав её, я не пожалела, хоть и приходилось гуглить параллельно чтению.
Благодаря данной книге, наконец-таки полноценно поняла, что из себя представляют и на чем основываются квантовые вычисления
Кому интересны программирование, математика, изучение иностранных языков и кто просто любит развиваться