.
Чтение книги онлайн.

Читать онлайн книгу - страница 11

Название:

Автор:

Издательство:

Жанр:

Серия:

isbn:

isbn:

СКАЧАТЬ того, что навык работы с алгоритмами стоит потраченного на его освоение времени.

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

      • массивы или векторы;

      • связанные списки;

      • стеки;

      • очереди;

      • деревья;

      • хеши;

      • наборы.

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

      Когда я только начинал программировать, то плохо разбирался в структурах данных и алгоритмах, поскольку был самоучкой. Я не осознавал их ценность, пока не начал соревноваться в решении задачек на сайте TopCoder, где знание этих вещей дает серьезное конкурентное преимущество. Разобравшись с принципами работы этих технологий, я вдруг понял, что те проблемы, над которыми я ломал голову, будучи начинающим разработчиком, перестали вызывать у меня какие-либо сложности. На самом деле, я считаю, что алгоритмы и структуры данных являются одной из самых увлекательных областей разработки ПО. Это и вправду очень полезно – в работе над сложной проблемой использовать все эти вещи, чтобы решение было чистым, элегантным и быстро работающим. Лучшим ресурсом для изучения этой темы (на момент написания книги) я считаю книгу Гейл Лакманн Макдауэлл «Карьера программиста»[7]. Данная книга содержит практически всю необходимую информацию об алгоритмах и структурах данных.

      Разумеется, изучение этой темы – задачка непростая, однако она стоит потраченных на нее усилий. Это один из тех навыков, которые выгодно «оттенят» вас на фоне коллег. Возможно, вы удивитесь, но БОЛЬШИНСТВО разработчиков ПО очень плохо подготовлены в этой области. Если вашей мечтой является устройство на работу в такую крупную компанию, как Microsoft или Google, без знаний алгоритмов и структур данных вас туда не примут.

      Платформы разработки и связанные технологии

      Чтобы стать хорошим специалистом, необходим опыт использования хотя бы одной платформы разработки и связанных с ней технологий и фреймворков. Вам, наверное, интересно, что такое «платформа разработки». В большинстве случаев за этим термином стоит операционная система (ОС), но он также применим и к другим абстракциям, действующим аналогично операционным системам. К примеру, вы можете быть разработчиком для macOS или Windows и специализироваться на ОС, но точно так же вы можете быть веб-разработчиком, ориентированным на конкретную веб-платформу.

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

СКАЧАТЬ



<p>7</p>

Издавалась на русском языке. Питер, 2021 г. – Прим. ред.