Как и большинство вещей, когда вы полностью понимаете что-то, вы смотрите на маленький шаг и вспоминаете гору, которую видели, когда впервые смотрели на нее. Я бы сказал, что Ruby трудно понять большинству разработчиков по следующим причинам:
- В Ruby есть несколько очень мощных, но менее распространенных концепций программирования. Таким образом, есть некоторые концептуальные уроки, которые будут иметься.
- Вдобавок к этому большинство программистов, с которыми я сталкиваюсь, с некоторым опытом в своих руках, уже строят основы и понятия о том, что такое программирование, за исключением того, что эти понятия строятся с использованием конструкций из определенного языка или домена, в котором они работают. .
Лучший совет, который я могу дать, заключается в том, что каждая среда language / framework / dev предоставляет только один способ манипулирования гранями машины / сети. Ошибка в том, чтобы думать, что этот - единственный путь. Если вы подойдете к размышлению Ruby о том, как это относится к PHP, то рассчитываете на борьбу, потому что во многих случаях, прямо под поверхностью, этого не произойдет.
Конкретный пример:
- Где мой цикл for? иная борьба
однако, если вы спросите
- Как мне запустить этот кусок кода для каждого элемента этого массива? Вы найдете много замечательных ответов и удивитесь, почему у вас вообще был цикл for. Но помните, что есть даже лучшие способы, чем у Ruby сегодня!
Так что, обладая всей этой мощью в Ruby, а также инфраструктурой rails, вы должны посвятить некоторое время изучению основ. Да, вы можете творить чудеса с такими вещами, как рельсы, с очень ограниченными знаниями. Представьте, что вы можете сделать за пару лет усердного изучения рубина под вашим поясом.
Питер Норвиг написал очень хорошую статью под названием Научитесь программировать за десять лет . Я бы посоветовал взглянуть на это.