понедельник, 6 июля 2015 г.

Алгоритмы и инструменты

В принципе важны оба пункта, но многое зависит от того процесса, который вы собираетесь автоматизировать (для которого вы программу и пишите).

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

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

Если говорить о важности, то как я уже говорил в самом начале, многое зависит от проекта. Некоторые проекты требуют хорошего знания и понимая алгоритмов и даже очень серьезной математической подготовки - например, если разрабатывается система управления сложным аппаратом со сложными вычислениями.
Но тут есть неприятная сторона - алгоритмы зависят от предметной области. Существует некоторая часть стандартных алгоритмов для обработки информации - сортировка, поиск, операции на графах. Но их уже написали и создали для них готовый компоненты. Следовательно главной проблемой будут не эти алгоритмы, а алгоритмы предметной области, которые, увы, надо будет изучать, чтобы запрограммировать их исполнение (если они уже есть). А может их придется придумывать с нуля и только потом программировать их исполнение. В этом случае надо уметь придумывать.

Если же работа ведется над какой-либо бизнес-задачей, то чаще всего алгоритмическая подготовка вам не сильно помогает - здесь больше требуется знание инструментов и обычный здравый смысл.

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

Удачи.

Комментариев нет:

Отправить комментарий