@niks9

Какие разработчики работают с алгоритмами?

Недавно начал учить программирование, и заметил что мне больше всего нравится работать с алгоритмами: придумывать их, модифицировать, изучать новые и т.д. Например алгоритмы сортировки и поиска.
Вопрос:
1. Есть ли какая-нибудь ветвь программирования (по типу back-end, front-end, mobile, desktop) у которой большая часть работы связана с алгоритмами?
2. Это только мне нравится работать с алгоритмами, или это нравится большинству разработчиков, просто их можно мало где использовать?
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
wataru
@wataru Куратор тега Алгоритмы
Разработчик на С++, экс-олимпиадник.
К сожалению, алгоритмы применяются не очень часто, а во многих областях - практически не применяются. Могу лишь сказать, что чем фундаментальнее проект, тем больше там алгоритмов.

Например браузер. Лично мне приходилось в хромиуме писать и динамическое программирование и дихотомию и всякие хитрые структуры данных.

Из вашего списка скорее подходят бакенд и desktop. Еще очень алгоритмоемкая область - разработка игр. Вот там нужно много чего использовать, потому что надо все делать эффективно, иначе игра будет тормозить.

По поводу второго вопроса, похоже большинство разработчиков алгоритмы презирают. Считают что это не нужно знать вообще и очень ненавидят алгоритмические интервью в ФААНГах и им подражающим.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dmshar
Так и не смог понять, как мог устареть алгоритм сортировки или поиска пути за лет 5... Тогда мне это показалось диким и, как оказалось, не зря.
Не знаю, что вы поняли из того, что вам сказали загадочные "мидолами" с несколькими лет стажа, но вот что вам сказал выше уважаемый Wataru вы похоже таки и не поняли.
Поясню. Алгоритмы учат не для того, что бы запомнить еще один "самый современный" алгоритм, - все равно завтра вы его забудете, а если надо будет применить - поищете в Гуугле. Алгоритмы УЧАТ для того, что бы приобрести навыки алгоритмического мышления. А ВЫСОКОквалифицированный разработчик тем и отличается от "мидола" с "несколькими годами опыта работы", что в первую очередь умеет проанализировать ЛЮБОЙ алгоритм, найти его ограничения, сильные и слабые стороны и пр., а не похвастаться, что он запомнил самый новейший алгоритм, который улучшает некоторые ранее известные на 0.00002%.

Это как в музыке - сначала учатся играть гаммы (изучают язык программирования), потом учатся играть этюды - простые и незамысловатые пьесы, что-бы приобрести навыки, а уж потом играют сложные композиции. Так вот в программировании, изучение алгоритмов - это и есть этюды. Только тренируете вы не руки, как музыканты, а мозги. И не важно, по учебнику какого года вы это делаете.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы