В куче разнообразных мест (замечу, именно русскоязычных) по разным IT темам натыкаюсь на очень похожую фраза: «Так то ж тупой кодер, а вот настоящий Программист …». Такие фразы меня просто корежат. Ну, начнем с понятия кодер. По идее, кодер – это человек, который умеет только кодировать (набивать код четко описанного алгоритма). Как я понимаю, вылезло это понятие из глубокого прошлого, когда алгоритмы в основном составляли математики, но например набить на перфокарты весь алгоритм и проверить, что набито все правильно мог делать вспомогательный персонал (кодировщик). Соответственно, первые выполняли интеллектуальную работу, вторые же выполняли рутинную работу. Вот тут нашел ссылочку на слово кодер в Википедии. Буду благодарен, если кто-то может кинуть более интересные ссылки на то, откуда же точно пошло это слово. Почему существовала такая профессия как кодер? Да, просто потому, что можно было набивать эти перфокарты часами и это не требовало слишком больших знаний и умений. Ну и соответственно, пытаясь оптимизировать было разделение на тех, кто пишет алгоритмы и тех, кто их кодирует. Сейчас же процесс кодирования занимает ну очень маленькую часть от написания программы. И не одному здравомыслящему человеку не придет в голову разделить процесс написания алгоритма (близкого к уровню кода), от самого процесса кодирования. Никакого выигрыша на этом уже получить невозможно. Кстати разделение между архитекторами и программистами – это новая граница, как можно разделить работу разной сложности. Итак, что мы имеем, что слово кодер, которым тыкают в кого попало, на самом деле абсолютно не описывает, то чем человек занимается. Ну, не существует сейчас кодеров, хоть убей. Что есть – это множество слабеньких программистов натренированных на решение простых прикладных задач. Второе, что меня напрягает в той фразе – это слово Программист (именно с большой буквы). Как только идет о речь о Программисте, то все начинают описывать рыцаря в блистающих латах на белом бинарном коне. И этот рыцарь должен идеально знать все предметные области, разбираться в математике не хуже Ферма, а в физике не хуже Эйнштейна. Также, этот Программист должен одинаково легко уметь проектировать архитектуру для проектов на сотни тысяч человеко-лет и отлаживать в бинарном коде для неизвестному никому микропроцессора. Так вот, напрягает меня нелинейность. Разница между обычный(средний) программист- хороший программист и отличный программист – вполне линейна. То есть они обладают одними и теме же знаниями и умениями, просто в разном количестве, имеют разный опыт. Но тем не менее, к отличному программисту выставляются те же требования, что и к обычному. Отличный программист не должен вдруг уметь играть на свирели, для того, чтобы быть отличным. А как только первая буква становится заглавной, то сразу появляется какая-то мифичность и требования скачком становятся абсолютно другого уровня. К чему это я…. Так, вот – это я к тому, что по большему счету программирование – это ремесло. Да, ремесло требующее интеллекта, выдумки и хорошего абстрактного мышления. И так же как в любом ремесле, есть средние, хорошие, отличные и даже гениальные ремесленники. Но, так как это ремесло, то требования к ремесленникам заранее известны, и не должно быть никакой нелинейности в том, что для самых лучших требования кардинально отличаются от требований к просто хорошим программистам. Вероятнее всего, на этом месте куча людей начнет рвать рубаху и кричать, мы люди искусства, а не ремесла…. Скажите, когда вы включаете и смотрите телевизор, вы получаете эстетическое удовольствие от того как разведена плата в телевизоре или от телепередачи? То же самое, никто из конечных потребителей не получает эстетическое удовольствие от кода программы и алгоритмов, всех интересует просто конечный продукт. Ну и возвращаясь к фразе про кодера и Программиста. Третье, чем мне чуждо это сравнение – это тем, что на программиста начинают навешивать знание кучу вещей, которые он не должен знать. Именно исходя из того, что программист – это ремесленник, он должен знать свое ремесло и не обязательно ему знать чужое ремесло. Замечу, хотя математики становятся хорошими программистами, это не обозначает что программист обязан должен знать математику. Это тоже самое, как скажем, люди с идеальным слухом часто становятся музыкантами, но не обязательно иметь идеальный слух, для того, чтобы им стать. А что вы думаете насчет ремесла vs. искусство и кодер vs. Программист? P.S. В процессе дискуссии, дополнилась одно важное замечание. Хотя, работа у программистов и является ремесленничеством, но тем не менее она может быть творческой. P.P.S. Еще одна вещь, которая обнаружилась, что под словом кодер, люди зачастую понимаю – малоопытны программист или плохой программист. Именно это меня и беспокоит, что слишком много разнообразных значений навешены на одно слово. Причем на то слово, которое изначально имело другой смысл. Афтар неизвестен
где то слышал такое: Кодер это тот кто на 99% работает руками и на 1% мозгами , гуру это тот кто на 99% работает мозгами и на 1% руками. Для меня же Кодер это эволюционировавший программист...
Знаю одного чела он на программера уже 2год учится,в математике лучше всех шарит.. а в п.к полный лузер, не знал даже как в биос зайти.. всегда бесила вышка) ИМХО) у кодеров больше знаний, и опыта чем у программеров)
ИМХО, кодер это программист практик, как правило самоучка и занимается своими проектами, либо же работает в небольшой команде, но опять же на себя. Программист - это теоретик, как правило имеющий высшее образование по IT или по математике. В практике понимает намного меньше чем кодер, а потому работает над поставленной задачей в два раза дольше, так как предварительно создает теоретическую модель и строит алгоритмы. В отличии от него, кодер работает экспромтом, реализуя нужные ему функции на лету, без предварительной подготовки. Программисты, как правило работают в крупных организациях, в больших командах и за большие деньги.
Эм... Для меня эти слова синонимы. Впадлу говорить\писать "программист", говорю "кодер". Или "пойду кодить", но в слово "кодить" я включаю смысл не только набивать код, но и составление алгоритма и архитектуры. Для людей далеких от IT я уже говорю "программист" или "программировать".
Обычно, понятие "кодер" используется в крупных проектах. Когда есть четкий алгоритм, который можно разбить на независимые куски и, которые, можно доверить разным людям. Когда знаешь, что сумма таких кодов будет работать. Программист делает, обычно, относительно небольшой проект, совмещая в себе и аналитика и программиста. Причем "алгоритм" технического задания заключается в "сделай мне пи...то". В результате он переделывает все n-цать раз, матерея все больше А для мелких проектов понятно, что "кодер" и "прогграммер" тождественны...
В большинстве своем под кодером понимается "быдлокодер". Можете например прочитать лурку, там почти правда http://lurkmore.ru/Быдлокодер http://lurkmore.ru/Программист Ну и не стоило создавать срачную тему, это нисколько не статья