Найти тему
1244 подписчика

Этот пост в мою подборку Философия программирования. У программирования есть философия, у языка программирования есть философия. Часто авторы языка формулируют свои принципы. Авторы Python тоже их сформулировали, назвав Zen of Python. Например такое: "Красивое лучше уродливого". Кстати довольно глубокое положение и я, как-нибудь, пообсуждаю эти сентенции. Люблю ниспровергать разные "истины в последней инстанции". Истина же всегда должна иметь область применения, а если эта область неоговорена, то истина часто становится чем-то неопределённым.


Но вот что предложу, отбросив пока философию авторов Python. Ещё одну истину и вместе с тем практическое положение. Вот оно: "Твоя разработка всегда лучше чужой". Следствием этого утверждения является сентенция: если есть возможность всегда используй свои решения, свои библиотеки, свои алгоритмы. Я много видел программистов, которые в указанной ситуации всегда искали чужие решения. Трудно сказать, чем они руководствовались. Может быть неверием в свои силы, или нехваткой времени, или стремлением как можно меньше заниматься нелюбимым делом. Я предвижу, что на меня сейчас набросятся блюстителя "настоящего" программирования с криками: Как ты смеешь, надо использовать общепринятые подходы, используемые всеми библиотеки и решения! Вы невнимательно меня прочли. Я же написал: "если есть возможность". А ежели вы участвуете в корпоративной разработке, то придётся вам соблюдать их правила. Крики, конечно, продолжаться, потому как в их то понимании, дело совсем в другом, "в общепринятом". Ничего не знаю, для меня слова "общепринятый" не существует.

А пока они там кричат, вернусь к своим рассуждениям, благо места для продолжения поста еще немерено. Так вот, попытаюсь раскрыть мысль, которую я только что записал. Представьте, что вы пишите достаточно большую программу. Или даже не совсем большую. Кто писал, тот знает, что в процессе всегда возникает много разных задач, которые придётся решать. Какие-то задачи вам знакомы и вы быстро их решите. Другие или трудны для вас или требуют некоторого времени для их решения. И вот теперь вопрос: что вы будете делать? Вы будете искать готовые решения? Попытаетесь решить сами? Мне ведь можно возразить: я буду долго возиться и всё равно мой алгоритм будет работать медленнее отработанного готового решения или готовой библиотеки. Но разве вам не хочется вступить в состязание с другими программистами? "Стоп, стоп", - скажите вы, "но ведь в современном программировании используется так много библиотек...". Не продолжайте, я ведь не об этом. Я о том, что можете сделать вы в разумные сроки и не призываю разрабатывать свой аналог QT5, например. Впрочем. Я помню времена, когда каждый уважающий себя программист создавал свои библиотеки в самых разных областях. Ну, времена те прошли, а задачи, которые встают перед программистом, остаются. Они другие, но принцип остаётся: это вызов для разработчика.

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

До скорого, не забывайте мой канал, здесь будет много интересного. И в философском плане тоже.

Этот пост в мою подборку Философия программирования. У программирования есть философия, у языка программирования есть философия. Часто авторы языка формулируют свои принципы.
2 минуты