Легко ли перейти с Python на Ruby?

Несколько мыслей.

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

Как вы уже обнаружили, переход от Python к Ruby относительно прост. Вы можете заставить Ruby делать то же, что и Python, просто изучив семантические различия.

Однако, поскольку мне несколько лет назад пришлось сделать тот же шаг, если вы будете пытаться в Ruby делать то же самое, что и в Python, вы упустите многое из того, что делает Ruby «Ruby».

Во-вторых, есть нюанс, связанный с Discourse.

Хотя бэкенд основан на Ruby, значительная часть «сложности» при создании решений для Discourse заключается в том, чтобы заставить бэкенд (Ruby) и фронтенд (JavaScript/Ember) работать в гармонии.

Даже при глубоком понимании того, как использовать Ruby, вам также потребуется потратить время на изучение того, как работает бэкенд Discourse. Существует отличная экосистема, которую бэкенд предоставляет для плагинов — например, доступ к данным/структуры данных, логирование, межпроцессное взаимодействие, асинхронные задачи и т. д. Я считаю, что важно хорошо разобраться в этом.

Мне действительно понравилось познакомиться с Ruby, но фронтенд-разработка на JavaScript оказалась для моих задач слишком сложной. Я хобби-программист с немалым опытом, так что, вероятно, дело в этом и в отсутствии гибкого мышления.

Тем не менее, я смог освоить другие фреймворки JavaScript — например, Svelte. Специфика Ember, жесткий поток инициализации/координации и структура папок показались мне немного сложными для моих задач.

Моим решением стало использование отличного плагина Custom Wizard Plugin для захвата взаимодействия на фронтенде, а затем передачи данных в мой бэкенд-код на Ruby. Это хорошо работает для пакетных процессов, но менее полезно в интерактивных средах.

Удачи.