Стоит ли читать книги по алгоритмам при изучении Ruby?

Всем привет, я учу Ruby уже около месяца, мне очень нравится этот язык. Хотелось бы задать такой вопрос. Нужно ли читать книги по алгоритмам для Ruby/RoR, чтобы в дальнейшем было легче решать различные задачи. Если да, то какие книги посоветуете? Спасибо.
  • Вопрос задан
  • 1837 просмотров
Пригласить эксперта
Ответы на вопрос 7
EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++
basania: Если есть возможность изучать алгоритмы, то да, это надо делать! Не важно какой язык. Python, C, Ruby. Не важно! Умение дизайнить, оценивать алгоритмы весьма полезно и от языка не зависит.
НО! Нам программерам надо решать задачи и очень часто кричат в ухо "Чего сидишь? Делай давай". В принципе все корректно. Мы же беря в руки смартфон не думаем, какой же паттерн проектирования или алгоритм сортировки или еще что применено для реализации "послать смс-ку". Так и пользователь нашего кода тоже не парится какое О-большое в реализации того чем он пользуется )

Поэтому: умейте решать задачу? Если текущий Ваш уровень не позволяет решать задачи достаточно быстро и укладываться в сроке, то изучайте фрейморки, стандартную библиотеку, идиомы, все что угодно : ЛИШЬ БЫ РЕШАТЬ ЗАДАЧУ. И только после улучшения этого навыка думайте в сторону улучшения качества
Ответ написан
tsarevfs
@tsarevfs
C++ developer
Желательно. Даже чтобы использовать готовую реализацию алгоритма нужно знать о его существовании и условиях применимости.
Ответ написан
Комментировать
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
Во-первых, алгоритмизация это в большей степени математическая дисциплина. Так что привязка к языку сама по себе не важна для понимания принципов работы алгоритмов и алгоритмической сложности. Язык будет важет на этапе реализации, чтобы не написать всё криво и медленно.
Во-вторых, так уж сложилось, что Ruby применяется в основном с рельсами, т.е. для веб разработки, где знание классических алгоритмов не особо актуально. Не побоюсь дже сказать, что, вероятно Rails-разработчки этим набором знаний и раз в год не пользуется.

Лично я считаю, что любой разработчик должен знать как работает компьютер, ОС, уметь оценить сложность алгоритма и пр. Хотя бы на базовом уровне. Т.е. общая IT-культура, так сказать. Но увы, сейчас в моде другой подход, и многие программисты -- просто пользователи фреймворков. Не холивара ради, просто моё мнение.

Хотите изучить алгоритмы, почитайте Кормена. Не слишком любите математику? Тогда Седжвика (книги с примерами на Java и C++ есть, а так же видео курсы в интернете). По руби советую почитать книгу (она не по алгоритмам): Ruby under a microscope.
Ответ написан
Jeiwan
@Jeiwan
Нет, не стоит. Все типичные алгоритмы уже реализованы до тебя и лучше тебя, можно просто взять нужный гем (хотя что-то я не вспомню ни одного гема, реализующего какой-либо алгоритм...). Лучше почитать по ООП и дизайн-паттернам.
Обязательно к прочтению: Sandi Metz "Practical Object-Oriented Design in Ruby". И всё её выступления на конференциях также обязательны к просмотру.
Ну а вообще стоит читать всё подряд, всё, что хоть как-то цепляет, интересует. А ещё лучше сначала много-много писать кода (говнокода), потом читать книги, а потом переписывать свой говнокод и писать хороший код.
Ответ написан
@CapeRatel
Любую книгу по разработке стоит читать. ЛЮБУЮ!
Ответ написан
Комментировать
Заходи в Hexlet. У них там и руби и алгоритмы и программирование вообще.
Ответ написан
Несмотря на то, что все необходимые алгоритмы в Ruby уже реализованы в разных гемах, знание алгоритмов нужно для понимания процесса выполнения задачи, а также развития собственного логического мышления.
Базовое знание может дать хорошая книга Т. Кормена - Алгоритмы: Вводный курс.
Если хочется алгоритмы освоить побыстрее - вот хороший ресурс, где все изложено быстро и понятно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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