Andrey Stolyarov

Андрей Викторович Столяров: сайт автора

ПРОГРАММИРОВАНИЕ: ВВЕДЕНИЕ В ПРОФЕССИЮ

краудфандинговый проект

Программирование: введение в профессию. Издание 2,9 (электронное)

1st volume cover

Идёт активная работа над новым изданием книги Программирование: введение в профессию. Издание авторским произволом получило номер 2,9 (два и девять десятых). Предполагается, что последующие версии, если когда-нибудь появятся, получат номера 2,99, 2,999 и т.д., т.е. номера электронных изданий будут арифметически всё ближе и ближе к тройке, но равными тройке станут лишь в случае, если книга когда-нибудь будет снова напечатана на бумаге типографским способом.

К настоящему моменту доступен только первый том из трёх (опубликован 14 января 2025 г.) Ссылку для скачивания см. ниже.

Аннотация

Учебник «Программирование: введение в профессию» ориентирован на самостоятельное изучение и предполагает использование систем семейства Unix (в т.ч. Linux) в роли сквозной среды для обучения.

Скачать книгу

Дополнительные файлы

Файл stud_io.inc, используемый в начальных примерах третьей («ассемблерной») части, можно взять здесь: http://www.stolyarov.info/books/extra/stud_io_inc. Не забудьте переименовать файл! Это делается так:

  mv stud_io_inc stud_io.inc

From G (unverified) Fri Feb 7 10:36:53 2025 UTC pencil

Файлы

А где файлы с примерами?

parent From Andrey V. Stolyarov profile Fri Feb 7 10:45:24 2025 UTC pencil

userpic

Re: Файлы

Законный вопрос.

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

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

parent From noanon (unverified) Fri Feb 14 11:32:31 2025 UTC pencil

Re: Re: Файлы

Редактирование в плане исправление опечаток и ошибок или какие-то примеры были основательно переработаны для большей наглядности?

parent From Andrey V. Stolyarov profile Fri Feb 14 16:09:16 2025 UTC pencil

userpic

Re: Re: Re: Файлы

В примерах конкретно к первому тому самое заметное изменение — в полноэкранных программах коды кнопок раньше (увы мне) присутствовали в виде чисел прямо в коде. Сейчас они вынесены в именованные константы.

В примерах к остальным двум томам, возможно, будут более серьёзные изменения; в частности, я планирую избавиться от идиотского (комитетского) sig_atomic_t.

From Руслан (unverified) Tue Jan 28 21:12:52 2025 UTC pencil

Задачник

Андрей Викторович, подскажите, задачник для второго издания учебника применим к новому изданию?

parent From Andrey V. Stolyarov profile Tue Jan 28 22:03:33 2025 UTC pencil

userpic

Re: Задачник

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

From Алексей Л. (unverified) Mon Jan 27 07:20:54 2025 UTC pencil

Печать издания 2.9

Издание 2.9 очень сложно распечатать, т.к. там что-то не то с размерами страниц :(

From Anonymous (unverified) Thu Jan 23 01:22:16 2025 UTC pencil

Том 1, стр 27

> flash-брелке

По идее правильно будет с буквой о, flash-брелоке. Я тоже удивился, что оно так склоняется, но вот так.

parent From diesi (unverified) Sun Feb 9 16:42:53 2025 UTC pencil

Re: Том 1, стр 27

"Брелоке" это старая норма, из времён, когда слово "брелок" ещё не укрепилось в русском языке, и подчинялось его правилам лишь условно. В настоящее время оба варианта официально определены, как равноправные, а неофициально вариант, где "о" не выпадает, уже почти стал архаизмом.

From anon (unverified) Tue Jan 21 19:22:48 2025 UTC pencil

Изменения в издании 2.9

Извините, а какие есть ключевые изменения в новом издании?

parent From Andrey V. Stolyarov profile Tue Jan 21 20:27:02 2025 UTC pencil

userpic

Re: Изменения в издании 2.9

"Ключевых" нет. В основном исправлены ошибки из эрраты. Из нового — доработаны некоторые параграфы про оформление кода, особенно 2.12.9 и 2.12.10. Ну и ещё много где есть по одному-два абзаца, всего не вспомнить.

parent From anon (unverified) Wed Jan 22 08:36:28 2025 UTC pencil

From Anonymous (unverified) Fri Jan 17 04:56:40 2025 UTC pencil

Стр 23, том 1

"без малого полвека" — уже не "без малого", а чуток больше полвека. Декабрь 1974 — появление Альтаира 8800, то есть ровно полвека - декабрь 2024.

parent From Недопредпенс (unverified) Sat Jan 18 05:24:13 2025 UTC pencil

Полвека ПК

Альтаир 8800 - ещё не привычный прибор, а нечто среднее между игрушечным однобитным Kenbak'ом и настольными миниЭВМ (в том числе и для "персонального", хоть и не домашнего, использования), которыми в 1970 уже никого не удивишь.

Изобретатель Kenbak'а со своим изобретением

Конечно, Альтаир запустил микрокомпьютерный хайп, который привёл в том числе и к взлёту бизнеса трёх корпораций на буквы A, D и М появлению ПК в привычном виде.

parent From Anonymous (unverified) Sat Jan 18 23:24:18 2025 UTC pencil

Re: Полвека ПК

Альтаир уже вполне себе ПК. Я довольно долго ковырялся на эмуляторе с ним. Хотя IMSAI 8080 пожалуй лучше.

From Anonymous (unverified) Thu Jan 16 16:57:24 2025 UTC pencil

Адресная арифметика в паскале

На странице 14 написано "за исключением разве что адресной арифметики" в отношении паскаля, но в гостевой книге есть примеры с таковой на паскале.

Интересно, адресная арифметика появилась только в Free Pascal или в TP и Delphi уже была?

parent From Andrey V. Stolyarov profile Thu Jan 16 17:05:40 2025 UTC pencil

userpic

Re: Адресная арифметика в паскале

Насколько я помню, в TP 7.0 честной адресной арифметики ещё не было, хотя, например, динамические массивы, от которых сишностью пасёт на километр, были уже в 5.0.

Так или иначе, на том этапе обучения, на который рассчитана паскалевская часть книги, адресная арифметика скорее вредоносна. Придумать такие задачи, которые невозможно было бы решить без списков, при этом имея динамические массивы (хоть в каком их варианте), и при этом достаточно простые для начинающих, лично я не возьмусь; следовательно, если обучаемому дать доступ хоть к адресной арифметике "по-честному", хоть к тем динамическим массивам, которые тянутся ещё с TP 5.0, если не раньше — то всё, нормально работать с указателями он никогда уже не научится.

parent From Anonymous (unverified) Thu Jan 16 21:36:14 2025 UTC pencil

Re: Re: Адресная арифметика в паскале

Проблема с динамическим массивом понятна - если массив может ресайзить сама RTL, то нет особой мотивации изучать, как это делать вручную, но с адресной арифметикой в чём проблема?

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

parent From Andrey V. Stolyarov profile Thu Jan 16 22:18:00 2025 UTC pencil

userpic

Re: Re: Re: Адресная арифметика в паскале

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

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

parent From Turbo (unverified) Thu Jan 23 12:47:29 2025 UTC pencil

Re: Адресная арифметика в паскале

Адресная арифметика с PChar появилась в TP/BP7 и TPW вместе с PChar, если мне не изменяет память.

Борландовский странноватый пример к StrEnd():

function StrEnd(Str: PChar): PChar;

uses Strings;
var
S: array[O .. 79] of Char;
begin
Readln(S);
Writeln('String length is', StrEnd(S) - S);
end.

TP7.0 Programmer's Reference (9.9M)

parent From Andrey V. Stolyarov profile Thu Jan 23 12:52:36 2025 UTC pencil

userpic

Re: Адресная арифметика в паскале

Тут да, я вполне могу ошибаться. Дело в том, что я TP осваивал на версии 5.5, активно писал (за деньги) на 6.0, "семёрка" у меня была, но я, скорее всего, не использовал от неё новые возможности, поскольку к моменту её появления (в смысле у меня, а не вообще в природе) все мои проекты на Паскале уже существовали, новых я не начинал. Поэтому если там что-то такое появилось, я мог просто не обратить внимания.

parent From Недопредпенс (unverified) Sat Jan 25 11:41:48 2025 UTC pencil

Re: Re: Адресная арифметика в паскале

Между 6.0 и 7.0 вышел такой "новый" продукт под названием Turbo Pascal for Windows 1.0(и 1.5)

В нём, похоже, и появилось это расширение для удобства прямого вызова функций 16-разрядного WinAPI. Вместе с фирменным борландовским стилем кнопочек, которые рисовала BWCC.DLL

Turbo Pascal for Windows. Version 1.5

From Anonymous (unverified) Wed Jan 15 13:52:47 2025 UTC pencil

Второе издание, которое вы держите в руках

На странице 17 в параграфе "Структура книги и используемые обозначения" во втором абзаце написано: "Второе издание, которые вы держите в руках...", хотя речь идёт про электронное издание 2.9.

From Anonymous (unverified) Wed Jan 15 11:49:08 2025 UTC pencil

Аннотация

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

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

parent From Andrey V. Stolyarov profile Wed Jan 15 12:07:16 2025 UTC pencil

userpic

Re: Аннотация

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


pencil

пояснение


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

Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда.

Андрей Михайлович Столяров в библиотеке Мошкова

Авторские права © Андрей Викт. Столяров, 2009 — 2025