Чем программирование отличается от психиатрии
Я врач-психиатр, и я устала от своей работы. Отчасти чтобы разнообразить род деятельности, отчасти с надеждой на дополнительный заработок я начала учить Python. Какой это кайф!
Представьте: можно назвать переменную так, как хочется, и она не будет идти к заведующей или жаловаться в Минздрав, потому что недовольна своим именем. Когда задаешь условия задачи, они просто выполняются, а не приходят к тебе через месяц с теми же жалобами, потому что они решили, что условия выполнять необязательно, ведь я их назначила просто так, а не исходя из своего опыта и знаний, а задача выполнится как-нибудь сама. Если программа не работает, как надо, то это потому, что я где-то допустила ошибку, а не потому, что программа решила часть условий выполнить, часть пропустить, а еще часть сделать наоборот (и потом пожаловаться в Минздрав).
Переменные доступны в бесконечном количестве, они не зависят от объемов закупов в Минздраве, сроков торгов, наличия на складе, у них нет маркировки, предельно допустимого количества на месяц, мне не надо обосновывать смену их имен или их переназначение, нет переменных, которые выдаются решением врачебной комиссии или входят в перечень дорогостоящих. Не надо думать, что если ты используешь столько переменных, сколько требуется, то другие программисты останутся без переменных, ведь они закупаются только на месяц, и их может не хватить на всех.
Для решения задачи можно использовать самый простой, понятный и логичный способ, т.к. суть состоит именно в выполнении задачи, а не в том, чтобы безупречно оформить на нее документацию, отдав меньшую часть усилий непосредственно задаче. Нет контролирующего органа, который скажет: "А почему у вас тут сделан пропуск строки? И что, что так понятнее читать код, в клинических рекомендациях этого нет, а значит, это ваша ошибка!" Или: "А почему вы здесь решили задачу в 3 строки, когда можно было сделать это в 10 строк? Плевать на оптимизацию, в клинических рекомендациях сказано, что строк должно быть 10, значит, должно быть 10, опять ваша ошибка!" Вообще нет контролирующих органов, кроме других программистов, так что можно проявить творчество вместо бездумного следованию шаблону (зато по клиническим рекомендациям!)
Не надо уговаривать программу запуститься, обосновывать пользу для нее в случае запуска и вред в случае отказа от запуска, не надо думать, есть ли здесь основания для недобровольного запуска и под какой пункт Закона о психиатрической помощи подпадает отказ программы запуститься: опасность для себя или окружающих, беспомощность или ухудшение состояния при отказе запускаться? Ни одна программа не приведет с собой программ-родственников, которые будут тебе доказывать, что неработающая программа работает нормально или, напротив, что в отлично работающей программе есть серьезные проблемы. Не говоря уже о том, что программы не пишут в прокуратуру, суд, Президенту, потому что им показалось, что их права были нарушены, хотя мои действия регламентированы действующим законодательством и желанием сделать все хорошо. И уж, конечно, программы не оскорбляют, не унижают, не провоцируют, не требуют невозможного, не угрожают и не относятся к тебе как к обслуге.
Забавно, но Python получился для меня чем-то вроде отдушины, где можно чувствовать себя продуктивным, полезным, творческим, способным человеком, хотя, по идее, у меня каждый будний день есть 8 часов, чтобы ощутить все это на работе. Наверное, это и есть выгорание, но я рада, что нашла для себя другой способ справиться с ним, кроме срыва злости на пациентах или безразличия к ним.