Часто в компании друзей могут вестись оживленные споры о различиях между программистами, хакерами и разработчиками. И периодически приходится слышать достаточно неправильные и неточные определения, поэтому я хотел бы собрать воедино данные образы специалистов и назвать основные отличия между ними, ответив на вопрос "кто есть кто?!" :)
Программист - это человек, решающий различного рода проблемы путем написания программного кода. У данного типа специалистов может быть широкий диапазон уровней квалификации - от простого «базового» написания сценариев до абсолютного чародея, могущего виртуозно манипулировать кодом совершенно любого языка.
Хакер - специалист, занимающийся взломом программного обеспечения, поиском уязвимостей в программах, операционных системах и компьютерах. Поэтому хакер обязательно должен являться достаточно хорошим программистом, который должен хорошо владеть достаточно большим количеством яп, знать структуру и построение программ, отлично разбираться в компьютерных сетях и пр. Те хакер - это прежде всего хороший специалист по информационной безопасности.
Разработчик (инжинер-программист) является полноценно обученным программистом, занимающимся разработкой различного рода по в соответствии с набором принципов проектирования и реализации. К ним относятся такие вещи, как производительность, ремонтопригодность, масштабируемость, надежность и безопасность(в идеале).
Общим для разработчиков, хакеров и программистов является то, что они работают с кодом, что очевидно :)
Так может ли разработчик считаться хакером, хакер разработчиком...?!
- Все хакеры и разработчики являются программистами.
- Многие программисты и даже разработчики недостаточно креативны, чтобы считаться хакерами.
- Многие программисты и даже хакеры недостаточно образованы или опытны, чтобы считаться разработчиками.
В идеале нужно стремится иметь достаточно хорошие знания в языках, знать нормы построения программ (чтобы писать качественный код) и при этом быть достаточно креативным.
Также немножко давайте затронем градацию самих хакеров...
White Hat
Хакеры, относящиеся к белой шляпе также называющиеся этичными хакерами, - специалисты иб, сотрудники компаний и просто энтузиасты, применяющие свои знания на благо сообщество, ограничиваясь при этом рамками закона. Они борются за защиту информацию сообщества.
Grey Hat
Это все те же специалисты, борющиеся за обеспечение информационной безопасности. Однако выполняют они свою работу уже любыми методами, преступая через закон.
Black Hat
Злоумышленники, обладающие глубокими знаниями в области иб, но применяющие их в целях хищения и компрометации данных.