Оговорка: я посредственно знаком с психологией, этикой, философией и сопутствующими штуками. Большинство следующих соображений крайне субъективны и не каноничны. Это моё личное мнение, моя картина мира, мой субъективный опыт. Пожалуйста, учтите это.
В последнее время: месяцы, годы, десятилетия — смотря где вы живёте (жили) и какими моделями мира оперируете (оперировали) — вокруг происходит много событий, которые ставят сложные вопросы из областей этики, морали, экономики, а если смотреть некоторые телепередачи, то и психиатрии.
Ответы на эти вопросы касаются личности человека, её реальных, а не воображаемых, границ. Или её формы, структуры, если так удобнее. Я воспринимаю это явление как границы, которые разделяют допустимое и недопустимое поведение для личности.
Расскажу, чем занимался в ушедшем году, как выполнил [планы](post:results-of-2020-for-me-and-the-blog} и что планирую на следующий год.
Подробно о моей годовой активности можно узнать в посте с итогами творческого отпуска. За пару месяцев ничего существенного не поменялось.
Или как написать том «Войны и мира» за 2 года.
В июне 2019 я уволился из Melsoft и ушёл в творческий отпуск, который длится вот уже 2 года и 2 месяца. Пора подводить итоги.
Расскажу зачем я это сделал, чем занимался, что получилось, что не получилось, какие впечатления остались.
Кратко: всем рекомендую.
Экспресс пост в ответ на вопрос.
Кратко: чтобы лучше кодить, надо больше кодить :-) и вдумчиво читать код.
Если чуть подробнее, то вопрос сложный и что-то посоветовать из чтения мне сложно:
Я больше писал, чем читал :-D В итоге, когда я начал читать шаблоны проектирования, я подумал: «и что тут такого, я уже с этим сталкивался», когда листал совершенный код, я подумал аналогично. То есть моя практика обгоняла теорию.
Из книг я читал то, что советовали преподаватели в универе, благо было кому советовать, и то, что считал интересным. Страуструпа, например, 2 раза прочитал.
Updated: Этот пост написан до появления Copilot. Моё мнение о Copilot в отдельном посте.
В комментарии к модной типизации в Python мне обоснованно указали, что я не рассмотрел использование типов для помощи IDE. В частности, для автодополнения и подсказок.
Это действительно хороший повод для использования типов. Но в моей картине мира и в моём окружении разработчика подобные «умные» штуки находятся где-то на периферии полезности. Поэтому я о них периодически не помню.
Собственно году в 2010 я отказался от «умных» версий того же автодополнения и не жалею. В то же время, мои периодические порывы сменить Emacs на крутую современную IDE во многом вызваны как раз желанием проверить, не сделали ли наконец нормальный программистский CAD с действительно крутыми помощниками. Пока не сделали, так что сижу на Emacs :-)
Я ни разу не хейтер IDE. Просто не использую те фичи, для которых IDE ставят — не вижу от них существенного профита для себя на текущем уровне развития софта.
На сколько я знаю, моя позиция не распространена, поэтому расскажу про её логику подробнее.