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

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


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


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


Усилия донэйторов сделали возможным издание трёх томов книги; со всеми вышедшими томами вы можете ознакомиться на этом сайте. Планируется выпустить также четвёртый том; срок его появления во многом зависит от финансовой ситуации.

Подтолкни реальность в нужном направлении — сделай так, чтобы четвёртый том появился быстрее!

Краудфа́ндинг (народное финансирование, от англ. с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 рублей), предусмотрены определённые (как нематериальные, так и осязаемые) вознаграждения в знак признательности за поддержку проекта [«ПЛЮШКИ» ДЛЯ ДОНОРОВ >>>]