LINUX.ORG.RU

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

 , , ,

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

4

6

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

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

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

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

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

>>> Ссылка на страницу издания

>>> Альтернативные способы скачивания

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

★★★★★

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

но везде почему-то ржут =)

Ты не понимаешь, это же

Бессильная злоба завистливых неудачников…

как сказал фанбой Столярика комментом выше ;)

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

его со всей очевидностью вам не достать

Это только в глазах фанбоев Столярика кто-то пытается вечно обидеть их гуру. В то время как в треде подробно и с многочисленными примерами обсудили именно чудовищное качество это «учебника», вызванное полной профнепригодностью его автора - которую тоже продемонстрировали с кучей подтверждающих ссылок и примеров. И если хотя бы паре начинающих это сэкономит время на чтение бессмысленной макулатуры - значит доброе дело уже сделано. Хотя удовольствие от пригара фанбоев Столярика и само по себе того стоит :)

написали для людей что-нибудь стоящее

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

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

фанбоев Столярика
твоего гуру

Тут вопрос к тебе, пуcтышка... Вопрос риторический, да... Ответ явно положительный :))

Я не знаком со Столяровым и не читал его книг. Единственное интересное здесь - комментарии и мнения людей (не прими на свой счёт), единственно забавное - пара здешних «живых иллюстраций» к образу небезызвестной собачки из басни «Слон и Моська»...

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

Я понял из комментариев, что Столяров мог кого-то задеть, «ранить» болезненное эго незрелых инливидов, возможно, что и достаточно болезненно. То-то вы и «беситесь» здесь, «на безопасном расстоянии»... ;P ;)))

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

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

И да, будьте здоровы!.. :) А то мало ли... кто тогда развлекать людей будет??.. ;))

P.S. @}->-- ;)

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

Я понял из комментариев

Опять ты себе льстишь. Хотя порвало тебя знатно конечно - непременно продолжай, твой баттхёрт весьма доставляет несмотря на обилие бессмысленных скобок :-D

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

В принципе даже можно понять, намучавшись с dependancy hell

Но вот чем ему не угодила динамическая линковка я так толком и не въехал.

Так именно этим. Запускаешь на своём компьютере с libc.so.6, всё работает. Отдаёшь пользователю: symbol lookup error. Причём пользователь считает, что ты виноват в том, что у него кривая библиотека.

то dlopen() на файл с либой никто не отменял

Так если файл с собой, то зачем dlopen? Разве что для извращённых случаев, когда программа закрыта, а библиотека LGPL. Но это юридическое требование, а не техническое.

Но он же даже с X’ами хочет статически линковаться и огорчается, что это слишком сложно и приходится допускать динамическое связывание.

Есть вот такое: http://flibex.ru/index_ru.html

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

Но он же даже с X’ами хочет статически линковаться и огорчается, что это слишком сложно и приходится допускать динамическое связывание.

Зачем линковаться с иксами хоть статически, хоть динамически? Иксы вообще-то в клиент-серверной модели работают через IPC. К ним никто не линкуется, а посылают пакеты через сокет.

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

Динамическую библиотеку действительно необходимо использовать в двух случаях:

  1. Если пользователь может дать команду подгрузить подключаемые модули, которые могут быть даже написаны после программы. Тогда dlopen/modprobe/…

  2. Если программа пишется для разных ОС с идентичным API, но разными действиями по командам этого API, и должна распространяться одним бинарником (как в MS Windows программа для Win95 благодаря динамической линковке успешно работает в Win11). Для Linux неактуально.

В остальных случаях от них больше вреда, чем пользы, но так как авторы GLibc сломали статическую линковку, а авторы остальных распространённых библиотек опираются на Glibc, то выбора практически нет.

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

Чтобы отправляемые команды не самому писать, а через XLib функции дёргать.

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

Но он же даже с X’ами хочет статически линковаться и огорчается, что это слишком сложно и приходится допускать динамическое связывание.

Это где огорчается? Люди пишут, что при помощи напильника и чьей-то матери всё работает: https://www.cyberforum.ru/qt/thread2472880.html

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

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

И совершенно справедливо: если ты не осилил нормальное описание зависимостей и пакетирование, то ты не профессиональный разработчик, а фанбой Столярика какой-то просто.

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

И совершенно справедливо: если ты не осилил нормальное описание зависимостей и пакетирование

Там нормальное описание зависимостей: требуется libc.so.6. Вообще, под одним именем делать библиотеки с разным API не следует.

И предположим, что сделан нормальный пакет deb и в нём стоит зависимость libc6 <= 2.2 Как это поможет пользователю?

При том, что статически слинкованная версия работает без проблем.

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

сделан нормальный пакет deb и в нём стоит зависимость libc6 <= 2.2 Как это поможет пользователю?

Концепцию QA адептам Столярика тоже разжёвывать надо? Ты в профессию на четвереньках что-ли входил?

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

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

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

Поясни, что имеешь в виду?

Единственный вариант как достичь описанного тобой это собрать deb вообще его не тестируя.

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

Вот то, что он стал

Временные рамки не хочешь уточнить?

Так-то я живьём наблюдал последствия его профессиональной деятельности во всё ещё лихом 1999-ом.

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

Единственный вариант как достичь описанного тобой это собрать deb вообще его не тестируя.

В смысле? Он успешно протестирован на всех версиях glibc до 2.2 включительно (вот кстати, ещё один недостаток динамической линковки, или тестировать на всех или писать libc6 = 2.2). Затем собран и выложен с ограничением, показывающим протестированные версии.

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

Клоуны иногда выдают полезную информацию. Например, Луговский и Эдди очень полезную информацию выдавали.

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

Правда ни Виталик ни тем более Эдик клоунами никогда не были. Один просто был шпаной, а Эдик дурачился. Но это к делу не относится.

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

Иногда были. Иногда изображали. Иногда не были. Но это действительно к делу не относится.

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

Временные рамки не хочешь уточнить?

Я ему не биограф, не психоаналитик и тем более не судья, просто замечу, что с некоторых пор с ним всё менее возможно поспорить на профессиональные темы. Может быть всегда трудно было, но особенно после прекращения преподавания в МГУ в 2022-м стал окукливаться от несогласного мнения, даже если позиция вызывает у людей изумление, вроде его утверждений (в 2025-м году!) о малополезности многоядерных процессоров и даже вызывающей дебильности их придумывания, каких-то очень чудных воззрений на применимость СУБД, считание дебильным или вредным наличия сборщика мусора в императивных языках (ага, Java и C# ненужны, но Lisp и сборщик мусора в нём допустимы или он лисп императивным не считает? хз) и много чего ещё, что в концентрированном виде выразил в http://rebuildworld.net/manifesto.html и http://rebuildworld.net/taboo/

Так-то я живьём наблюдал последствия его профессиональной деятельности во всё ещё лихом 1999-ом.

Положительные или отрицательные последствия?

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

Зачем линковаться с иксами хоть статически, хоть динамически? Иксы вообще-то в клиент-серверной модели работают через IPC. К ним никто не линкуется, а посылают пакеты через сокет.

Ниже monk ответил уже: чтобы не писать самому работу с пакетами и сокетами.

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

Это где огорчается? Люди пишут, что при помощи напильника и чьей-то матери всё работает: https://www.cyberforum.ru/qt/thread2472880.html

Было какое-то обсуждение, может даже со ссылкой на киберфорум, но он если не путаю, считает допустимым исключение из требований статической линковки для glibc и как раз иксов.

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

Ну я так и понял, что вы оба не отличаете библиотеку и сервер

Что-то я уже не понял кто что понял и не понял =) Можно вручную всё сделать, но всё же мне казалось, что в своей программе, использующей для графики X11/X.org хотя бы к Xlib (libX11) надо прилинковаться, #include <X11/Xlib.h> и потом что-то вроде gcc example.c -o -lX11 -lXext написать.

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

Можно что угодно, Иксы-то при чем.) Иксы - это оконный сервер. Они вообще на другой машине могут быть запущены.

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

Можно что угодно, Иксы-то при чем.) Иксы - это оконный сервер. Они вообще на другой машине могут быть запущены.

Кроме X Server бывает ещё XLib. И то и то по-русски Иксы (также, как по-русски Линукс и ядро и дистрибутив). При чём тут сервер к обсуждению линковки?

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

Нет, не по-русски и не по еще каковски. Это по-неграмотному.

xlib - это xlib, xcb - это xcb, Иксы - это Иксы.

Ты бы еще к веб-серверу через HTTP+JSON «прилинковался».

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

считает допустимым исключение из требований статической линковки для glibc и как раз иксов.

Я так понимаю, это не столько про сложность, сколько про допустимость. Как в GPL есть исключение для системных библиотек, так и линковка с glibc и Xlib подразумевает использование API операционной системы.

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

Кроме X Server бывает ещё XLib. И то и то по-русски Иксы

Я думаю, многие тут это первый раз слышат

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

Что за обсуждение, у одного на термин «побочные эффекты» лицензия, у другого на «Иксы»…

Ты бы еще к веб-серверу через HTTP+JSON «прилинковался».

Если бы речь была про libnginx, то была бы речь про линковку к веб-серверу. С чего ты взял, что утверждением «даже с X’ами хочет статически линковаться» описывается подключение к серверу X по протоколу X?

Линковку к веб-серверу ты тоже представляешь исключительно по HTTP?

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

Лицензии на владение родным языком не существует, а жаль: а то некоторых стоило бы отправить на дополнительные курсы.

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

Более того, я даже читал книжку (с картинками) которая так и называлась The Art of Computer Programming

Я не ставил бы в один ряд классику вроде «Война и мир» и бульварное чтиво вроде Донцовой, но хотелось бы увидеть прямые ссылки на высказывания Кнута где бы он оправдывал программирование ради самого программирования.

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

Так что ж ты ведёшь себя так, словно твоё личное мнение по поводу значения слова является единственно верным?

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

Положительные или отрицательные последствия?

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

А ведь всего навсего «у вас там работает такой…»

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

Контекст был в обсуждении способов линковки к библиотекам: динамической и статической. Тут мне казалось трудно как-то иначе понять. Мне даже кажется, что ты меня понял, но зачем-то решил поспорить про точность формулировок.

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

Эдик дурачился

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

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

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

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

Поэтому на мой взгляд сравнение с ведущим грубияном этого обсуждения совсем не в пользу грубияна.

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

Вот они и «решают профессиональные задачи».

Таки тута речь идёт об обучении программированию будущих профессионалов в программировании. А так понятно, что будущих специалистов лучше учить предназначенным для них инструментам, а не читать общий курс программирования. Социологам полезнее R и GNUPlot или даже макросы для Excel, нежели «общий» Питон, хотя для них Питон можно, если будет «заточенный» под них курс и разбор нужных библиотек.

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

Какие ограничения, можешь назвать?

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

Только к обучению программированию это уже отношения не имеет.

Не имеет, оп том и речь. Все «боевые» на нынешний момент ЯП имеют те или иные особенности, делающие их малопригодными в качестве дидактического пособия для начинающих. А Паскаль стал нишевым инструментом для обучению программированию на ограниченной территории РФ.

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

На Delphi чего-только не писали

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

mister_VA ★★★
()
Ответ на: комментарий от s-warus

Он безопаснее си того времени.

Что угодно безопаснее Си, но в том и смысл Си, позволять прогеру делать что угодно, чтобы прогер на Си мог сделать что угодно, даже то, что делать на Си нет смысла.

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

Таки тута речь идёт об обучении программированию будущих профессионалов в программировании

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

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

«Война и мир» и бульварное чтиво вроде Донцовой

В своё время «Война и мир» как раз и была развлекательным чтивом. Да и уровень текста не сказать что так уж сильно выше Донцовой - просто когда его включали в школьную программу по принципу «на безрыбье и это литература» донцовых ещё не было.

оправдывал программирование ради самого программирования

C чего ты взял что это нужно перед кем-то оправдывать?

zabbal ★★★☆☆
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.