Программирование излишне недружественно для новичков. Мы можем улучшить его с помощью простых оптимизаций. Это первая из серии статей в блоге, где я буду исследовать это!
Я очень упорно изучаю программирование в течение последнего года, и есть кое-что, что меня очень беспокоит: для новичков слишком крутая кривая обучения — особенно для самоучек! Кривая обучения имеет смысл — программирование — это очень техническое, сложное и запутанное ремесло. Это очень большой набор навыков для развития, и это занимает много времени. Но мы излишне усложняем жизнь нашим новым сотрудникам — и, кроме того, это проблема доступности*.
Две распространенные проблемы, с которыми чаще всего сталкиваются новые разработчики: многие руководства не определяют свои термины; и почти все, кажется, имеет множество невыявленных зависимостей.
Как новичок, это означает, что я должен пройти через бесконечную кроличью нору гугления и поиска вещей, просто чтобы попытаться изучить или начать эту одну базовую новую вещь **.
Один из моих любимых примеров мудрости программирования — Дзен Python. В частности, эта строка: "Явное лучше, чем неявное". Есть несколько простых способов применить правило Явное лучше, чем неявное.
- Гиперссылки. Сделать гиперссылку очень просто (как я только что сделал для The Zen of Python) — это уменьшит количество поисков, которые должны выполнить ваши читатели.
- Сноски. Отличным примером использования сносок является это Введение в функциональное программирование. Каждый другой учебник (по функциональному программированию), который я пытался прочитать, просто дает мне все эти странные термины, вырванные из контекста. Кроме того, когда я гуглил их, не было единого мнения о том, что они делают и что они не означают. Большая часть этой информации неактуальна для меня как для новичка, плохо знакомого с функциональным программированием. Мне нужно быть более опытным разработчиком, прежде чем я смогу воспользоваться большинством руководств по функциональному программированию. Это контрпродуктивно!
- Руководство по участию для новичков. Участие во многих проектах OSS (ПО с открытым исходным кодом) — кошмар. VLC делает довольно хорошую работу, как и Gnome. Будучи новичком, вы часто сталкиваетесь с кодом, который выходит за рамки того уровня, на котором вы работали, и вам нужно пройти через очень большую базу кода, чтобы понять, что к чему. Разве не было бы намного лучше для всех нас, если бы существовал какой-то волшебный документ, показывающий людям, куда идти? — Это как с дорожными знаками (или GPS)!
- Слишком длинно, не читал: утверждения tl;dr впервые появились в начале 2000-х годов как язвительный ответ на слишком длинные сообщения! Они могут быть отличным способом кратко представить наиболее важные моменты учебника или раздела. Более элегантным подходом будет Концепция (в верхней части руководства/раздела); Резюме (внизу руководства/раздела)
Есть много других вариантов для изучения! У меня нет ответов на все вопросы, но я думаю, что если немного поэкспериментировать, мы сможем сделать мир программирования лучше для всех — особенно для новичков!!
tl;dr: добавьте несколько гиперссылок и сносок. Создавайте руководства по участию в разработке программного обеспечения с открытым исходным кодом. Используйте операторы TLDR.
Явное лучше, чем неявное! :)
Сноски:
*Что я имею в виду? Многие программисты нейроатипичны. У многих из нас есть проблемы с обучаемостью или другие расстройства, которые делают программирование исключительно сложной задачей.
(Кстати: некоторые люди предпочитают использовать нейродивергент. Идут споры о том, являются ли они синонимами или дихотомами — далеко за пределами контекста этого поста!)
- *Это называется стрижка яка. Определение: Бритье яков — это то, что вы делаете, когда выполняете какую-то глупую, кропотливую маленькую задачу, которая не имеет очевидной связи с тем, над чем вы должны работать, но тем не менее цепочка из двенадцати причинно-следственных связей связывает то, что вы делаете. повторно выполняет исходную мета-задачу».
Кросс-пост из: Luna Codes — Размышления о программировании и ИТ