О состоянии дел с четвёртым томом

Рукопись четвёртого тома с рабочим названием «Парадигмы» постепенно обретает очертания. Как водится, всё получается совсем не так, как планировалось. Изначально я хотел разделить том на четыре части: Си++, GUI, скриптинг и альтернативные парадигмы (Лисп, Пролог и иже с ними), но, пытаясь вписать старый текст по Си++ в новую канву, я столкнулся с потребностью рассказать о парадигмах до, а не после обсуждения ООП и АТД. В то же время мой опыт показывает, что рассказывать о парадигмах как о способах осмысления выполнения программ можно на примере уже известных читателю языков: Паскаля, языка ассемблера и Си вполне достаточно, чтобы проиллюстрировать разные способы мышления, пусть и не все — тут скорее важно показать сам факт наличия разных способов.

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

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

Третья (одиннадцатая) часть будет посвящена «неразрушающим» парадигмам — функциональному и логическому программированию. Здесь будет краткое введение в языки Лисп, Scheme, Пролог, Рефал (Рефал-5) и Хоуп с обсуждением того, как можно изменить собственное восприятие своих программ при работе на этих языках.

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

К настоящему моменту первая часть (которая про парадигмы) почти готова, от части по Си++ есть только то, что уже было раньше, так что главы про TCP-сервер и FLTK ещё впереди, начата работа над частью про «экзотику» (написана примерно треть текста про Лисп), рукопись части про скриптинг пока пустая. В целом четвёртый том обещает быть самым толстым, но я пока надеюсь уложить его в одну физическую книгу (страниц эдак на 600).

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

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

Большое спасибо всем, кто поддерживает проект!

Авария сервера

Ночью с 11 на 12 октября серверная машина, поддерживающая мои сайты, физически сдохла, но, к счастью, жёсткий диск при этом не пострадал. Процесс восстановления, к сожалению, несколько затянулся. Так или иначе, в настоящий момент (14 октября, примерно 12:10) сайт снова работает в прежнем режиме.

Увы, продажи пока приостановлены

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

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

Если кто собирался приобретать книжки, поторопитесь

UPDATE: 25 июня (понедельник) — последний день, когда я готов выставлять счета за книжки, 28 июня (четверг) — последний возможный день для их оплаты. Дальше будем ждать прояснения в области применения законодательства. Если так ничего и не отменят из последних нововведений, придётся что-нибудь придумать, но

Выложена электронная версия 4го издания "Введения в Си++"

image of the 4th edn. cover Веб-версия нового издания "Введения в Си++" выложена на сайт, можно скачивать.

В принципе эту книжку я издавать не планировал, частью краудфандингового проекта она не является (поскольку примерно 95% её текста было написано за много лет до начала этого проекта), затраты на её издание и доход от её продаж я в бюджете проекта учитывать не собираюсь, и т.д. Тем не менее, донэйторам, чья общая сумма пожертвований составляет 3000 руб. и больше, я готов выдать/прислать эту книжку в качестве дополнительного бонуса. Единственное условие — востребуйте её сами :) То есть свяжитесь со мной любым способом и в любой форме укажите, что хотите эту книжку получить — и она ваша, никаких объяснений для этого не требуется, никаких дополнительных условий не налагается, получения других "плюшек" это не отменяет.

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

Четвёртое издание "Введения в Си++"

Вышло четвёртое издание Введения в язык Си++. Подробности, видимо, позже отдельным постом — сейчас мне решительно некогда заниматься веб-версией новой книжки.

Возобновление работы над четвёртым томом

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

Снова в плюсе

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

Всем спасибо!

Финансовая ситуация и планы на будущее

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

Только что я получил очередное крупное пожертвование, которое

Кажется, рассылка закончена

Уважаемые спонсоры,

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

RSS-материал