Краткая инструкция по написанию литературного шедевра для чайников
Вступление.
Тут народ удивляется: ого, сколько тут программистов, как вы, технари, пишете? Вроде бы писательство - удел гуманитариев, филологов и прочих философов, а вам это зачем?
Отвечаю: во-первых, это интересно. Что ни говори, а публика к технарям относится благосклонней. Если ты филолог, то тут и ответственность, и обязательство перед читателем, и невозможность ошибок, корявых фраз, дурацких диалогов и пришибленных персонажей. Уже нельзя: “Садясь за компьютер, у меня сломалась мышка”. Тебя учили пять лет, великих классиков с тобой разбирали, курсовые и дипломы писали, зачем ты так с нами? А вообще, ты пишешь, потому, что это твоя профессия.
Другое дело, если ты программист. Или парикмахер. Или контроллер в трамвае. Или профессор математики. Тут совсем другое. Ты пишешь по призванию и тебе за это многое прощается.
Но я хочу поговорить о том, как моя профессия помогает в писательстве.
Ведь если посмотреть, у художественного текста и программного кода есть куча общих моментов. Разберем.
Постановка задачи.
Предположим, перед вами стоит задача написать шедевральный рассказ о попытке контакта человечества с инопланетным разумом.
Алгоритм и параметры.
Известно, для описания любой истории, как и для решения математической задачи, существует один оптимальный алгоритм. Определяем подходящий алгоритм методом Монте Карло, или любым другим привычным для вас способом.
Определяем функцию, задаем параметры и значения, которые хотим получить на выходе.
Функция: Солярис.
Входные параметры: молодой мужчина, космическая станция, какая-то планета.
Выходные значения: их всегда два. Идея и эмоция. Если ваш текст сгенерирует оба - радуйтесь, вы создали хороший текст. Если только одно - плохой. Если ни одного - ваш текст не работает. Решаем, что конечным продуктом произведения должны стать чувство светлой грусти и идея, что космос хороший (вариант Лема).
Для генерирования светлой грусти лучше всего использовать страх, любовь и отчаяние.
Дополнительные параметры.
Но для дальнейшей обработки нам необходимы дополнительные данные. Вводим и, по-возможности, даем простые, описательные и запоминающиеся имена.
Константы: Снаут, Сарториус и труп Гибаряна.
В процессе обработки (раскрытия) главного персонажа понимаем, что в таком составе любовь не высечь.
Вводим переменную Хари. Хари - важный параметр для эмоций любви и отчаяния, поэтому прописываем ее подробно и не забываем о деталях: платье без застежки, ямочки под уголками рта и так далее.
Тщательно истязаем (раскрываем) главный параметр (Крис Кельвин): тут оптимально использовать цикл из трех итераций: две неудачные попытки избавиться от Хари, третья удачная. Для создания эмоции отчаяния меньше - мало, больше - перебор.
Фоном развиваем сюжет про разумную планету-океан. Тут надо подробно и тщательно, научно и без эмоций. Эта часть - информативная, она нужна для развития идеи. Хорошо использовать новояз, научные термины и имена фейковых ученых.
Выходные данные.
Чрезвычайно важна концовка, именно она задает тексту главное настроение. В оригинале Лема океан не злой, он, как ребенок, не понимает, что творит. Крис остается на станции с надеждой на установление контакта. Эмоция - светлая грусть, идея - космос хороший.
Тарковский пошел дальше: при тех же входных данных, он возвращает Криса на Землю, тот встречается с отцом, но камера ползет выше и показывает океан и острова. Эмоция - безысходность, идея - космос плохой.
Встроенные функции.
Если в программировании хорошим тоном считается использовать готовые, проверенные конструкции и функции, вроде алых губ, изумрудных глаз, покатых плечей, округлых бедер и косых струй дождя, то в писательстве это ужас-ужас. И вам все скажут: нет, дорогой автор, так дело не пойдет. Вам не должно быть легко! Быстренько бегите и изобретайте другой велосипед, другие руки не с тонкими пальцами и без волевых подбородков.
Оптимизация.
Все нещадно кромсаем. В идеале текст должен быть сокращен на 10-20 процентов. Каждую конструкцию тестируем на понятность, читаемость и отсутствие лишних слов. Если слово можно убрать без потери смысла - удаляем. Если абзац не идет на пользу эмоции или идее - удаляем.
Сила эмоции обратно пропорциональна длине описательной конструкции. Самое крутое описание битвы, на мой взгляд, состоит из шести слов: “Словом, видно было, где он шел” (ТББ).
Прогоняем таким образом как минимум 5 раз.
Компиляция.
Расставляем знаки препинания. Теперь, когда наш текст написан, приступаем к компиляции. У программирования есть огромное преимущество: большинство компиляторов укажут вам на лишние скобки и отсутствующие запятые.Тут же надо все самим, ручками.
Тестирование.
Следующий этап - тестирование. Как известно, программист сам не в состоянии адекватно протестировать собственный код, у него уже замылен взгляд и вообще он необъективен. Для этого существуют тестировщики. Редакторы, по-нашему. Редактор прогоняет наш код через всевозможные сценарии, находит баги (может даже чинит), логические дыры, нестыковки, и вообще всячески помогает. Если нет редактора, то поможет любой логически мыслящий муж-жена-родственник-друг.
Чиним, еще разок-другой прогоняем через компилятор и вуаля!
Ваш шедевр готов!
П.С. Данный опус написан исключительно в развлекательных целях, на истину не претендует и всячески поощряет коллег критиковать и дополнять.
За блог спасибо, улыбнуло
А блог забавный, повеселил))) Я своих родственников/друзей называю альфами и бетами)))
Спасибо :)
— Я не Омегон, я Альфарий!
А как он ругался на Голливуд!
Да, кстати, про эмоции. Без них не рассказ, а считалочка получится))) Я — чистый технарь. Не кондуктор, не врач, а инженер-конструктор и механик! То есть технарее уж некуда. А еще десять лет работаю копирайтером. Представьте, какие уже четкие программы и стереотипы в подсознании.
Проблема — не в программу войти, а выйти из нее. Счастлива, когда эмоции это позволяют.
Блог замечательный. Спасибо за интересную тему.
Да, выйти за пределы программы это отдельное искусство, это уже душа.
Надо новую инструкцию написать, как выходить из программы :)
Ну-ну.
Это даже не глупость, это абсурд на уровне Дивергента для средней группы детского сада.
Ситуацию Вы не спасете. Вы же Рыба-ерш, а не Рыба-тролль, даже не рыба-клоун
Cлыхали про неполиномиальные задачи?
Может, литературный процесс и похож на алгоритм, но в программировании нет души. Хотя сама окончила компьютерный колледж)))
В принципе сюда любой процесс можно подогнать, даже построение табуретки
В мире нет технологии написания книг. Этому не учат в школе и т.п.