Сменив очередной раз проект и проектную команду подумал..
Единственное, что отличает хорошего программиста от плохого — уровень абстрактного мышления.
И ничего больше.
Или я не прав? Тогда разубедите меня.
P.S. Ну и еще.. Знание большого количества языков, фреймворков, библиотек делает из плохого програмиста обычного кодера, а из хорошего программиста — системного архитектора.
Здравствуйте, Wolverrum, Вы писали:
W>Здравствуйте, zhech, Вы писали:
Z>>Еще отличия: Z>>- лень W>Это о "хорошем программисте" речь?
Наверно речь о конструктивной лени.
Примеры:
лень делать рутинные действия — написал себе скриптик автоматизации.
лень копипастить код — написал компонент
Здравствуйте, SE, Вы писали:
SE>Наверно речь о конструктивной лени.
SE>Примеры: SE>лень делать рутинные действия — написал себе скриптик автоматизации. SE>лень копипастить код — написал компонент
это не лень. это умение экономить время себе и окружающим.
Здравствуйте, Wolverrum, Вы писали:
W>Здравствуйте, zhech, Вы писали:
Z>>Еще отличия: Z>>- лень W>Это о "хорошем программисте" речь?
Там лень с минусом. Имеется ввиду работоспособность.
Здравствуйте, SE, Вы писали:
SE>Здравствуйте, Wolverrum, Вы писали:
W>>Здравствуйте, zhech, Вы писали:
Z>>>Еще отличия: Z>>>- лень W>>Это о "хорошем программисте" речь? SE>Наверно речь о конструктивной лени.
SE>Примеры: SE>лень делать рутинные действия — написал себе скриптик автоматизации. SE>лень копипастить код — написал компонент
Здесь имелось в виду, конечно, лень как нежелание делать что-то, против Вашей конструктивной лени, которая наоборот, определяет хорошего программиста
Здравствуйте, JazzzMaster, Вы писали:
JM>Сменив очередной раз проект и проектную команду подумал.. JM>Единственное, что отличает хорошего программиста от плохого — уровень абстрактного мышления. JM>И ничего больше.
JM>Или я не прав? Тогда разубедите меня.
... Если вы совершаете восхождение на г. Абстрактная и заходите слишком далеко, вам начинает не хватать кислорода. Иногда мощные умы просто забывают, что пора остановиться, и создают эти причудливые, всеохватывающие, высокоуровневые модели вселенной, которые сами по себе прекрасны, вот только не значат ровным счетом ничего.
(C) Джоэл Сполски, У Microsoft поехала крыша
Во всякой абстракции есть предел. Иногда имеет смысл и приостановиться, а то так и недолго дойти до "теории всего" по Эйнштейну.
C>... Если вы совершаете восхождение на г. Абстрактная и заходите слишком далеко, вам начинает не хватать кислорода. Иногда мощные умы просто забывают, что пора остановиться, и создают эти причудливые, всеохватывающие, высокоуровневые модели вселенной, которые сами по себе прекрасны, вот только не значат ровным счетом ничего.
C>(C) Джоэл Сполски, У Microsoft поехала крыша C>Во всякой абстракции есть предел. Иногда имеет смысл и приостановиться, а то так и недолго дойти до "теории всего" по Эйнштейну.
Да, для того и существуют уровни абстрации необходимые и достаточные для решения данной задачи
Здравствуйте, zhech, Вы писали:
Z>Здравствуйте, Carc, Вы писали:
C>>
C>>... Если вы совершаете восхождение на г. Абстрактная и заходите слишком далеко, вам начинает не хватать кислорода. Иногда мощные умы просто забывают, что пора остановиться, и создают эти причудливые, всеохватывающие, высокоуровневые модели вселенной, которые сами по себе прекрасны, вот только не значат ровным счетом ничего.
C>>(C) Джоэл Сполски, У Microsoft поехала крыша C>>Во всякой абстракции есть предел. Иногда имеет смысл и приостановиться, а то так и недолго дойти до "теории всего" по Эйнштейну.
Z>Да, для того и существуют уровни абстрации необходимые и достаточные для решения данной задачи
Ну, я скорее, в контексте топик-стартера "Единственное, что отличает хорошего программиста от плохого — уровень абстрактного мышления.". Прозвучало как намек, что чем абстрактнее тем лучше (хотя, может, и не это имелось ввиду). Ну, а сама по себе абстракция мощнейший инструмент, ну, а если в умелых еще и руках — то просто "магия".
Здравствуйте, JazzzMaster, Вы писали:
JM>Сменив очередной раз проект и проектную команду подумал.. JM>Единственное, что отличает хорошего программиста от плохого — уровень абстрактного мышления.
Я думаю, единственное, что отличает хорошего программиста от плохого — это интерес к собственной профессии и желание в нее вкладываться. Кстати, думаю для других профессий это тоже верно.
Здравствуйте, JazzzMaster, Вы писали:
JM>Сменив очередной раз проект и проектную команду подумал.. JM>Единственное, что отличает хорошего программиста от плохого — уровень абстрактного мышления. JM>И ничего больше.
Вообще говоря это один из основных симптомов.
Я бы сказал, что главное отличие это умение продумывать решения наперёд. Здесь без абстрактного мышления никуда.
Здравствуйте, Pzz, Вы писали:
Pzz>Я думаю, единственное, что отличает хорошего программиста от плохого — это интерес к собственной профессии и желание в нее вкладываться. Кстати, думаю для других профессий это тоже верно.
Абсолютно правильный и абсолютно бесполезный ответ
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Pzz, Вы писали:
Pzz>>Я думаю, единственное, что отличает хорошего программиста от плохого — это интерес к собственной профессии и желание в нее вкладываться. Кстати, думаю для других профессий это тоже верно.
I>Абсолютно правильный и абсолютно бесполезный ответ
Да ну-у-у-у, нормальный вполне ответ. Просто это стремление к абстракции
Имеем в начале: что_отличает_хорошего_программиста_от_плохого_это_интерес_к_собственной_профессии_и_желание_в_нее_вкладываться
Ну, а теперь делаем так:
class<typename профессия> class что_отличает_хорошего_..._от_плохого_это_интерес_к_собственной_профессии_и_желание_в_нее_вкладываться
//На а теперь понесласяtypedef что_отличает_хорошего_..._от_плохого_это_интерес_к_собственной_профессии_и_желание_в_нее_вкладываться<слесарь> СЛЕСАРЬ_ОДНАКО;
typedef что_отличает_хорошего_..._от_плохого_это_интерес_к_собственной_профессии_и_желание_в_нее_вкладываться<писарь> МОЙ_ПИСАРЬ;
typedef что_отличает_хорошего_..._от_плохого_это_интерес_к_собственной_профессии_и_желание_в_нее_вкладываться<сантехник> В_ТЕОРИИ_ТАКОЙ_САНТЕХНИК_ЕСТЬ_НО_В_ПРИРОДЕ_НЕ_ВИДЕЛ;
Здравствуйте, Carc, Вы писали:
I>>Абсолютно правильный и абсолютно бесполезный ответ C>Да ну-у-у-у, нормальный вполне ответ. Просто это стремление к абстракции
И что тебе дает такая формула ? Какую проблему ты можешь разрешить используя её ?
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Carc, Вы писали:
I>>>Абсолютно правильный и абсолютно бесполезный ответ C>>Да ну-у-у-у, нормальный вполне ответ. Просто это стремление к абстракции
I>И что тебе дает такая формула ? Какую проблему ты можешь разрешить используя её ?
Стану из плохого программиста хорошим, ибо повышу свой "уровень абстрактного мышления"
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Pzz, Вы писали:
Pzz>>Я думаю, единственное, что отличает хорошего программиста от плохого — это интерес к собственной профессии и желание в нее вкладываться. Кстати, думаю для других профессий это тоже верно.
I>Абсолютно правильный и абсолютно бесполезный ответ
Очень даже полезный ответ.
По крайней мере, это один из главных критериев, которым я руководствуюсь на собеседованиях.
По моему опыту люди, у которых не горят глаза при упоминании интересных тем в программировании (типа "Что вы думаете о функциональном программировании?", "Пробовали ли Вы писать собственный компилятор?", "Чем язык Х лучше/хуже С++?" и т.п.), у которых их пофигистичное отношение к профессии выражается анекдотом "Ну, могу копать... Могу не копать..." в результате оказываются весьма посредственными и безынициативными сотрудниками, которые будут делать от сих до сих и никак не будут двигать и развивать проект.
Здравствуйте, JazzzMaster, Вы писали:
JM>Сменив очередной раз проект и проектную команду подумал.. JM>Единственное, что отличает хорошего программиста от плохого — уровень абстрактного мышления. JM>И ничего больше.
JM>Или я не прав? Тогда разубедите меня.
JM>P.S. Ну и еще.. Знание большого количества языков, фреймворков, библиотек делает из плохого програмиста обычного кодера, а из хорошего программиста — системного архитектора.
Хороший программист — программист-прагматик, который пишет совершенный код.
Здравствуйте, jazzer, Вы писали:
J>По моему опыту люди, у которых не горят глаза при упоминании интересных тем в программировании (типа "Что вы думаете о функциональном программировании?", "Пробовали ли Вы писать собственный компилятор?", "Чем язык Х лучше/хуже С++?" и т.п.)
Только не забывайте, что эти темы интересны вам, но могут быть неинтересны собеседнику, и вы в результате решите, что дескать интереса к профессии у него нет, и развиваться он не хочет. Я например собственный компилятор не писал, функциональное программирование мне неинтересно, тем не менее интересна куча других тем, а так же каждый день читаю форум, блоги, книги и т.д., в общем стараюсь развиваться в своей профессии.