Вопрос. Что важнее учить алгоритмы и структуры данных, которые можно применять вне зависимости от языка программирования, чем любой язык?

Ответ. Лично я считаю, что это все нужно рассматривать в комплексе. Если вы действительно решили строить карьеру в качестве программиста, то знать часто используемые алгоритмы и структуры данных вам необходимо. При этом порой на собеседованиях в новую компанию, могут спросить про плюсы и минусы пары тройки этих алгоритмов и структур данных.

К примеру, можно хорошо знать язык программирования — но без знания алгоритмов, структур данных, шаблонов можете написать громоздкое приложение, либо какой-то модуль, который будет мало эффективен.

Зная только алгоритмы и СД — вы сможете найти более оптимальный вариант для решения поставленной перед вами задачи. Но выбрав не тот язык программирования, вы либо в будущем столкнетесь с какими-либо ограничениями с его стороны, либо придет понимание что он для новых целей вообще больше не подходит и нужно переписывать на более подходящий.

Так же, я исходил бы из того в каком проекте вы принимаете участие в качестве разработчика. Не во всех проектах нужно знать эти алгоритмы и структуры. И порой часть уже реализуется и используется в готовых решениях. Поэтому изобретать заново свой велосипед не нужно.

По своей практике могу отметить, что даже если не будете изучать на текущем этапе алгоритмы и структуры, то со временем все равно столкнетесь с ними в проектах.

По крайней мере будет плюсом знать в общих чертах, как работает тот или иной алгоритм и для чего можно использовать конкретную структуру данных. А когда вам нужно будет реализовать это с нуля для своей задачи, то можно найти информацию для более детального изучения.

Антон Чураков
Автор публикации
Антон Чураков

Работал .NET разработчиком в компании, занимающейся разработкой и внедрением системы BPM для автоматизации бизнес-процессов. На текущий момент - руководитель IT-компании «Цифровой Волк». Основное направление которой - заказная разработка ПО