LINUX.ORG.RU

Вышло издание 2,92 книги «Программирование: введение в профессию» А. В. Столярова

 , , ,

Вышло издание 2,92 книги «Программирование: введение в профессию» А. В. Столярова

3

4

Тихо и незаметно 30 апреля 2026 года вышло издание 2.92, которое наконец включает в себя читаемый текстовый слой.

Исправлены опечатки и ошибки, обнаруженные в предыдущих изданиях, в частности 2.91 (где введена кликабельная навигация) и 2.9 (первое чисто электронное издание).

Книга предназначена для самообучения основам программирования и в отличии от многих других изданий предполагает фундаментальный подход - вначале основы дискретной математики и использования GNU/Linux или BSD с командной строкой, затем паскаль, потом ассемблер и только потом Си, системное программирование и альтернативные парадигмы (функциональное, логическое и так далее).

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

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

>>> Ссылка на страницу издания
>>> Альтернативные способы скачивания

>>> Новость на сайте автора

★★★★★

Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 9)
Ответ на: комментарий от Certified_UNIX_User

Шикардос! Мерси, отрадно прочитать как этот лопух сначала принял ИИ за человека, а потом жалко оправдывался. Программист мамкин :)

zabbal ★★★★☆
()
Ответ на: комментарий от sunjob

у меня, видимо, сильно старый … собирается :о)

Текущая версия 16. Чувак, ты что - так и не смог найти выход из бункера в котором из инета только ЛОР доступен? :)

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

Это на какой версии дебиана надо сидеть… лень даже вспоминать)

wandrien ★★★★
()
Ответ на: комментарий от zabbal

Чувак, ты что - так и не смог найти выход из бункера в котором из инета только ЛОР доступен? :)

А зачем нужно что-то ещё? :)

Zhbert ★★★★★
()
Ответ на: комментарий от Xenius

А ты уверен, что std::string не зло? И зачем оно вообще, если в C++ есть сишные строки?

А-ха-ха! Это вот так выглядит результат обучения на выхлопах Столярика. Полюбуйтесь, коллеги - как вам данный экземпляр? По-моему достойный экспонат для кунсткамеры ;)

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

кто тут? :о)

какой был под рукой, тем и накрутил ! ;o)

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от Xenius

zero runtime парадигму из-за которой C и ценен

То есть на практике тебе на С писать не доводилось? Потому что runtime там есть всегда кроме каких-нибудь совсем уж вырожденных микроконтроллёров.

zabbal ★★★★☆
()
Ответ на: комментарий от Lusine

Глупые конструкторы не понимали, что своего софта в СССР нет.

Всё нужное бы сделали, в лучшем качестве и за меньшее время. Бонусом не допустили бы внедрение ненужного, которого сейчас 99% от всего софта паразиты.

firkax ★★★★★
()
Ответ на: комментарий от zabbal

Он уже признался выше, что только однострочники писал.

(На чём? На sh, видимо.)

wandrien ★★★★
()
Ответ на: комментарий от qulinxao3

ну можно всёж прикрутить прокрусто-линтер что бы функции были чистыми

Можно даже его частью компилятора сделать - и назвать паскаль++ ;)

Порождённая этим массовая экзотермальная детонация несомненно улучшит зимний климат нечернозёмной части РФ :-Р

zabbal ★★★★☆
()
Ответ на: комментарий от wandrien

А то вдруг «гуру»… того…

Учитывая качество отложенной им.. гурятины - даже сомнений нет что там всё ужасно.

zabbal ★★★★☆
()
Ответ на: комментарий от wandrien

прелестно! как-то так и представлял... но в стихах... это просто великолепно!
в виртуозности ни кто не сомневался (я так думаю). меня другое интересует
- ведь можно «просто» писать и обходить «кривые углы»?(или я не прав?)
- как часто «вынужденно» применять такие вот фОртели?

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от Saakx

Ну ты хотя бы додумался обозначать неизвестные русскими буквами?

Тихо ты! Ну как метапрог услышит и на свет приползёт - это ж ещё страниц 20 фимоза минимум…

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

спасибо... я достаточно «знаком» с ним :о), вопрос был риторическим (для понимающих :о)

sunjob ★★★★★
()
Ответ на: комментарий от monk

Как часто доверенный корневой сервер выписывал сертификат твоему продвайдеру, чтобы тот мог сделать mitm?

liksys ★★★★
()
Ответ на: комментарий от Manhunt

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

Ага и все ячейки являются целыми числами о 0 до 255. Проблема обучения на Си и ассемблере именно в том, что это протекает сквозь все абстракции. А программирование это в первую очередь навык обращения с абстракциями. Когда я пишу (defun make-counter () (let ((x 0)) (lambda () (incf x)))), я с трудом представляю те байты, в которые всё это будет транслировано (особенно с учётом того, что x в ходе работы не ограничено сверху каким-либо числом), но это удобная структура для работы. А в Си постоянно помнишь, что строки это байты, что 0 и ‘/’ в юникоде не могут встретится не первым байтом, что массив просто указатель на область байтов…

Также и с процедурами и функциями. В алгоритме мы или что-то вычисляем или выполняем какое-то действие (ввод, вывод, запись в хранилище данных, чтение из него). Даже в ассемблере MOV, IN, OUT действия, ADD, SUB, MUL, DIV вычисления. И это хорошая абстракция для человека. А Си эту абстракцию ломает: мы делим алгоритм на действия-вычисления (называемые функциями).

Можно заняться теоретизациями на концепцию «чистых вычислений», но как только тебе нужно что-то в этих чистых вычислениях отладить, ты вставляешь отладочную печать

Поэтому я и подчёркиваю, что деление на функции и процедуры семантическое. fopen процедура, хоть и возвращает значение, а void poly_complex_solve(const double *a, size_t n, gsl_poly_complex_workspace *w, gsl_complex_packed_ptr z) функция, хоть и void.

А без натягивания совы на глобус, смысла в разделении вычислений и действий на уровне языка - нет.

На уровне языка нет, на уровне алгоритма есть.

Я не против жанра «хаскель для домохозяек за 21 простой урок», но это всё-таки отдельный жанр должен быть, кмк.

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

monk ★★★★★
()
Ответ на: комментарий от liksys

Как часто доверенный корневой сервер выписывал сертификат твоему продвайдеру, чтобы тот мог сделать mitm?

У меня провайдер mitm не делает. Я на свой личный сайт по http хожу.

monk ★★★★★
()
Ответ на: комментарий от monk

Поэтому я и подчёркиваю, что деление на функции и процедуры семантическое.

Семантическое, но бессмысленное.

Это всё рутины (routines)

wandrien ★★★★
()
Ответ на: комментарий от wandrien

Семантическое, но бессмысленное.

Не более бессмысленное, чем деление чисел на целые и дробные. Это же всё числа.

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от monk

В программировании нет такого деления.

В программировании есть числа целые, с плавающей точкой, с фиксированной точкой, а также иные более редкие виды.

wandrien ★★★★
()
Ответ на: комментарий от monk

А программирование это в первую очередь навык обращения с абстракциями.

Или же вы путаете программирование с математикой.

Когда я пишу (defun make-counter () (let ((x 0)) (lambda () (incf x))))

Всегда подозревал, что Lisp оказывает на неокрепшие умы необратимое воздействие.

/Последнее шутка, не обижайтесь, пожалуйста/

eao197 ★★★★★
()
Ответ на: комментарий от VanyaZay

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

Playermet
()
Ответ на: комментарий от monk

У тебя нет никаких гарантий, что твой провайдер не делает mitm вообще.

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

liksys ★★★★
()
Ответ на: комментарий от seiken

тот, который до сих пор стандарт де факто в 2026г. Мы опять возвращаемся к теме наиболее вероятно используемых настроек по умолчанию - то, что отличает целевой продукт от конструктора «сделай сам».

А какой он будет возвращать когда стандарт де факто изменится? А как вернуть более другой? А если я хочу не файла хеш получить? Прям максимально неочевидно, пока не погрузишься в душную документацию по пошику.

Твоё мнение как линуксоида заведомо субъективное, тебе нужно сначала забыть все команды линуксового набора, и тогда мыслительный эксперимент будет чище.

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

skiminok1986 ★★★★★
()
Ответ на: комментарий от Xenius

Откуда оно у меня возьмётся, если почти все программы которые я писал одностраничные или вообще однострочные и их можно было написать на любом языке?

Какая потрясающая аберрация! И тебе это вообще никак не смущает при споре с профессиональными программистами? Интересно, такое часто у травмированных «учебником» Столярика встречается?

zabbal ★★★★☆
()
Ответ на: комментарий от seiken

Вообще, забавно, как некоторые преподносят работу с командной строкой как некое ноу-хау, которое только в юниксе существует, и не доступно глюпым неюниксоидам по причине сакральности консольного знания, доступного только избранным ЛОЛ

Командных строк много, но удобных среди них нет. Пошик просто дальше многих от удобства.

skiminok1986 ★★★★★
()
Ответ на: комментарий от Lusine

Всю дорогу этим занимались. Ту-4 это B-29 и т.д.

Очень странно что не скопировали тот волшебный asic для иксов на котором твоя прабабка считала сатурн за 20 лет до появления иксов. Может тоже решили что ты несёшь бред как сивый мерин за ради троллинга?

zabbal ★★★★☆
()
Ответ на: комментарий от Manhunt

Зимой 1972 года Сергей Алексеевич лежал с воспалением легких…

Я прослезился. Такой же страдалец как и герой топика ? Нет, серьёзно, вот если бы Сеймуру Крэю какой-нибудь американский министр сказал, что правительство хочет что-то там скопировать, он вообще обратил бы на это хоть какое-то внимание ? Я вот не в курсе он хотя бы был акадэмиком или нет ?

cawa
()
Ответ на: комментарий от Xenius

И вообще почитай методическое предисловие стр 14-15.

Программу длиннее однострочника напиши, методист мамкин.

zabbal ★★★★☆
()
Ответ на: комментарий от skiminok1986

Командных строк много, но удобных среди них нет.

Потому что строки неудобны для команд?

vM ★★★
()
Ответ на: комментарий от VanyaZay

и он оклемался

Эх, не даром я в карму не верил. Жаль.

придётся забросить свои мега прожекты

Не жаль.

zabbal ★★★★☆
()
Ответ на: комментарий от Saakx

Одно хорошее. Снижение углеродного следа.

О, свежая поставка сои на ЛОР. Кто заказывал? Заберите!

zabbal ★★★★☆
()

которое наконец включает в себя читаемый текстовый слой

Последние времена наступают.

PolarFox ★★★★★
()
Ответ на: комментарий от zabbal

добрее надо быть! вот только представьте ситуацию, когда он с вами поделился своей кровью... вы способны пересмотреть свое мировоззрение в таком случае?

sunjob ★★★★★
()
Ответ на: комментарий от wandrien

Точно, MITM - это хорошо и здорово…

Ну объективности ради - это какое же гуро нужно подсунуть вместо творчества этого гуру чтобы стало ещё хуже?

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

подсунуть чтобы стало ещё хуже?

метапрог?)

wandrien ★★★★
()
Ответ на: комментарий от wandrien

А @Xenius писал, что ссылки — это костыли по сравнению с божественным Паскалем.

Ничего такого я не писал и паскаль я божественным не считаю. Кстати var-параметры в паскале есть и это вроде как раз аналог ссылок из C++.

Посмотри в книге автора страницы 14-15 (методическое предисловие), где он обосновывает почему надо начинать обучение именно с паскаля. Если ты с этим не согласен, то приведи аргументы по существу, почему нет.

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Saakx

Серьёзное достижение. Такого добился не каждый из вас.

Это не достижение, а просто работа. В условиях РФ ещё и непрестижная и хреново оплачиваемая. Я преподавал в 5 ВУЗах (из которых 2 зарубежные) и мне не кажется что это делает меня автоматически экспертнее тех профессионалов, кто не преподавал ни разу - за исключением очень нишевых вещей, непосредственно с самим преподаванием связанных.

zabbal ★★★★☆
()
Ответ на: комментарий от Xenius

Посмотри в книге автора страницы 14-15

А я все чаще замечаю,
Что меня как будто кто-то подменил.
О морях и не мечтаю,
Столяров мне всю природу заменил.

wandrien ★★★★
()
Ответ на: комментарий от Manhunt

Лебедев прождал в приемной больше часа. Министр его не принял.

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

liksys ★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.