Написание первой книги по программированию

Недавно меня спросили, заинтересован ли я в написании книги для довольно уважаемого издателя, и я, конечно же, согласился. Я не писатель по профессии, я разработчик программного обеспечения с некоторым обучением техническому письму. Самая длинная вещь, которую я когда-либо писал, — это диссертация по распределенным вычислениям, которую вряд ли можно сравнить с книгой. Конечно, эта книга посвящена теме программирования и должна быть обучающей и информативной. Моя проблема в том, как начать; Я сижу за своим компьютером уже около 3 часов и уже раз 25 переписал свое введение.

Я использую Scrivener в качестве инструмента для письма, который я использовал для других работ справочного типа, но по какой-то причине у меня просто нет ничего в голове, чтобы начать, моя пробковая доска полностью лишена заметок! Я не знаю, что делать, и я чувствую себя полностью напуган! Есть ли у кого-нибудь совет начинающему автору книги, с чего начать? Мне было бы интересно узнать, как вы начинаете работу и как вы организуете мысли!

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

Ответы (6)

Закройте вступление. Пообещайте себе, что напишете его последним.

Запустите пустую страницу Scrivener.

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

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

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

Теперь, когда у вас есть список вещей, начните его группировать. Поскольку я знаю все о программировании, в качестве примера я возьму садоводство.

  • Группа А: посадка
  • Группа B: прополка
  • Группа C: урожай
  • Группа D: инсектициды
  • Группа Е: виды растений
  • Группа F: органические
  • Группа G: цвет
  • Группа Н: сезон

и так далее. Просто поставьте букву (А) перед любым утверждением, касающимся посадки.

Создайте новые страницы для каждой из групп. Скопируйте все с буквой А на страницу А:Посадка. Скопируйте все с буквой B на страницу B:Weeding.

Прелесть Scrivener в том, что вам еще не нужно наводить порядок. Итак, как только вы соберете все свои утверждения F:Organic, просто начните писать. Сделайте информационный дамп всего, что вы знаете об органическом садоводстве. Когда у вас закончатся материалы, переходите к любой теме, которая вам больше всего понравится.

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

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

Спасибо за совет, я думаю, потому что мой мозг обычно мыслит очень структурированными кусками мыслей, за неимением лучшего термина. Идея писать против ветра и просто следовать своим мыслям никогда не приходила мне в голову. Я обязательно попробую это!
Лорен, я только изучаю Scrivener, и это здорово. Но для того, что вы описываете, я думаю, карта разума была бы еще лучшим местом для начала. Затем перейдите к Scrivener, когда темы будут визуально сгруппированы и связаны. Во всяком случае, у меня работает.
@Lynn: я попробовал несколько ментальных карт и нашел их запутанными до такой степени, что они ошеломляют. Я думаю, это зависит от того, как человеку удобнее систематизировать информацию. Все, что работает для вас, является правильным ответом. :)
Просто в качестве обновления: я закончил большую часть этой книги, но до сих пор не написал введение!
но вы прочитали большую часть книги... в этом и был смысл. :)
Я создал здесь учетную запись, чтобы поблагодарить за отличный ответ! Это очень полезно для таких, как я, которые действительно не умеют генерировать идеи и систематизировать их позже :)
Подходит ли Scrivener для книг по программированию? т.е. сложно ли включить программный код в документ?
@Blankman Я не пишу код, поэтому не могу сказать. Вы используете специальный шрифт?

Я написал четыре таких книги. Мой первый был на 750 страниц. Остальные колебались от 250-400 страниц каждый.

Мой метод заключался в том, чтобы каждый день планировать определенное количество страниц или определенное количество времени для написания.

Для себя я обнаружил, что если я буду писать более 4 страниц в день (6 в хороший день, бывает по-разному), я быстро выгораю.

Это 2000-3000 слов.

Для общей структуры я написал набросок. Он не должен быть очень подробным, достаточно, чтобы вести вас вперед.

Не пишите введение, пока не закончите. Я всегда писал это в последнюю очередь.

Не беспокойтесь о совершенстве. У вашего издателя есть копирайтеры, технические редакторы и так далее не просто так. Пусть делают свою работу. С другой стороны, помните, что они не программисты, и когда вы используете такие слова, как «ИЛИ», в качестве глагола, вы их запутаете.

Найдите часть, которая вам интересна, и напишите ее так, чтобы она шла по вашему сценарию.

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

Иногда, даже когда вы пытаетесь рассчитать дневной бюджет на количество страниц или слов, бывают дни, когда вы просто не можете написать 2000 слов. Вы стараетесь изо всех сил, но можете пропищать только 1000. Это нормально. Однако не делайте так, чтобы на следующий день обязательно было 3000 слов, чтобы компенсировать нехватку, иначе вы достигнете точки, когда вам понадобится 10 000 слов, для которых почти невозможно создать хороший контент, и это будет перегружено.

Если у вас легкий день, распределите дефицит на 5-10 дней. Если вы сокращаете на 1000 слов, добавляйте по 100 слов в день, пока не наверстаете.

Возьмите выходные. Серьезно.

Кроме того, если вы прочитаете заложенные в бюджет слова или страницы и почувствуете, что можете удвоить их, заставьте себя остановиться и ничего не писать до следующего дня. Поверь мне в этом. Вы можете написать немного больше, около 25% или около того, но не удваивайте. Сжечь город.

Я думаю, что проблема Стивена на данный момент заключается в том, чтобы получить первоначальную общую картину проекта, а не количество слов. Я могу ошибаться.
500-750 слов на странице? Это плотный текст! Я бы изменил размер текста, чтобы получить более удобные 250-300 слов на странице. Это даст вам больше ощущения прогресса и будет приятнее для глаз, когда вы захотите просмотреть свою работу.

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

Когда вы пишете научно-популярную книгу, вы по необходимости будете существовать в экосистеме научно-популярных произведений, которые окружают тему вашей работы. На этом этапе вполне уместно перечитать и изучить некоторые книги, содержащие идеи, лежащие в основе вашей собственной работы. Вы должны аннотировать свое чтение, предоставить ссылки на другую работу, а затем сделать заметки о том, что в конечном итоге будет сказано в вашем томе по этой теме. (Это также прекрасное время, чтобы отметить структуру книги, которую вы читаете, чтобы получить какие-либо советы, сделать больше заметок, например: «Мне нравится структура тома X, но круг тем в томе Y ближе к тому, что я буду освещать. ".)

Если вы сделаете эту работу тщательно, вы, вероятно, получите от 20 до 50 тысяч основных заметок. Организуйте их в грубую структуру, которой, по вашему мнению, следует ваш том.

Теперь у вас есть структура и основа. Изучите примечания и расширяйте их до тех пор, пока они не охватывают то, что вы хотите осветить в своей книге. Это должно привести вас к отметке 75-140k в зависимости от того, насколько вы расширяетесь.

Если вы написали слишком много, самое время отредактировать. На самом деле, когда у вас есть этот неуклюжий беспорядок с ведением заметок и пояснительным редактированием текста, это необходимо. Будьте осторожны, ищите способы сократить словоблудие. Оригинальная ссылка может превратиться в сноску, может стать неотъемлемой частью текста цитаты. Или вы можете удалить конкретную ссылку и просто оставить примечания.

Во всяком случае, это намного больше, чем то, как вы начинаете. Так что я оставлю там.

В СЕРДЦЕ: Помните, что ваша работа не может и не будет существовать в вакууме. Первым шагом в путешествии всегда является определение того, с чего вы начинаете. Поэтому, прежде чем писать, организуйте свои мысли, прочитайте, сделайте заметки, подготовьтесь.

От 20 до 50 тысяч основных заметок? Для книги по программированию? Ебать!
В итоге я набрал 25 тысяч заметок для своей 10-тысячной дипломной работы. Я думаю, что быть в положении, когда у вас больше непослушных и недисциплинированных знаний, чем вам нужно, прежде чем вы начнете, важно для создания хорошо дисциплинированного, тщательного и увлекательного конечного продукта. Накопление заметок не должно быть проблемой, должно быть преобразование их в форму.

Я написал с десяток таких. В настоящее время для меня лучше всего работает интеллект-карта. Как и в случае с Лорен , я записываю все, что мне нужно и что я хочу осветить, в виде ментальной карты. ( Попробуйте MindMeister .) Начните группировать вещи по основным темам, сгруппировав вокруг них второстепенные связанные темы. Продолжайте настраивать, и вскоре у вас будут свои главы, и даже порядок, в котором вам нужно писать о них, станет очевидным (т. е. вы должны знать, как создать базу данных, прежде чем вы сможете вставлять в нее записи).

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

«Вместо того, чтобы думать: «Как я когда-нибудь закончу эту огромную вещь?», вы можете сосредоточиться на маленьких кусочках». Это, безусловно, ключ ко всему процессу. Отличный пост.

Обычно я комбинирую то, что предлагают Лорен и Линн: я перечисляю все известные мне фразы или утверждения по теме, группирую их вместе, а затем организую в приблизительный план. Я использовал Scrivner, Freemind и другие инструменты для составления карт разума, но в последнее время я обнаружил, что использую для этого Workflowy .

Здесь есть несколько актуальных и подробных ответов, к которым я могу добавить только свои два цента, а не больше :)

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

  2. Большинство книг по программированию переполнены скомпилированными кодами, которые портят учащимся. Если вы посмеете быть немного предприимчивым, и оставить некоторую работу для мозга читателя. Иногда эти длинные идиоматические выражения утомляют мозг. Помните Кернигана и Ричи?

  3. В чем особенность вашей книги? Их уже куча на рынке, и вам нужно отличаться от них. Конечно, другой — не значит странный, а более полезный/улучшенный.

  4. Общий совет о написании — сначала начните со структуры. Создайте документ, запишите несколько пунктов, к которым вы определенно хотите обратиться, и относитесь к нему как к своему собственному блокноту в течение следующих нескольких дней. Пишите простым английским языком, не обращая особого внимания на язык. Потом вернуться и пересмотреть. Вы будете удивлены, увидев, сколько новых идей и улучшений появилось благодаря вам, которые боялись приступить к задаче несколько дней назад. Бывает со мной ВСЕ ВРЕМЯ.

  5. Следуйте какой-нибудь методике тайм-менеджмента — установите дневной/недельный лимит времени/страницы, которого вы точно хотите достичь. И да, время от времени обсуждайте свои мысли с коллегами. Иногда помогает загрузить новые мысли.

Надеюсь это поможет.