LINUX.ORG.RU

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

 , , ,

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

3

4

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

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

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

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

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

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

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

★★★★★

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

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

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

дык засада даже если садится в сани ibm360 что такое царап-разумное перекрыло(было поводом) «отставать» в микропроцессорах

в частности CM (а это pdp) «зачем» при ЕС серии

т.е. самим фактом наличия двух линий (обе импортозамещённые шилдики) показатель именно необходимости своих архитектур именно для индустрии

крч ойкономика СССР редко в реальности была автократична

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

а это не одно и тоже?!

Почти всегда нет. Когда читаешь код и видишь x = f(y, z) или тем более x = y + z, то не ожидаешь, что это выражение при выполнении меняет y или z.

Вообще, Си как первый язык мешает именно тем, что смешивает в одну кучу семантику разных объектов: строки это такие массивы, массивы это такие указатели, указатели это такие целые числа, процедура это такая функция. Всё: кроме целых чисел, вещественных чисел и функций в языке вроде ничего нет. А потом куча исключений типа того, что размер массива не равен размеру указателя.

Деление семантики не для компьютера, а для читателя кода. Технически, на Си можно писать

if(action1() && catch1() || action2() && catch2()) release();
for(i = 0; i < n;) *(i++ + a) = 0;

Синтаксически это корректно, но семантически неприемлемо.

контекст вы опустили, ведь так?

Так я про это и намекаю. Если на Паскале или 1С можно взять кусок кода и он однозначно читается (неоднозначности остаются на уровне «что делает эта процедура/функция»), то на Си для чтения куска кода надо прочитать весь текст до него, а часто и включаемые файлы.

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

может что-то еще есть, за что вы не любите си/плюсы?

Ещё есть неустранимая возможность UB. То есть, не работает построчная отладка. Там легко может быть, что первые 10 строк отдельно работают, вторые 10 тоже отдельно работают, а вместе они портят память в совершенно другом месте программы.

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

тыж не нейронка?

в чём была проблема задаунгрейдить линейку ibm360 под пром задачи именно для задач народного хозяйства СЭВ т.е. реально поглотить ibm360 размером рынка в натуральных показателей и за вендорлочить под задачи народного хозяйства исходно чужую но ставшую единной магистралью инфо прогресса лидера комму мира :)

крч именно(в том числе) история ВТ в СССР и её использования более объективный источник реального устройства «СуперДержавы» чем школьный учебник любой из СуперДержав

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

у тя контекст как у рыбки?

если pdp11(см) можно отрастить в vax

то и ibm360(36бит?али ваще разнословные байтовые машины) можно было дополнить промконтроллерами подобно тому как вон arm в 80-90 ушло с радаров а ща очередное поколении основное шасси

сам факт разнобоя ЕС vs СМ показатель насколько в совке(в плохом смысле) отсутствовала реальная воля к построению коммунизма - ибо наличие разных импортозамещённых шасси показатель насколько ведомственный феодализм был реальности в отсутсвии «Сталина»

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

ну вы прям набросились на си… на сишечку… на лапочку нашу! :о)

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

вот это-бы поподробнее развернуть

В перечисленных мной языках есть отдельное ключевое слово (function, fn, func) для объявления функции. В си и наследниках, как написал @monk,

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

hobbit ★★★★★
()

Серьёзно!? Книги доступны в свободное скачивание!? 🤔

Не программист. Изучаю Питон в качестве хобби. Но любопытно будет полистать.

UriZzz ★★
()

Вот вы нафлудили то :) Чувак написал книжку, обозначив её как «Азы», но чтобы эти азы хоть как то прочитать осознанно надо уже быть довольно глубоко в теме и это главная проблема этого, не побоюсь этого слова, художественного произведения.

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

делать вид, что у него нет недостатков

дак и я не делаю! вон, вишь, разбираюсь, пытаюсь понять что людЯм не нравиться! :о)
p.s. и там ... это ... смайлик :o)

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

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

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

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

то не ожидаешь, что это выражение при выполнении меняет y или z.

так голова-то для этого и дана, что бы «не ожидать» а знать, и прежде думать! :о)

Вообще, Си как первый язык мешает...
и далее весь обзац

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

Технически, на Си можно писать

именно, а вот это вот

семантически неприемлемо

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

контекст вы опустили, ведь так?
Так я про это и намекаю.

я немного об другом.

надо прочитать весь текст

не сталкивался (видимо, у нас разный «контекст»)
ну да ладно, давайте вот эту «ветку» продолжим?

буду «благдранен» если набросаете пример того самомого когда

надо прочитать весь текст

и непонимания «что это такое»?

A B();

-->
по мне это что-то такое:

TYPE FUNC_NAME();

p.s. это уже немного не в тему, но, надеюсь, мы не сильно нафлудим? :о)

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

Чего не китайского, египетского, древнешумерского? Это неуважение к древним цивилизациям.

Претензии к авторам учебников.

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

Наш лектор догадался.

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

не пупи

речь про общьность информационного шасси - снижение издержек на библиотеки софта

набор команд ibm360 не имеет запрета(кроме случившейся коньюктуры в сша где был рынок и той же ibm было выгодней субподряд на 1вый уровень с любой архитектурой)

для СССР просто факт наличия двух(лидирующих по факту разнобой после принятия ЕC серии стал хроническим ибо основным критерием стало наличие возможности царапать ) разных шасси ЕС СМ именно признак отсутствия суверенной(нацеленной на задачи именно СССР и СЭВ) и автономной(т.е не подчинёной иным кликам в политбюро) политики развития производительных сил

ваще история автоматизации повышения труда в СССР яркий пример когда видно на как долго хватает энтузиазма - ибо будь реально Партия устремленна в будущее даже в 1960ых не было специфических управленчиских решений которые оказались

крах той же Глушковской ЕГАИС

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

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

Начинающие эту книгу никак не воспримут, не поймут ничего.

Но, тогда, вопрос: а зачем эту книгу читать тому, кто с этим знаком?

Затем же, зачем читают другую художественную литературу, ради лулзов.

P.S. Правильно было бы назвать этот цикл произведений - Столяров А.В. «Моя борьба» в трёх томах.

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

TYPE FUNC_NAME();

У крестов проблема, что там объявление переменной с вызовом конструктора выглядит так же.

В крестах вообще много синтаксических косяков наворотили.

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

ну ничего себе, мы с вами курнули?! а мы точно на одной волне?! :о)

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

У крестов проблема, что там объявление переменной с вызовом конструктора выглядит так же.

можно пример? или это «более поздние» доработки стандарта?

в крестах вообще ... наворотили

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

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 3)
Ответ на: комментарий от sunjob
ClassName x(y);

Не зная, чем является y, невозможно понять, это обявление функции или инициализация переменной.

Если y тип, то x функция, если значение - то x переменная.

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

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

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

На толчке долго сидеть опасно. Может присосать конкретно. Если это просто детский горшок, еще не очень страшно. Его можно подогреть горячей водой из чайника, он и отлипнет. Но если это фаянсовый белый друг, без спецов МЧС обойтись будет трудно.
=:)

vada ★★★★★
()
Ответ на: комментарий от wandrien
#include <stdio.h>
class dbg
{
public:
 dbg(     ){};
 dbg(int x){};
~dbg(     ){};
} ;

dbg x;               // x - экземпляр класса
dbg y(10);           // y - экземпляр класса
dbg z(unsigned int); // z - функция

int main (void)
{
printf ("main()\n");
}

набросал
с другой стороны - не самое страшное (вполне себе достойный пример, кот. необходимо закинуть в «спровочник/шпору»)

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

Может присосать конкретно

так... задницу-то кормить надо а не программировать!

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

Поциента лучше изучать, когда он лежит мертвый и не дергается

Всем изучать Ленина!

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

Может быть и так:

class Timer { /* ... */ };
class TimeKeeper {
public:
    explicit TimeKeeper(const Timer& t);
    // ...
};

int main() {
    TimeKeeper tk(Timer()); // что это?
}
void f(double my_dbl) {
    int i(int(my_dbl)); // что это?
}

В современных крестах эта проблема решается использованием фигурных скобок.

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

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

Assembler (I8080A), потом «пробегавший», но очень быстро «убежавший» (ну, «не зашёл» он мне) BASIC (тоже I8080A), потом FORTH (I8080A), потом Assembler (микроконтроллеры PIC от Microchip) и (параллельно-совместно) FORTH (DOS), потом Clarion (DOS), потом Clarion (Windows, недолго) и, «параллельно-совместно», Assembler (микроконтроллеры PIC от Microchip), потом C (микроконтроллеры PIC от Microchip) под Linux.

Где-то там, «на фоне», «мелькали» всякие Bash и PHP, но «то такое», временное оказалось... :)

Сейчас - возвращение на C и микроконтроллеры, разработка - под Linux, но уже для китайских 32-битныХ RISC-V микроконтроллеров CH32*** (Microchip «отвалился по политико=экономическим причинам»). :)

«Опять за старое», «железячное», в общем... :))) Вот такой «боевой путь полка»... :))))

Пробовал, как тут мне советовали, и Rust, и Zig (для микроконтроллеров оба), но - опять-таки «не зашло», да и c пока что «держит рынок»...

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

Да не

Книжки(опус на 3(4)томах) в том числе полезен компетентному читателю ,для успокоения сих что их тараканы всёж соблюдают политес в отличии от авторских

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

Ппц шизофреник, абсолютно оторвался от реальности.

При этом среди этого потока бреду нету самого главного: запрета железа, на котором нельзя сменить прошивку.

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

На толчке долго сидеть опасно.

Скажем так, вредно. И читать на толчке что-то кроме стихов тоже вредно. Ну и подтирать высохшую задницу не вполне гигиенично.

Может присосать конкретно.

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

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

Паскаль не такой, он промежуточный между Си и функциональными языками

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

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

чтобы zig появился на 20 лет раньше и захватил рынок

А что там такого революционного по сравнению с go, D и прочими Rust?

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

Убогий костыль, на который наяривает Столярик и его секта, не делает его менее императивным ни разу.

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

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

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

Нулевой рантайм нужен в очень ограниченном числе задач и почти никогда - в прикладной разработке. Утверждения же автора про раст - вообще безграмотный бред, который уже разобрали все, кому не лень: https://habr.com/ru/articles/598219/

Почитай там FAQ или возьми http://rebuildworld.net/ где расписано, что есть зло и почему.

Буквальная медкарта.

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

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

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

Я однажды ночью его говносайт банальным курлом и while true задудосил. Какая эффективность, о чем ты вообще.

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

А автор считает стандарты как таковые вредными.

Автор просто недалекий дурачок. Как без стандартизации предлагается жить? Всем делать свои велосипеды, авось что-то с чем-то будет работать?

поскольку в юникод запихали эмодзи

Какие конструктивные аргументы против эмодзи у тебя есть?

в HTML средства DRM

Не в сам HTML, а в расширения. DRM это говно, но врать тоже не надо.

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

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

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

А ничего, что столяров тоже в жизни ни строчки боевого кода не написал? Всё, что у него есть - косой дырявый движок сайта с говнокодом внутри, никому не нужное феда-поделие и какая-то intelib, никем не использующаяся, в том числе и им самим.

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

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

возьми http://rebuildworld.net/ где расписано, что есть зло и почему.

Попахивает свидетелями Иеговы какими-то :)

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