кодер - тот, кто пишет программу по тех. заданию. программист - тот, кто разрабатвает ПО, формализуя абстрактные задачи. хакер - смотря какой. Настоящий хакер - это знаток человеческой души и человеческой же компьютерной безграмотности.
Иногда по техзаданию сложнее написать, так что программист должен писать по тех. заданию, чтобы потом не было проблем, типа не так поняли. Кодер тупо набивает код даже не понимая его и получая результат, который часто не эффективен или глючный, отсюда и слово кодер... тупо бъет код. Обычно начинающие все такие и потому должны быть и старшие программисты которые хоть иногда могли контролировать, что там накодил этот криворукий. Про хак... то бишь взлом, уже все наслушаны и уровни знаний у них тоже разные, просто психология человека такова, что кто-то любить разбирать и вникать как это работает, кто-то любит создавать новое, кто-то любит залезть туда, куда запрещают и тд и тп. Вот я иногда по мелочам что-то и взламывал, но это даже не 1% настоящего хакера, так как этим надо гореть и постоянно в этой среде вращаться.... короче, торчат они от этой деятельности.
для задачи удвоения 10 КОДЕР ищет библиотеку, в которой есть функция удвоения 10, находит тяжеленную библиотеку матричных вычислений написанную ПРОГРАММИСТОМ совсем для других целей, создает "матрицу" [10] и матрицу [2] и использует функцию умножения матриц. ХАКЕР сдвигает на 1 бит влево.
кодер это обобщение, программист и хакер под него как раз подпадают программист - человек который занимается разработкой ПО хакер - человек который занимается взломом ПО и использованием слабостей систем, а так же людей