Проект создания новой книги

Программирование: введение в профессию. Том 1: азы программирования. Вышел 23 марта 2016 г.


Программирование: введение в профессию. Том 2: низкоуровневое программирование. Вышел 5 июля 2016 г.


Программирование: введение в профессию. Том 3: системы и сети. Вышел 26 июля 2017 г.


Программирование: введение в профессию. Том 4: парадигмы. Вышел 27 марта 2020 г.


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

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

Нравится проект? Подтолкни его в нужном направлении!

Краудфа́ндинг (народное финансирование, от англ. сrowd funding, сrowd — «толпа», funding — «финансирование») — это коллективное сотрудничество людей (доноров), которые добровольно объединяют свои деньги или другие ресурсы вместе, как правило через Интернет, чтобы поддержать усилия других людей или организаций (реципиентов) [http://ru.wikipedia.org/wiki/Краудфандинг]

О проекте

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

Профессия программиста — одна из самых востребованных, дефицитных и высокооплачиваемых, но никакое образование — даже в самых лучших ВУЗах — не делает человека программистом. Практически все профессионалы сходятся во мнении, что их программированию никто не учил и пришлось научиться самому. Но и самообучение оказывается проблематично в условиях, когда большинство существующих платформ устанавливает высокий барьер вхождения, исключающий программирование на любительском уровне. [СТАТЬЯ ПОЛНОСТЬЮ >>>]

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

Исходное описание планов по содержанию книги выглядело так:

Согласно авторскому замыслу, книга должна охватить этапы изучения программирования в объёме «продвинутой» школьной информатики (в той её части, которая непосредственно касается программирования) и первых двух курсов ВМК МГУ, с учётом использования операционной среды ОС Unix. В книгу войдёт (в сильно переработанном виде) материал, ранее использованный в книгах Операционная среда ОС UNIX для изучающих программирование, Программирование на языке ассемблера NASM для ОС Unix, Введение в операционные системы и Введение в язык Си++, что составит, по ощущениям, около половины объёма будущей книги. С нуля придётся написать, во-первых, главу, посвящённую математическим основам программирования — теории алгоритмов и её связи с теорией вычислимости; во-вторых, полностью с нуля будет создана часть, посвящённая начальному освоению программирования на примере языка Паскаль, а также сравнительно небольшая, но необходимая часть, посвящённая языку Си. Если хватит сил, стоит снабдить книгу также частями, посвящёнными Лиспу и Прологу.

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

Первые два тома, вышедшие к июлю 2016 г., по своему совокупному объёму превысили изначально ожидавшийся объём всей книги и содержат все наиболее интересные части, написанные с нуля: вводную часть, содержащую всевозможные предварительные сведения; часть, посвящённую начальным навыкам программирования на примере Паскаля; и часть, посвящённую программированию на Си. Кроме того, во второй том вошёл (в изрядно переработанном варианте) материал одной из моих наиболее популярных старых книжек — Программирование на языке ассемблера NASM для ОС Unix.

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

Четвёртый том, если до него дойдёт дело, будет целиком отдан программированию высокого уровня, начиная с ООП и языка Си++, заканчивая «альтернативными» парадигмами и экзотическими языками, такими как Лисп, Пролог, Хоуп и т.п.; в этот же том планируется включить главу о создании графических интерфейсов на основе какой-то из подходящих библиотек (скорее всего Qt, но пока что это не окончательно) и о скриптовом программировании (Tcl + Tcl/Tk). Из всего этого великолепия к настоящему времени существует (и выдержал три переиздания) только текст о языке Си++, что составляет не более трети объёма планируемого четвёртого тома. Более подробно о планах будущее рассказывается на отдельной странице.

Написание четвёртого тома заняло больше времени, чем создание первых трёх вместе взятых, и по объёму он получился, естественно, самым большим. Так или иначе, теперь он доступен для публики.

Финансовый вопрос

Первоначальный анонс краудфандингового проекта содержал следующий текст:

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

С другой стороны, бумажный вариант — наряду с вариантом электронным, который должен быть доступен, что называется, по определению бесплатно — всё же желательно тоже сделать. А ещё есть такой момент, что проект оказывается достаточно масштабным, по предварительным оценкам написание книги потребует около 500 часов, плюс-минус полсотни. К получению «адекватной оплаты» за потраченное время я не стремлюсь — это заведомо невозможно, для этого нужно заниматься не тем, что хочется делать самому, а тем, чего хочет очередной заказчик. Просто чтобы выделить такой объём рабочего времени, мне нужно временно (на период работы над книгой) перестать заниматься подработками, а жить на что-то всё-таки надо.

Исходный финансовый план проекта предполагал, что деньги пойдут на две основные цели: частичную компенсацию рабочего времени автора (600р/час) и издание бумажной версии книги; затраты рабочего времени ожидались порядка 500 часов, стоимость издания оценивалась в 280 тыс. рублей, 20 тыс. оставлялось на непредвиденные расходы; общий бюджет проекта, таким образом, оценивался в 600 000 рублей.

В действительности только на подготовку первых трёх томов ушло свыше 950 часов, а общие монетарные расходы (издание, корректура, дизайн обложки, рассылка обещанных экземпляров донэйторам) в настоящий момент приближаются к 400 тысячам, при том что тираж вышедших томов составил всего 300 экземпляров, а не 1000, как это исходно планировалось. Проект сейчас находится в глубоком финансовом «минусе» (upd: уже нет). Грядущие монетарные расходы на четвёртый том ожидаются порядка 150 тысяч; ну а времени потребуется ещё по меньшей мере 300-400 часов (и это, скорее всего, слишком скромная оценка), так что общий бюджет проекта с учётом издания всех четырёх томов должен составить приблизительно 1300000 рублей. Подробно финансовый план проекта изложен на отдельной странице.

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

Как поддержать проект

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

  • Покупка книг

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

  • Финансовая поддержка проекта

С благодарностью принимаются любые суммы от одного рубля. Ваши пожертвования вы можете перевести на на указанный номер счёта в Сбербанке (для клиентов Сбербанка из Москвы сам перевод бесплатный, если делать его из «Сбербанк Онл@йн» или из банкомата). О сделанном пожертвовании просьба сообщить по электронной почте с указанием, как (под каким именем) вы хотите быть упомянуты в списке доноров; пожертвования, по которым в течение двух дней не пришло электронного письма, будут обозначены в списке как анонимные. Реквизиты и прочие подробности здесь: [ВНЕСЕНИЕ ПОЖЕРТВОВАНИЙ >>>]

  • Word of mouth (a.k.a. сарафанное радио)

Было бы прекрасно, если о проекте узнает как можно больше людей, имеющих отношение к IT и профильному образованию, но только при условии разборчивости в средствах распространения информации [РАСПРОСТРАНЕНИЕ ИНФОРМАЦИИ О ПРОЕКТЕ >>>]

Что взамен

Как это обычно делается в краудфандинговых проектах, для всех, кто пожертвует более-менее заметные суммы (начиная от 300 рублей), предусмотрены определённые (как нематериальные, так и осязаемые) вознаграждения в знак признательности за поддержку проекта [«ПЛЮШКИ» ДЛЯ ДОНОРОВ >>>]