Автор Тема: Качества программиста.  (Прочитано 14633 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Качества программиста.
« : Октябрь 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.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Качества программиста.
« Ответ #1 : Октябрь 13, 2011, 12:07:46 pm »
Я очень ленив, крайне нетерпелив, а гордыня моя не знает меры.
Однако я при этом слишком скромен, что бы называть себя суперпрофессионалом )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Качества программиста.
« Ответ #2 : Октябрь 13, 2011, 12:08:52 pm »
Я очень ленив, крайне нетерпелив, а гордыня моя не знает меры.
Однако я при этом слишком скромен, что бы называть себя суперпрофессионалом )))
Значит недостаточно :-)
Кроме того, это же факторы которые способствуют росту, а не определяют уровень на данный момент времени.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Качества программиста.
« Ответ #3 : Октябрь 13, 2011, 12:09:16 pm »
Гордыню с таким же успехом можно трактовать как качество, заставляющее вас писать заумные программы, в которых другие ни хрена не поймут.
Спорный пункт.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Качества программиста.
« Ответ #4 : Октябрь 13, 2011, 12:11:37 pm »
Гордыню с таким же успехом можно трактовать как качество, заставляющее вас писать заумные программы, в которых другие ни хрена не поймут.
Этого сделать не позволят лень и нетерпеливость )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Качества программиста.
« Ответ #5 : Октябрь 13, 2011, 12:18:51 pm »
Гордыня толкает покорять новые вершины. Делать то, что до того не делал (или не удавалось делать), и то что не могут (или не делали) окружающие. Лень и нетерпеливость заставляют делать это наиболее простым способом.

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

И что после этого будет с гордыней? :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Качества программиста.
« Ответ #6 : Октябрь 13, 2011, 12:27:10 pm »
Будешь гордиться собой, за то, что достиг вершин, в которых Вася Пупкин ничего не понимает.
А задача - так и хрен бы с ней...  :)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Качества программиста.
« Ответ #7 : Октябрь 13, 2011, 12:37:50 pm »
Будешь гордиться собой, за то, что достиг вершин, в которых Вася Пупкин ничего не понимает.
А задача - так и хрен бы с ней...  :)

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

Для примера: нет особого смысла решать какую-то новую задачу (если нам надо решить именно эту задачу) на каком-нибудь Обероне, если на другом языке (например Си) оно решается быстрее (благодаря, например, уже существующим либам). Если же несмотря на этом мы решили писать все на Обероне, значит мы подменили цель. Теперь у нас главное не решить задачу, а решить задачу на обероне.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Качества программиста.
« Ответ #8 : Октябрь 13, 2011, 12:45:39 pm »
Тут проявляется приматическое свойство, о котором говорит Савельев: доминирование. Проявляется в форме выпендрежа - я не такой как все. Причем это может принимать разные формы - у одного яхта из золота, другой ходит в рубище. Зато не такой, мля!

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Качества программиста.
« Ответ #9 : Октябрь 13, 2011, 12:54:05 pm »
... другой ходит в рубище. Зато не такой, мля!
Значит Лев Толстой под конец жизни стал обуреваем гордыней? )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Качества программиста.
« Ответ #10 : Октябрь 13, 2011, 01:10:59 pm »
А то!

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Качества программиста.
« Ответ #11 : Октябрь 13, 2011, 01:15:06 pm »
Тут проявляется приматическое свойство, о котором говорит Савельев: доминирование. Проявляется в форме выпендрежа - я не такой как все. Причем это может принимать разные формы - у одного яхта из золота, другой ходит в рубище.
Это классное свойство на самом деле. Желание быть не таким как все толкает искать новые пути, новые области (в том числе и знания). Без этого жили бы мы до сих пор в пещерах. Но это качество именно что программисту не нужно, точнее нужно, но в очень умеренных дозах.

PS. Кстати, я не знаю такого термина как "приматическое свойство". Гугл тоже не знает. А википедия тем более.
PPS. Сколь я знаю, стремление доминировать проявляется не только у приматов, а практически у всех живых существ со сложной ЦНС.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Качества программиста.
« Ответ #12 : Октябрь 13, 2011, 01:51:18 pm »
Тут проявляется приматическое свойство, о котором говорит Савельев: доминирование. Проявляется в форме выпендрежа - я не такой как все. Причем это может принимать разные формы - у одного яхта из золота, другой ходит в рубище.
Это классное свойство на самом деле. Желание быть не таким как все толкает искать новые пути, новые области (в том числе и знания). Без этого жили бы мы до сих пор в пещерах. Но это качество именно что программисту не нужно, точнее нужно, но в очень умеренных дозах.

PS. Кстати, я не знаю такого термина как "приматическое свойство". Гугл тоже не знает. А википедия тем более.
PPS. Сколь я знаю, стремление доминировать проявляется не только у приматов, а практически у всех живых существ со сложной ЦНС.
"приматическое свойство" - свойство приматов. То есть, обезьян и нас с вами. Свойство действительно классное, т. к. те, кто не хотел есть, размножаться и доминировать просто вымерли. Не размножились.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Качества программиста.
« Ответ #13 : Октябрь 13, 2011, 02:00:33 pm »
Цитировать
PPS. Сколь я знаю, стремление доминировать проявляется не только у приматов, а практически у всех живых существ со сложной ЦНС.
"приматическое свойство" - свойство приматов. То есть, обезьян и нас с вами. Свойство действительно классное, т. к. те, кто не хотел есть, размножаться и доминировать просто вымерли. Не размножились.
Как процитированно выше, это свойство далеко не только приматов :-)

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

:-D
« Последнее редактирование: Октябрь 13, 2011, 02:02:37 pm от valexey »
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Качества программиста.
« Ответ #14 : Октябрь 13, 2011, 02:04:44 pm »
"приматическое свойство" - свойство приматов. То есть, обезьян и нас с вами.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"