Перевод статьи «So you have ideas but lack the knowledge to build them? Just f*ing write it down».


На протяжении последних десяти лет у меня периодически появлялись идеи приложений и программ. Но все это время я не умела программировать, так что все мои чудесные идеи просто выветривались из памяти.
Сейчас я, наконец, научилась писать код, и мой мозг просто бурлит, постоянно выдавая на-гора все новые идеи крутых вещей, которые я могла бы создать. Вот только я пока не умею создавать целые приложения, от начала до конца.
Очень жалко, правда? Но огорчаться не стоит. Если у вас есть идеи, вы просто обязаны записать их. Возможно, я сейчас заново изобретаю велосипед, но я самоучка, и мне ни разу не доводилось слышать, чтобы кто-нибудь поднимал этот вопрос.
Меня очень злило, что у меня столько крутых идей — и не малейшего шанса воплотить их в жизнь. Если вы, как и я, только начинаете учиться программированию (да еще и самостоятельно), и подобное чувство бессильной злости вам тоже знакомо, эта статья может вам пригодиться.
Назовем ее…
Записывайте, черт побери!
Для начала создайте основную папку. Я настоятельно советую использовать для этого облачные сервисы вроде Google Drive или Keep, потому что вдохновение может настигнуть вас когда и где угодно. Может, когда будете принимать душ. Или ехать на работу. Вы не сможете садиться за компьютер всякий раз, как у вас появится идея.
Затем в основной папке следует организовать любую удобную для вас систему директорий. Мне нравится для каждой возникающей идеи создавать отдельную папку, в которую затем можно будет сбрасывать картинки, видео и текстовые файлы. Обычно у меня бывает один основной текстовый файл с описанием работы приложения, а в дополнение к нему я сохраняю все, что меня вдохновляет (по этой теме), руководства и прочие файлы, которые могут пригодиться при создании этого приложения.
Но как записать код, не умея программировать?
У меня есть несколько идей; я собираюсь их протестировать и определить, какая мне больше всего подойдет. Советую и вам поступить так же.
1. Создавайте блок-схемы
С непривычки это может быть немного сложно. Нужно будет овладеть какими-то инструментами, но когда вы освоитесь, вы сможете создавать довольно крутые вещи. Еще до того как я решила изучать Python, я записала идею фронтенда моего первого голосового приложения при помощи блок-схем. Вот часть схемы:


2. Псевдокод
Псевдокод это очень крутой метод. Я не очень к нему привычна, своим опытом похвастаться не могу, так что просто сделаю копипаст из Википедии:
«Псевдокод — компактный, зачастую неформальный язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные для понимания алгоритма подробности и специфический синтаксис. Предназначен для представления алгоритма человеку, а не для компьютерной трансляции и последующего исполнения программы».
Если хотите узнать больше, можно почитать другие руководства (одно, второе).
3. Записывайте последовательность шагов
Если любите составлять списки, попробуйте просто последовательно записать необходимые шаги. Это в некоторой степени похоже на псевдокод, но позволяет пользоваться вашим любимым методом организации. Я сейчас тестирую этот способ. При этом я пытаюсь добавить какой-то бэкенд для своего будущего приложения.
Список не обязательно должен быть идеальным. Главное, чтобы вы хорошо понимали написанное. Вот как выглядит моя блок-схема, приведенная выше, «в переводе» на этот метод:
1. пользователь: "Alexa, создай список". 2. alexa: (фронтенд) "Назови имя списка". 3. пользователь: "{Имя списка}" 4. alexa: (бэкенд) создать {Имя списка} как новый [список] в [база данных со списками] (фронтенд) "Окей. {Имя списка} создан. Каков первый элемент твоего списка?" 5. пользователь: "{элемент #1}" 6. alexa: (бэкенд) добавляет {элемент #1} в {Имя списка} (фронтенд) "{элемент #1} добавлен в {Имя списка}. Назови следующий элемент или скажи «стоп»." (пока пользователь называет {элементы}, повторяй шаги 5 и 6) 7. пользователь: "Стоп" 8. alexa: (фронтенд) "Окей. Твой список {Имя списка} готов." (бэкенд) quit
Если вы уже немного умеете писать код, вы можете попытаться приблизить ваш проект к настоящему коду, но только если это не будет отвлекать вас от цели — записывания вашей идеи.
пользователь: "Alexa, создай список". alexa: (фронтенд) "Назови имя списка". пользователь: "{Имя списка}" alexa: (бэкенд) создать {Имя списка} как новый [список] в [база данных со списками] (фронтенд) "Окей. {Имя списка} создан. Каков первый элемент твоего списка?" while (пользователь: "{элемент #1}"): alexa: (бэкенд) добавляет {элемент #1} в {Имя списка} (фронтенд) "{элемент #1} добавлен в {Имя списка}. Назови следующий элемент или скажи «стоп»". if (пользователь: "Стоп"): alexa: (фронтенд) "Окей. Твой список {Имя списка} готов." (бэкенд) quit
Что дальше?
А теперь вы можете вернуться к своим руководствам, статьям, видеоурокам и прочим учебным активностям! Когда во время учебы замечаете что-то, что может пригодиться для ваших проектов, возвращайтесь к своей специальной папке. Добавляйте в нее ссылки, пишите заметки. Рано или поздно у вас накопится достаточно знаний и материалов, чтобы воплотить свои идеи в жизнь!
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]