Oberon space

General Category => Общий раздел => Тема начата: valexey от Октябрь 13, 2011, 12:03:54 pm

Название: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 12:03:54 pm
Очевидно, что хороший программист должен обладать набором неких качеств характера, которые способствовали бы его профессиональному (не путать с карьерным!) росту.

Предлагаю обсудить.

Я считаю, что Larry Wall прав, выделив следующие три качества:

Цитировать
  • Laziness - The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris.
  • Impatience - The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris.
  • Hubris - Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience.
Название: Re: Качества программиста.
Отправлено: Geniepro от Октябрь 13, 2011, 12:07:46 pm
Я очень ленив, крайне нетерпелив, а гордыня моя не знает меры.
Однако я при этом слишком скромен, что бы называть себя суперпрофессионалом )))
Название: Re: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 12:08:52 pm
Я очень ленив, крайне нетерпелив, а гордыня моя не знает меры.
Однако я при этом слишком скромен, что бы называть себя суперпрофессионалом )))
Значит недостаточно :-)
Кроме того, это же факторы которые способствуют росту, а не определяют уровень на данный момент времени.
Название: Re: Качества программиста.
Отправлено: Peter Almazov от Октябрь 13, 2011, 12:09:16 pm
Гордыню с таким же успехом можно трактовать как качество, заставляющее вас писать заумные программы, в которых другие ни хрена не поймут.
Спорный пункт.
Название: Re: Качества программиста.
Отправлено: Geniepro от Октябрь 13, 2011, 12:11:37 pm
Гордыню с таким же успехом можно трактовать как качество, заставляющее вас писать заумные программы, в которых другие ни хрена не поймут.
Этого сделать не позволят лень и нетерпеливость )))
Название: Re: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 12:18:51 pm
Гордыня толкает покорять новые вершины. Делать то, что до того не делал (или не удавалось делать), и то что не могут (или не делали) окружающие. Лень и нетерпеливость заставляют делать это наиболее простым способом.

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

И что после этого будет с гордыней? :-)
Название: Re: Качества программиста.
Отправлено: Peter Almazov от Октябрь 13, 2011, 12:27:10 pm
Будешь гордиться собой, за то, что достиг вершин, в которых Вася Пупкин ничего не понимает.
А задача - так и хрен бы с ней...  :)
Название: Re: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 12:37:50 pm
Будешь гордиться собой, за то, что достиг вершин, в которых Вася Пупкин ничего не понимает.
А задача - так и хрен бы с ней...  :)

А гордиться некой хренью которую нельзя применять в "народном хозяйстве" довольно сложно на самом деле. Для этого нужен ряд суровых неудач на ниве решения реальных задач, после чего программист говорит "ну и ладно! ну и черт с вами! пойду неведомой хренью заниматься лучше! стану иным!".

Для примера: нет особого смысла решать какую-то новую задачу (если нам надо решить именно эту задачу) на каком-нибудь Обероне, если на другом языке (например Си) оно решается быстрее (благодаря, например, уже существующим либам). Если же несмотря на этом мы решили писать все на Обероне, значит мы подменили цель. Теперь у нас главное не решить задачу, а решить задачу на обероне.
Название: Re: Качества программиста.
Отправлено: Peter Almazov от Октябрь 13, 2011, 12:45:39 pm
Тут проявляется приматическое свойство, о котором говорит Савельев: доминирование. Проявляется в форме выпендрежа - я не такой как все. Причем это может принимать разные формы - у одного яхта из золота, другой ходит в рубище. Зато не такой, мля!
Название: Re: Качества программиста.
Отправлено: Geniepro от Октябрь 13, 2011, 12:54:05 pm
... другой ходит в рубище. Зато не такой, мля!
Значит Лев Толстой под конец жизни стал обуреваем гордыней? )))
Название: Re: Качества программиста.
Отправлено: Peter Almazov от Октябрь 13, 2011, 01:10:59 pm
А то!
Название: Re: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 01:15:06 pm
Тут проявляется приматическое свойство, о котором говорит Савельев: доминирование. Проявляется в форме выпендрежа - я не такой как все. Причем это может принимать разные формы - у одного яхта из золота, другой ходит в рубище.
Это классное свойство на самом деле. Желание быть не таким как все толкает искать новые пути, новые области (в том числе и знания). Без этого жили бы мы до сих пор в пещерах. Но это качество именно что программисту не нужно, точнее нужно, но в очень умеренных дозах.

PS. Кстати, я не знаю такого термина как "приматическое свойство". Гугл тоже не знает. А википедия тем более.
PPS. Сколь я знаю, стремление доминировать проявляется не только у приматов, а практически у всех живых существ со сложной ЦНС.
Название: Re: Качества программиста.
Отправлено: Peter Almazov от Октябрь 13, 2011, 01:51:18 pm
Тут проявляется приматическое свойство, о котором говорит Савельев: доминирование. Проявляется в форме выпендрежа - я не такой как все. Причем это может принимать разные формы - у одного яхта из золота, другой ходит в рубище.
Это классное свойство на самом деле. Желание быть не таким как все толкает искать новые пути, новые области (в том числе и знания). Без этого жили бы мы до сих пор в пещерах. Но это качество именно что программисту не нужно, точнее нужно, но в очень умеренных дозах.

PS. Кстати, я не знаю такого термина как "приматическое свойство". Гугл тоже не знает. А википедия тем более.
PPS. Сколь я знаю, стремление доминировать проявляется не только у приматов, а практически у всех живых существ со сложной ЦНС.
"приматическое свойство" - свойство приматов. То есть, обезьян и нас с вами. Свойство действительно классное, т. к. те, кто не хотел есть, размножаться и доминировать просто вымерли. Не размножились.
Название: Re: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 02:00:33 pm
Цитировать
PPS. Сколь я знаю, стремление доминировать проявляется не только у приматов, а практически у всех живых существ со сложной ЦНС.
"приматическое свойство" - свойство приматов. То есть, обезьян и нас с вами. Свойство действительно классное, т. к. те, кто не хотел есть, размножаться и доминировать просто вымерли. Не размножились.
Как процитированно выше, это свойство далеко не только приматов :-)

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

:-D
Название: Re: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 02:04:44 pm
"приматическое свойство" - свойство приматов. То есть, обезьян и нас с вами.
Кстати, с другой стороны, если приматическое свойство - это то, что свойственно человеку Значит это человечность! ;-) То есть борясь с этим - боремся с человеческой сущностью. Ну, например любовь к детям - именно это свойство (впрочем, оно опять таки свойственно не только приматам).

Вообще, я вот так сразу затрудняюсь выделить свойство которое было бы только у приматов.
Название: Re: Качества программиста.
Отправлено: Peter Almazov от Октябрь 13, 2011, 02:12:35 pm
Речь идет о трех главных мотиваторах нашего поведения. Бороться с ними можно, но тогда будешь плохо размножаться и вымрешь. Есть ли смысл? Решайте сами.
Вообще, максимум того, что я могу сказать по теме - это цитировать Савельева. Лучше уж оригинал читать (и смотреть, видеоматериалов - много).
Название: Re: Качества программиста.
Отправлено: valexey от Октябрь 13, 2011, 02:16:44 pm
Речь идет о трех главных мотиваторах нашего поведения. Бороться с ними можно, но тогда будешь плохо размножаться и вымрешь. Есть ли смысл? Решайте сами.
Вообще, максимум того, что я могу сказать по теме - это цитировать Савельева. Лучше уж оригинал читать (и смотреть, видеоматериалов - много).

Не, все на много интересней. Они сами друг с другом борятся.

Бороться с ними не нужно, их нужно использовать. Ибо поборов их либо перестанешь существовать, либо перестанешь быть человеком (последнее маловероятно).