Сейчас так программированию не учат. Обзор книги Пола и Харви Дейтела «Как программировать на C»

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Обзор | Книги, комиксы

Читать про художественную литературу интересно и увлекательно, соглашусь. Однако даже среди «скучных» учебников можно отыскать что-то любопытное. Я бы даже сказал — самобытное. В моём случае речь идёт о книге по программированию на языке C. Авторы попытались угодить новичкам и профессионалам в этой индустрии, снабдив своё произведение обширным читательским инструментарием. Например, в книге полно советов, рекомендаций, упражнений и прочих вещей, заготовленных на каждый случай.

Как программировать на C
Автор: Old Paladin

Как по мне — у них получился весьма добротный самоучитель. Более того, авторы рекомендуют использовать свою книгу не только обучающимся, но и преподавателям. Например, как подспорье (или даже как основу) при составлении учебного материала. Но несмотря на все эти многочисленные достоинства, книга имеет ряд огрехов, с которыми необходимо мириться. И дело не только в переводе технических терминов. Там есть и более не очевидные вещи, как бы сейчас сказали — с нюансом. Мы обязательно рассмотрим их ниже, чтобы вы смогли составить своё собственное мнение о книге.

А сейчас — поехали.

Пара слов об авторах

Учебник примечателен уже тем, что над ним работали сразу два автора. И речь идёт не про классический дуэт в виде двух коллег по цеху, а про родственников: отца и сына.

Отца зовут Харви Дейтел и судя по описанию из его же книги — это очень крутой мужик. Мало того, что он является председателем компании Deitel & Associates, Inc, так он ещё и свыше 40+ лет занимается компьютерными дисциплинами, 20 из которых — преподавание в высших учебных заведениях. А профильное образование для себя этот дядька получил в Массачусетском технологическом институте. И словно бы этого мало, Харви умудрился получить ещё и степень доктора философии в Бостонском университете.

Что касается его работ — то они были переведены на 10+ языков, среди которых числится даже урду (индоевропейский язык), японский и китайский (традиционный и упрощённый).

Теперь уделим внимание его сыну — Полу Дейтелу. Чтобы быть ровней своему отцу, этот парень занимает сразу две должности: пост исполнительного вице-президента и главного инженера в компании Deitel & Associates, Inc. Он тоже обучался в Массачусетском технологическом институте, где изучал информационные технологии. Помимо прочего, Полу поручено заниматься обучением сотрудников больших компаний, среди которых числится IBM, Boeing и даже NASA. Они обращаются в компанию Дейтелов для повышения классификации своих работников. И опять-же, судя по описанию из книги — у него это хорошо получается.

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

Структура книги

Если коротко — то очень удобная. Знаете, такая, в стиле программистов, где всё логично и понятно.

Если же разворачивать свою мысль, то вот что мы имеем. В начале каждой главы, помимо её порядкового номера и темы, указаны т.н. цели. Под ними понимается, чего именно должен достичь (научиться) будущий программист, когда закончит прохождение этой главы.

Глава 2
Автор: Old Paladin

Затем идёт планы главы. В нём указано, с чего мы начнём и чем закончим. Все подзаголовки имеют не только уникальные имена, но и порядковые номера. Это помогает легко ориентироваться по главе, читая только те моменты, которые действительно нужны.

План шестой главы
Автор: Old Paladin

В конце каждой главы написана краткая сводка по всей рассматриваемой теме. Ну, краткость конечно относительная, ведь язык сложный, а материал достаточно подробный и всё уместить в пару строк сложно. Но этот блок всё-равно сделан короче, что позволяет по-быстрому освежить свою память. Ещё там есть терминология, которая является выжимкой ключевых слов, а также упражнения для самоконтроля и тесты по написанию кода. Последнее, увы, не имеет проверки. Но оно и понятно, ведь и без того раздувшаяся книга (1000+ страниц), стала бы ещё толще, будь в ней расписан код всех тестовых программ.

Упражнения для самоконтроля
Автор: Old Paladin

В совокупности это даёт целостную картину каждой рассматриваемой темы. Вы как читатель чётко понимаете о чём пойдет речь, что будет пройдено и как это потом решать. Если же какой-то момент забыт, то его можно будет быстро подсмотреть в разделе резюме (краткая сводка). А для подкрепления теории доступны разные задачки и упражнения.

В общем, как я и говорил в начале — всё доступно, понятно и логично.

Основные моменты

Теперь хочу рассказать вам про подход авторов к предоставляемой информации. Я понимаю, что этот обзор могут читать НЕ программисты, поэтому для простоты возьму примеры из первых двух глав. Этого будет вполне достаточно, чтобы показать трепетное отношение Дейтелов к своим читателям.

Значит смотрите, начинающим программистам важно понимать, какие вообще технологии существуют и для чего конкретно они будут писать код. Авторы данного учебника вполне осознают важность этого нюанса, благодаря чему посвятили первую главу компьютерам. Например, оттуда можно узнать про их внутреннюю организацию: блок памяти (он же SSD, HDD и пр.), процессор (CPU) и т. д. Или про этапы выполнения программы: с момента её поиска и запуска на ПК до выполнения ею каких-то действий: представьте себе какой-нибудь калькулятор, Steam, или блокнот.

Более того, там также рассказывается про работу интернета. Буквально в пару слов, но тем не менее. А ещё Дейтелы приводят параллель между родственными языками программирования. Например, вы знали, что от C произошёл C++, а уже от того C# и Java?

Вторая же глава отсылает нас к первым попыткам программирования. В ней авторы не просто приводят парочку лёгких программ, а прямо-таки объясняют каждый их шаг. Даже такой для заезженной программки как «Hello World», состоящей всего из 12 строк, у Дейтелов припасено несколько объяснений. Например, вот вам типичный комментарий на языке программирования C:

/* функция main начинает исполнение программы */

Казалось бы, чего тут мусолить? Слеш и звёздочка — это начало комментария, а звёздочка и слэш — конец. Но авторы этого учебника подробно объяснили эту конструкцию языка. Т. е. для чего это используется, как на это смотрит редактор кода, а затем и компьютер? И для чего комментарии нужны самому программисту?

А теперь представьте более сложные вещи и распространите их на всю книгу. Вот такое у Дейтелов отношение к предоставляемой информации. Минус только один — редакторы кода и прочие вещи читатели должны найти сами, увы.

Качество физического издания, цена и актуальность

Тут тоже начнём с минусов. Обложка у книги твёрдая, но вот сами листы газетного качества. Они отдают желтизной, их неприятно трогать и они легко рвутся. Шрифт приемлемый, но мелковат. Также в книге встречаются множественные опечатки и иногда — склеенные слова. Что-то вроде этого: «ясловоиясклеен».

По поводу цены не скажу за других, но сам я эту книгу в 2015 брал за 1215 рублей. На маркетплейсах её вроде сейчас не найти.

Ценник в 1215 рублей
Автор: Old Paladin

Что касается актуальности — ну, она чутка устарела. Многие вещи уже работают иначе, а сам C уже не так популярен среди программистов. Если кому интересно, то на нём чаще всего пишут программы для различной техники: от самоделок на Arduino до бытовых приборов (умных и не очень). Это связано с тем, что в этих вещах мало как оперативной, так и постоянной памяти. А язык C как раз-таки позволяет писать оптимизированный код, который экономит все эти вещи. Это если совсем по-простому.

Но да ладно, что-то мы отвлеклись. Несмотря на свою «устарелость», книга по прежнему даёт хорошую базу для новичков в C.

Заключение

Какой итог можно подвести после всего вышесказанного? По моему мнению, данная книга — достаточно уникальная среди себе подобных. Да, её материал и рассматриваемый язык уже не так актуальны, но она по сей день способна заложить фундамент в головах начинающих программистов. Особенно если они решат связать свою жизнь с тем IT-сектором, где применяется C и ему подобные языки программирования.

А что вы скажите насчёт этой книги? Есть ли она в вашей домашней библиотеке? Или у ваших знакомых? Стали бы вы читать её сейчас? Поделитесь своим мнением в комментариях!

Автор не входит в состав редакции iXBT.com (подробнее »)

15 комментариев

narmattaru
ph d — общая степень, типа «кандидат наук». слово «философия» там чисто дань традиции, эту степень можно и по математике, и по биологии получить.
а так-то спасибо за рассказ о книге.
Old Paladin
Понял, будут иметь ввиду. Спасибо за комментарий.
103201402049715767738@google
Спасибо за инфу. Сейчас найду, скачаю… :))
Шутка.
Я как-то всё больше с С++ работаю…
105541404663996881166@google
Сейчас же программисты не нужны после того как ИИ появился
Old Paladin
Как и всякие авторы, писатели, копирайтеры. Но я же здесь. Хотя может я ИИ?.. А если серьезно, то хрен его знает. Как-то научились сосуществовать вместе.
61001113@vkontakte
На самом деле это довольно обычый американский учебник. Они там в большинстве своем очень многостраничные и подробные. Где все структурировано и разжевано по многу раз на разные лады.
В результате просто прочитав какую ни будь биологию за старшие классы в 1200 страниц вы довольно уверенно будете разбираться в вопросе.
А взяв учебник по алгебре почти наверняка научитесь много чего решать даже если в советской школе у вас с этим было не очень.
Самое же убогое что я встречал это именно наши учебники. Они вообще не предназначены для самостоятельного изучения предметов
M
А когда оригинал был написан? И по какой редакции перевод. Хоть бы децимальный номер или копирайт книжки показали бы...
Копирайты иногда врут, напарвался я на переиздание Мейерса которое переиздавало старую версию книги как новую.
Old Paladin
Мой косяк, признаю. Это 7-е издание, под издательством Бином за 2015 год.
M
У оригинала есть редакция 2020х лет (9е издание — примерно 21го). Это же изнание версии 2000х в 2015м.
Очень плохой макет по сравнению с оригиналом. Очень хотели все ужать, аж текст склеивается
S
блок памяти (он же SSD, HDD и пр.)

Чего? Никогда не слышал, чтобы носители данных называли блоками памяти.
C уже не так популярен среди программистов

Чего? Один из самых востребованных языков программирования до сих пор. В различных рейтингах всегда входит в первую тройку. Просто у него своя ниша — всякие встраиваемые устройства, для которых компиляторов других языков может просто не быть, и различный низкоуровневый код. Иногда С называют ассемблером высокого уровня.
Old Paladin
Ну слушайте, оригинал вышел достаточно давно и техническую литературу тогда переводить не очень умели. Да и вообще, если придираться к терминам, то что HDD, что SSD — это запоминающие устройства. От слова «память». Поэтому определения вроде «блока памяти» или вашего «носителя данных» вполне уместны. Что касается популярности, то я вовсе не имел ввиду, что им пользуется около 1% программистов. Но что он относится к своей нише — это было указано.
S
оригинал вышел достаточно давно и техническую литературу тогда переводить не очень умели

Это понятно, но вас то здесь никто не заставлял использовать этот неудачный перевод :-)
запоминающие устройства

Вот этот термин часто употребляют, особенно когда говорят об архитектуре в целом. HDD и SSD относятся к постоянным запоминающим устройствам, а RAM и всякие кэши — к оперативным.
Old Paladin
Окей, убедительно. Тогда постараюсь взять на будущее момент с адаптацией старых или неверных формулировок на новые и более правильные.
X
Возможно, в оригинале было блочное устройство
X
А что такое повышение классификации?

Добавить комментарий

Сейчас на главной

Новости

Публикации

Сужение дороги – кто кому должен уступать с разметкой и без

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

Обзор беспроводной колонки Tribit XSound Plus 2 с мультипоинтом

Беспроводная колонка XSound Plus 2 — ещё одна версия другой модели бренда Tribit. Плохо это или хорошо? Все зависит от того, какой форм-фактор вам будет по душе, с каким удобнее будет...

Китайские присадки для моторных масел: стоит ли доверять?

В последние годы рынок моторных масел в России серьезно изменился: многие знакомые западные бренды ушли, уступив место новым игрокам, в основном из Китая. Это заставляет автовладельцев тщательно...

Пилит 50-сантиметровые пеньки с легкостью! Обзор мощной 82V аккумуляторной пилы Greenworks GD82CS51

Аккумуляторный инструмент стал неотъемлемой частью нашей повседневной жизни, но что если я скажу вам, что Greenworks предлагает батарейки мощностью до 82 Вольт? Сегодня я хочу поговорить о мощной...

4,2 миллиарда лет назад: встречайте LUCA, прародителя всего живого

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

Обзор смартфона OnePlus 11 спустя год: отличный флагман со всего тремя недостатками

В начале 2023 года компания OnePlus выпустила одиннадцатое поколение своего флагмана. Модель продолжала тенденции, впервые заложенные в модели 9 Pro: актуальная флагманская начинка, тройная камера...