Лично мне легче учить язык, когда у меня есть проект для завершения. Вот где приходит Rails, предоставляя среду для веб-разработки, и вы можете легко создавать любое количество веб-проектов для хобби.
Простое чтение и слепое следование учебным пособиям не помогают понять вещи. Особенно, когда я нашел удобные способы ведения дел на других языках.
Ruby - это глоток свежего воздуха, исходящего от более формальных языков пакета .NET. Если вы никогда раньше не работали с динамическими языками (Python, Perl и т. Д.), То вас ждет поездка. Наиболее важным инструментом обучения является оболочка Interactive Ruby. Если вы когда-нибудь захотите поиграть с кодом, просто начните вводить в irb. Книги определенно помогают, но просто бросать утверждения и фрагменты в интерпретатор поможет вам понять, что происходит под капотом, гораздо быстрее, чем запоминание вызовов методов и библиотечных API.
Что касается книг по Ruby, то посмотрите «Заостренное руководство по Ruby». Она не похожа ни на одну другую книгу по программированию, которую вы когда-либо видели, и это уместно, если вы пришли из .NET, где Ruby вводит ряд очень чуждых концепций. Если вы ничего раньше не делали с замыканиями, ожидайте, что вас ослепят блоками.
Единственная сложная часть изучения Rails и Ruby - определение того, какие части вашего кода являются Ruby, а какие - вспомогательные методы Rails. Придерживайтесь этого, и все будет в порядке.
Что можно сделать в Ruby без Rails? Просто о чем угодно. Это полнофункциональный язык, подходящий для многих задач. Но я бы не стал доверять вещам с жесткими требованиями реального времени
Я не человек .NET. Поэтому я не могу комментировать сходство отношений между Ruby и Rails и отношения между c # и ASP.NET. То, что я могу рассказать вам о Ruby и Rails, получено из выступления Чеда Фаулера. Он назывался «Рельсы скучны, а Руби - игрушка». Что является наиболее кратким из возможных описаний.
Rails выполняет большую часть тяжелой работы в ваших веб-приложениях, придерживаясь соглашения о конфигурации. Это означает, что если вы определяете вещи так, как ожидает Rails, нужно выполнить минимальную настройку. Rails - это фреймворк помощников, написанный на Ruby для реализации методологии MVC веб-сервиса.