С незапамятных времен разработчики известны принципом «Да пошли вы, мой код лучше вашего», который действует всегда, независимо от контекста, технологий или навыков. И в некоторых случаях они правы, потому что там много дерьмового кода (и QA-инженеры, вероятно, согласятся с этим). Мы склонны начинать очень рано с этим подходом, хотя нам не следует этого делать.

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

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

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

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

Нужно ли начинающему программисту точно знать, как работает ОС?

Я думаю, что ответ ясен. Большинство курсов программирования начинаются с изучения основ языков программирования с использованием C или C++. Знают ли учащиеся, что означает int main(int argc, char **argv)? Или они знают, для чего нужен & в scanf(”%d”,&i);? Нет. Они просто используют его, как есть, как черный ящик. Поверх этого черного ящика они строят свои «потрясающие» дерьмовые программы командной строки :-)

Что, если мы обучим их основным понятиям Open Source и «Не изобретайте велосипед». Они могли бы больше сосредоточиться на чужом коде и меньше на своем собственном, что дало бы им возможность создавать с использованием существующих модулей, а не переписывать все с нуля. Мы учимся не только написав код, но и главным образом читая его! Таким образом, мы действительно могли снизить самооценку разработчиков, позволяя им улучшать существующий код, а не создавать новый.

Остановите загрязнение кода, пожалуйста!

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

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

В любом случае, мой код всегда будет лучшим кодом, который я когда-либо читал!

Прочитайте эту статью в моем блоге.