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

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

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

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

Один из моих любимых примеров мудрости программирования — Дзен Python. В частности, эта строка: "Явное лучше, чем неявное". Есть несколько простых способов применить правило Явное лучше, чем неявное.

  1. Гиперссылки. Сделать гиперссылку очень просто (как я только что сделал для The Zen of Python) — это уменьшит количество поисков, которые должны выполнить ваши читатели.
  2. Сноски. Отличным примером использования сносок является это Введение в функциональное программирование. Каждый другой учебник (по функциональному программированию), который я пытался прочитать, просто дает мне все эти странные термины, вырванные из контекста. Кроме того, когда я гуглил их, не было единого мнения о том, что они делают и что они не означают. Большая часть этой информации неактуальна для меня как для новичка, плохо знакомого с функциональным программированием. Мне нужно быть более опытным разработчиком, прежде чем я смогу воспользоваться большинством руководств по функциональному программированию. Это контрпродуктивно!
  3. Руководство по участию для новичков. Участие во многих проектах OSS (ПО с открытым исходным кодом) — кошмар. VLC делает довольно хорошую работу, как и Gnome. Будучи новичком, вы часто сталкиваетесь с кодом, который выходит за рамки того уровня, на котором вы работали, и вам нужно пройти через очень большую базу кода, чтобы понять, что к чему. Разве не было бы намного лучше для всех нас, если бы существовал какой-то волшебный документ, показывающий людям, куда идти? — Это как с дорожными знаками (или GPS)!
  4. Слишком длинно, не читал: утверждения tl;dr впервые появились в начале 2000-х годов как язвительный ответ на слишком длинные сообщения! Они могут быть отличным способом кратко представить наиболее важные моменты учебника или раздела. Более элегантным подходом будет Концепция (в верхней части руководства/раздела); Резюме (внизу руководства/раздела)

Есть много других вариантов для изучения! У меня нет ответов на все вопросы, но я думаю, что если немного поэкспериментировать, мы сможем сделать мир программирования лучше для всех — особенно для новичков!!

tl;dr: добавьте несколько гиперссылок и сносок. Создавайте руководства по участию в разработке программного обеспечения с открытым исходным кодом. Используйте операторы TLDR.

Явное лучше, чем неявное! :)

Сноски:

*Что я имею в виду? Многие программисты нейроатипичны. У многих из нас есть проблемы с обучаемостью или другие расстройства, которые делают программирование исключительно сложной задачей.

(Кстати: некоторые люди предпочитают использовать нейродивергент. Идут споры о том, являются ли они синонимами или дихотомами — далеко за пределами контекста этого поста!)

Кросс-пост из: Luna Codes — Размышления о программировании и ИТ