recoder: (Default)
[personal profile] recoder

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

Обычно, когда сделаешь правильный дизайн, то из него логически следует реализация. И когда воплощаешь это в код, чувствуешь, что делаешь The Right Thing™. Ты не борешься с системой, ты строишь новое, складывая из продуманных блоков. При грамотных абстракциях и новые фичи реализуются логичным способом, и опять же появляется то же чувство. А вот когда делаешь грязные хаки или даже хаки на хаки - чувствуешь, как у тебя карма безнадёжно портится. Понимаешь, что ты в отладчике третий день сидишь именно за это, за сделанную Wrong Thing™. Тобой или нет - дело уже другое.

Так вот - по-моему, есть люди просто-напросто лишённые этого чувства. Они не чувствуют угрызений совести меняя приватные переменные через reflection или реализуя свою конкретную задачу в глубинах абстрактной библиотеки. Более того, они не чувствуют момента, когда всё сделано правильно и процесс идёт почти сам собой. Это люди без мотивации. Они не способны вообще чувствовать удовольствия от программирования, для них любой кодинг - это борьба с силами природы. Печальная картина...

Такая вот программистично-гуманистическая теория...

coding

Date: 2005-04-21 09:06 am (UTC)
From: [identity profile] little-elijah.livejournal.com
Не, не напрягает. Даже наоборот.

Опять же повторюсь, что для того, чтобы такое представление о жизни сложилось, человек должен не понимать, что правильно - УДОБНЕЙ и ПРОЩЕ. А вот этого ему никто и не объяснил.

Date: 2005-04-21 01:58 pm (UTC)
From: [identity profile] alexaces.livejournal.com
А для того чтобы объяснить, недостаточно РеКодеру подойти один раз к этому самому абстрактному неправильному человеку и рассказать про то как всё будет плохо в будущем. Если человек достаточно умный и сделал так, он уже явно не верит в плохое будущее (например, он считает что не ему разбираться с последствиями что тоже аргумент). Всегда нужен follow-up - в следующий раз когда это код вызвал проблемы, после того как эти проблемы были решены, прикидываешь время которое это заняло vs время которое бы заняло "правильное" написание кода, и если первое время больше второго, показываешь расчеты заинтересованным людям которых хочешь чему-либо научить (включая начальство). Если первое время меньше, ждешь второго случая. Если второго случая нет, правы "неправильные" программисты, а не ты.

Date: 2005-04-21 02:00 pm (UTC)
From: [identity profile] little-elijah.livejournal.com
Согласен.
Радует то, что последнее время мне не приходится никого учить. Ни людей, ни начальство. ;)

Date: 2005-04-21 02:15 pm (UTC)
From: [identity profile] alexaces.livejournal.com
Хм. Совсем не в качестве наезда, и не для перевода темы, и уж тем более не в качестве doomsayer ;), но:

По моим наблюдениям такое бывает в двух случаях:
1. Программист на пенсии ;)
2. Программист в советском НИИ или его современном аналоге ;) - означает что люди в небольшом коллективе не меняются долгое время, что имхо плохо потому что новые люди - это новые взгляды, информация и очень полезный взгляд со стороны.

Другое дело что когда _постоянно_ надо учить, это утомляет очень сильно. Истина (или скорее разумный компромисс) где, как обычно, посредине.

Date: 2005-04-21 03:07 pm (UTC)
From: [identity profile] little-elijah.livejournal.com
У нас имеет место быть второй случай.
Но при этом, как верно подметил РеКодер в коменте, мы тут все учимся. Более того, на регулярно проводимые семинары приглашаются люди со стороны, тот же РеКодер, например. ;)

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425 262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 3rd, 2026 10:30 pm
Powered by Dreamwidth Studios