Русские Блоги
Сколько строк в исходном коде Win 10? Какой язык программирования использовался?
(дайте Те вещи о программистах Помечено )
Оригинальная отделка: те штучки о программистах (id: iProgrammer)
В октябре 2013 года мы разместили на Weibo картинку (@ programmer’s things) инфограмма " Сравнение кодовых баз известных программных систем.
В инфографике упоминается, что объем кода для операционных систем Windows XP и Windows 7 составляет около 40 миллионов строк.
( инфограмма Несколько скриншотов, полная версия здесь: http: //t.cn/EXMs07e )
Windows Объем исходного кода Vista составляет около 50 миллионов строк.
Следовательно, объем исходного кода Windows 10 составляет не менее 50 миллионов строк.
Какой язык программирования использовался при разработке операционной системы Windows?
Windows операционная система Кому-то должно быть интересно, какой язык программирования используется для такой масштабной кодовой базы.
Это правда? Кто-то написал на Quora с вопросом: «Разработка W ind ows 10 Какой язык программирования используется? 》
В марте 2019 года инженер ядра Microsoft Аксель Ритчин ответил на этот пост на Quora.
«Вот что о программистах»:
Axel Говорят, что Windows 10 и Windows 8.x, 7, Vista, XP, 2000 и NT имеют одинаковую кодовую базу. Каждое поколение операционных систем претерпело серьезный рефакторинг, добавив большое количество новых функций, улучшив производительность и поддержку оборудования. И безопасность при сохранении очень высокой обратной совместимости.
Ядро (ntoskrnl.exe) Большинство из них написано на языке Си . Вы можете найти просочившуюся версию Windows Research Kernel на Github.
Детскую обувь, кому интересно, могут посмотреть: github.com/markjandrews/wrk-v1.2
Axel Сказал, что, хотя код WRK устарел и в основном неполный, он должен дать вам некоторое представление.
Например: каталог wrk-v1.2 / base / ntos / config — это исходный код известного реестра (Registry) .Этот компонент ядра является диспетчером конфигурации (CM).
Большинство программ, работающих в режиме ядра, также написаны на языке C. (Большинство файловых систем, сетей, большинство драйверов . ) и немного C ++.
Что касается языка программирования, на котором написано Window 10, Аксель считает, что это C и C ++, причем C составляет большинство.
.NET BCL И другие управляемые библиотеки и фреймворки обычно используют C # Написано, Из разных отделов ( Отдел разработчиков) И не принадлежит Windows Исходное дерево 。 По сравнению с океаном кода C, разбросанным по островам C ++, код, написанный на C #, — просто капля в море. 。
Windows действительно правда В самом деле В самом деле В самом деле Очень большой
Axel Я напоминаю всем, что большинство людей не осознают огромных размеров системы Windows, огромного проекта с эпическим масштабом.
Размер полного дерева исходного кода Windows (включая все коды, тестовые коды и т. Д.) Превышает 0,5 ТБ, что включает Более 56 миллионов папок, 400 Более десяти тысяч файлов 。
Вы можете потратить год, копаясь в дереве исходных текстов и копаясь в этих файлах. Они включают в себя все компоненты рабочей станции и серверных продуктов ОС, а также все их версии, инструменты и соответствующие комплекты разработки.
Затем вы снова читаете имя файла, чтобы увидеть, что в нем и для чего они используются. Хочу закончить эти дела , Персона (Или два человека ) Боюсь закончить жизнь 。
один раз Axel Покинув ветку Git на несколько недель, он вернулся и обнаружил, что за ним почти 60 000 коммитов. Axel Я думаю, кто-то сказал бы, что никто не может читать весь код, добавленный в Windows каждый день, не говоря уже о том, чтобы читать код, написанный за последние 30 лет!
Рекомендуемая литература
(Щелкните заголовок, чтобы перейти к прочтению)
Обратите внимание на звезду "вещи программиста" и не пропустите кружок.
Система STEPS: двадцать тысяч строк кода, которые изменят программирование, операционные системы и интернет
У программистов есть заветная мечта: взять и переделать заново всё — операционную систему, языки программирования, библиотеки и приложения. Упразднить ненужное дублирование функций и написать всё красиво и по-новому — словом, сделать всё как надо, а не как получилось в результате многих лет нагромождения разных стилей и технологий. При этом все обычно понимают, что мечтам никогда не сбыться и что никому не под силу заново проделать такой объём работы. Над смельчаками принято посмеиваться, а их попытки — обзывать переизобретением колеса. Но когда за работу берётся человек, который уже однажды изобрёл немалую часть технологий, которые мы ассоциируем с персональными компьютерами, все шутки становятся неуместными.
Алан Кей — живая легенда компьютерной индустрии. В середине шестидесятых он работал с Айвеном Сазерлендом, создавшим первый графический редактор и систему автоматизированного проектирования, а в 1970 году присоединился к исследовательской лаборатории Xerox PARC, где придумал объектно-ориентированное программирование, создав язык Smalltalk, и первый компьютер с оконным графическим интерфейсом. Позднее его работа вдохновит Стива Джобса и команду, сделавшую Macintosh, а прототип Macintosh убедит Билла Гейтса в том, что MS-DOS срочно нуждается в графической оболочке с оконным интерфейсом, известной нам как Windows.
После PARC Кей работал в самых разных исследовательских центрах: Atari, Apple, Disney и HP, а также в Калифорнийском университете в Лос-Анджелесе и Киотском университете. Видимым результатом его исследований стали Squeak — более современная и дружественная версия Smalltalk, а также Etoys — вариант Squeak для детей (на его основе был создан более известный сегодня Scratch). В 2005 году Кей основал исследовательский институт Viewpoints, финансируемый Национальным научным фондом США, а также рядом крупных компаний: Intel, Motorola, HP и Nokia. То, чем Кей и десяток сотрудников Viewpoints заняты сейчас, может ещё перевернуть наш взгляд на программирование.
Двадцати тысяч строк хватит на всё
Изначальное предложение Кея, представленное Национальному научному фонду США, звучало не просто смело, а почти фантастически. Кей пообещал создать среду (мы не будем называть её операционной системой, так как Кей настаивает на том, что это не ОС в привычном понимании), которая позволит функционировать современному компьютеру и будет включать в себя графический пользовательский интерфейс и набор прикладных программ. Главное отличие этой среды от всех уже существующих решений: длина кода этой системы не будет превышать двадцати тысяч строк.
Сказать, что двадцать тысяч строк — это немного, значит не сказать ничего. Если верить «Википедии», то исходные коды Windows NT 3.1 занимали 4-5 миллионов строк кода, ядро Linux 2.6.0 − 5,2 миллиона, а современные ОС с набором стандартных приложений могут содержать сотни миллионов строк кода.
Объём сопоставим с Эмпайр стейт билдинг и равен примерно 17,5 тысячам книг. «Кто из вас прочёл семнадцать тысяч книг? — вопрошает Кей собравшихся на лекции. — А кто из вас прочёл хотя бы одну?» Объёма одной книги, то есть примерно двадцати тысяч строк, по его мнению достаточно для того, чтобы создать систему, напоминающую по функциям те ОС и приложения, с которыми мы сейчас работаем. Просто строить нужно умело.
Современный софт Кей сравнивает с египетскими пирамидами. Их строители ещё ничего толком не знали об архитектуре и сооружали конструкции, которые почти полностью состояли из материала и практически не имели свободного пространства внутри. С изобретением колонн и арок стало возможно возводить куда более изящные и практичные сооружения. Нельзя ли изобрести аналог арок для написания программ?
Сейчас программист при всём желании не способен свободно ориентироваться в миллионах строк кода. Зато если уместить всю систему в объём книги и разделить на логические части по 100-1000 строк, это даст возможность легко понимать логику её строения и вносить изменения. Проблемы вроде багов, которые на протяжении многих лет преследуют крупные проекты, просто уйдут в прошлое.
You may say I’m a dreamer
Главный вопрос: возможно ли такое в принципе? За пять лет работы команда Кея доказала, что ответ на этот вопрос может быть положительным. Систему методов, которые позволят это сделать, авторы называют STEPS. Это рекурсивный акроним, расшифровывающийся как STEPS Toward Expressive Programming Systems — «Шаги к выразительным системам программирования».
Руководствуясь принципами STEPS, в институте Кея создали прототип системы. Он называется Frank, а если полностью — «Франкенштейн». Такое имя выбрано не зря: система составлена из кусочков, каждый из которых ещё может быть заменён или переписан заново.
Что может делать пользователь Frank? Всё то же, что мы обычно делаем за компьютером: создаём и редактируем текстовые документы, графику, видео, презентации и электронные таблицы, а также обмениваемся ими через сеть. Вся разница в том, что исследователи попытались полностью избавились от дублирования функций разными программами и максимально сократить исходный код.
Frank — это не операционная система, в которой работают приложения, а скорее, подобие Smalltalk или Squeak — большое приложение, которое можно расширять и дополнять, пока оно не станет делать всё, что нам нужно. Вместо приложений, в которых реализованы собственный интерфейс и функции, здесь присутствуют компоненты, имеющие сложные взаимосвязи.
Во Frank есть единое понятие «документ», в который могут быть включены и на месте изменены любые объекты, будь то изображения, таблицы или созданные пользователем скрипты. Презентация, например, — это документ, включающий в себя сценарий перехода вперёд и назад по страницам (или, если угодно, кадрам), а не файл, для открытия которого требуется специальная программа. Такая программа просто не нужна, потому что интерфейс для работы с изображениями и текстом идентичен тому, что используется для подготовки других документов.
То же и с электронной почтой: письмом во Frank считается любой документ, который был передан по Сети. Список писем — это результат поиска документов, полученных от других пользователей.
Ещё одно ценное качество системы Кея — универсальная отмена. Здесь может быть отменено действительно любое действие, а не как в сегодняшних программах — лишь некоторые, да и то не всегда. Для этого используется механизм «миров»: каждый раз, когда мы что-то меняем, система может запомнить, чем нынешний «мир» отличается от предыдущего, и в случае надобности вернуть всё, как было.
Интереснее всего то, как Кей предлагает переделать веб. Во Frank нет браузера, зато есть поддержка протокола TCP/IP (его код занимает 160 строк, и это, по словам Кея, не предел краткости). Вместо веб-страниц предлагается использовать те же самые документы, добавив в них объект нового типа — гиперссылку.
Поскольку код, содержащийся в документах, по сути, работает в виртуальной машине, это делает их загрузку извне не менее безопасной, чем исполнение JavaScript браузером. Получается, что объекты-страницы просто подгружаются через Сеть по мере необходимости. Кстати, делать такие «сайты» намного проще, чем обычные: можно пользоваться уже имеющимися в системе средствами — теми же самыми, при помощи которых редактируются текстовые документы, презентации и всё остальное.
Сила мысли и никакого мошенничества
Внешняя сторона Frank интересна уже хотя бы в качестве примера унифицированной среды, в которой нет ни разделения на приложения, ни традиционной файловой системы. Но настоящая чёрная программисткая магия скрыта внутри.
Сколько занимают разные части STEPS?
| TCP/IP | 160 строк |
| Алгоритм сглаживания на Nile | 45 строк |
| Весь код Gezira на Nile | 457 строк |
| Парсер Nile на OMeta | 130 строк |
| Транслятор Nile AST в Си на OMeta | 1110 строк |
Как Frank уместился в двадцать тысяч строк кода? Ответ кроется за двумя терминами: метапрограммирование и предметно-ориентированные языки (DSL). Главная идея заключается в том, чтобы создавать языки под конкретные задачи и, хитроумно комбинируя их, писать элегантные и короткие программы. Эта идея не нова: на ней основан язык Forth, и она используется в написании программ на языке Lisp, которым Кей в своё время вдохновлялся при создании Smalltalk. Более современный пример — фреймворк Ruby on Rails, применяемый в качестве DSL для разработки бэкэндов веб-приложений. Но STEPS — это нечто куда большее, чем один язык, — это набор методов и языков, при помощи которых можно создавать сложные системы, используя минимум кода.
Один из самых интересных компонентов STEPS — это объектно-ориентированный язык OMeta (pdf). Он предназначен для описания синтаксиса других языков. К примеру, на OMeta можно в несколько строк описать синтаксис калькулятора, а потом при помощи наследования расширить его и сделать научный калькулятор. Синтаксис OMeta при этом описан на самом OMeta.
Второй важный язык — это Nile (названный в честь реки Нил). Авторы STEPS называют его «языком исполняемой математики». Nile позволяет компактно описывать математические выражения и сделан таким образом, чтобы максимально облегчить параллельные вычисления. На нём написана графическая подсистема Frank, называемая Gezira. Gezira умещается в несколько сотен строк на Nile и умеет выводить растровую и векторную графику, поддерживает сглаживание и различные фильтры.
Самый низкий уровень во всей этой сложной системе — язык Nothing (переводится с английского как «Ничто»), «высокоуровневый язык с низкоуровневой семантикой». Nothing — это промежуточное звено между всеми языками в STEPS и машинными кодами. На Nothing не предполагается писать вручную, и нужен он лишь для возможности смотреть, что получается на выходе. Nothing, по словам исследователей, вдохновлён BCPL, использовавшимся в шестидесятые годы и вдохновившим авторов Си. На данный момент код на Nothing можно транслировать в Си для дальнейшего перевода в машинные коды или в JavaScript — чтобы система исполнялась в браузере. Предполагается, что в будущем из Nothing можно будет получать машинные коды напрямую.
В качестве промежуточного слоя, на котором написан пользовательский интерфейс, одно время использовался NotSqueak — упрощённый диалект Squeak. Но в последнем отчёте упоминаний о NotSqueak уже нет, зато появился новый объектно-ориентированный язык — Maru. Как и OMeta, он написан сам на себе и может использоваться как для описания высокоуровневого представления, так и для связи с низкоуровневыми функциями. На Maru может быть реализован парсер грамматики, и в 2011 году команда Кея была занята переносом Nile на Maru.
Бесконечный эксперимент
К сожалению, отчёты Кея и его команды (pdf) — это не пособие для программистов-суперменов и не справочник. Оно и понятно — STEPS пока что не готов, и каждый год во Viewpoints ставят разнообразные эксперименты, цель которых — не столько в создании законченной системы, сколько в том, чтобы отточить методы. «Франкенштейн» как цельная система здесь нужен лишь в качестве подопытного тела.
Если посмотреть отчёты Viewpoints за разные годы, то заметно, что здесь снова и снова изобретают языки программирования, делают их всё более самодостаточными (пока что кое-где ещё остаётся код на Си, но от него постепенно избавляются) и ставят смелые эксперименты.
Время от времени команда Кея пробует пробрасывать мостики в реальный мир, создавая, к примеру, виртуальную машину Squeak для Google Native Client или делая метаязык Tamacola на основе Tamarin VM, входящей во Flash. Эти методы могут позволить всей системе не просто работать в браузере, но исполняться быстрее, чем при трансляции в JavaScript.
Скорость, впрочем, не является целью Кея: по его оценке, в нынешнем виде Frank работает примерно на 30 процентов медленнее, чем если бы был написан традиционными методами. Оптимизацией исследователи занимаются лишь тогда, когда это не вредит компактности кода.
Понятно, что Frank не станет конкурентом современных ОС и вряд ли вообще будет доделан до необходимого для этого уровня. Тем не менее те методы, которые разрабатывает Алан Кей, могут повлиять на подход к программированию не меньше, чем в своё время повлиял Smalltalk.
Количество строк кода в разных приложениях, системах
А вы задумывались из чего состоят системы которыми вы пользуетесь? Ответ на этот вопрос с вашей стороны меня не волнует (извините за возможную грубость). Сегодня, именно сегодня, я в любом случае расскажу вам о количестве строчек кода в разных проектах.
Начинаем с разных «операционок» — без них никуда.
1. Windows NT 3.1 — появилась на свет в далеком 1993, уже тогда содержала в себе больше 4 млн. строчек на С и С++.

2. Windows NT 3.5 — родилась на год позже своего брата на С++ о котором мы говорили ранее.
Количество строк кода достигало 8 млн. Умный читатель может вычесть из этого количества 4 млн. — получить число на которое выросло число строчек кода за год.
3. А теперь вышедшая в 1996 году Windows NT 4.0, содержащая в себе 11-12 млн. строк.

4. Windows 2000. Просто молчу. целых 30 млн строк.
Стоит признать, это не предел, ведь дальше у нас Windows XP.
5. Windows XP — около 45 млн. строчек. Если я сказал, что предыдущие ОС содержали в себе много кода — прошу простить.

6. Windows 10 — более 60 млн. строк. По настоящему сложная сборка.

Что-то мы застряли на «Винде». Давайте перейдем к Linux.
1. Linux 0.1 — 10 239 строчек. Не стоит забывать, что выпуск этой версии состоялся в 1991 году.
2. Linux 1.0.0 вышедший спустя 3 года состоял из более чем 170к строк.
3. Linux 1.2.0 появившийся на свет в 1995 был создан при помощь 300к строчек.
4. Linux 2.0.0 — 777 956 строк.
5. Linux 2.2.0 — 1 800 847 строк.
6. 2001 год — рождается Linux 2.4.0 состоящий из 3 377 902 строк кода.
7. Linux 2.6.0 — 5 929 913 строк.
8. Linux 2.6.32 — 12 606 910 строк.
9. 2017 год на дворе — выходит Linux 4.11.7 основанный на 18 млн. строчках.

Android? 12 млн. строк.

Переходим к браузерам.
1. Google Chrome — 7 млн. строчек кода на C++.

2. Firefox — 18 млн. строк. В создании Firefox замешаны C++, C, Javascript, Rust, HTML, CSS, XUL.


Переход к обсуждению приложений, программ, фреймворков.
1. Photoshop CS 6 — 10 млн. строк кода. Величайшее изобретение, ежедневно помогающее дизайнерам, верстальщикам, разработчикам, блогерам.

2. 1C — 3 млн. строк.

3. MySql — 12 млн. строчек кода.

4. Unreal Engine 3 — около 2 млн. строк на C++. Движок для создания игр.

5. Bootstrap — популярный фреймворк для создания сайтов и веб-приложений. Состоит из 70к строчек.

6. React — популярный фреймворк от Facebook. Чуть меньше 160к строк.

7. Vue.js — популярный фреймворк для создания пользовательских интерфейсов.

Надеюсь вам понравилось!
На счет линукса — некорректно.
Когда вы приводилиипримеры винды, вы брали операционную систему. А линукс — это не операционная система — это ядро операционной системы. А операционная система с ядром линукс будет, например: linux mint, ubuntu, cent os, debian, fedora и много других. Поэтому количество строк в линукс-дистрибубутивах будет больше. Например в линукс минте браузером по умолчанию является фаерфокс, а это значит, что там в ядре линукса 18млн. строк + в фаерфоксе тоже 18млн. строк и еще много всякой хрени.
Для unreal engine взяли скриншот окна cinema 4d. Автор «потрудился» над статьёй как надо.
Игра «Посадка на Луну» на калькуляторе МК60: 1 (одна) строка кода.
Полный бред полного чайника.
Почти все сравнения некорректны типа кода в ЯДРЕ LINUX коим явлется Linux и ПОЛНОЙ СИСТЕМЕ где в 10 раз больше в GNU окружении даже уровня IceWM, а в полноценном DE ещё процентов 20 накинет как в ядре. А винда это полная система, ядро у неё к слову, достаточно простое и рядом с NET не стояло, так же начиная с 2000/xp винды не особо росло.
И каков, интересно, процент строк, состоящих из одной только фигурной скобочки?
Умный читатель может вычесть из этого количества 4 млн. — получить число на которое выросло число строчек кода за год.
Люблю, когда мне льстят.
Винда это количество строк во всем проекте или только в ядре ? Тогда как то глупо сравнивать с сухим ядром линя.
Какой-то бред написан.
Про линукс — особенно.
Приводится количество строк кода. чего? Ядра и модулей?
Вспоминается количество матерных слов в комментариях к коду разных версий Linux

Некоторые кодят так, как Маяковский стихи писал, так что количество строк имхо далеко не показатель

Ответ на пост «Когда под капотом ещё куча фреймворков»


Когда под капотом ещё куча фреймворков


Обзор книги "Начинаем программировать на 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 с полного нуля или же кто имеет минимальный опыт работ с ним.
Начинается книга с с самых азов, постепенно углубляясь в каждую из тем. Код разбирается подробно и с более чем понятными объяснениями. Если будете не просто читать, а параллельно писать код и решать все те практические задачи, что представлены в книге — получите максимальную пользу от книги.
Повторюсь, не рассматривайте подобную литературу, как почитать по часу каждый вечер, не вникая и ждать, что вы станете крутым программистом. Только желание вникать в описанные в книге детали и постоянная практика написания кода — даст вам максимальный эффект от книги.
Мой канал в телеграмм
Если статья показалась вам интересной, то буду благодарен за подписку на мой
где я также публикую обзоры технической литературы и полезную информацию как для действующих, так и для начинающих программистов