@kot-samolet

Каковы недостатки Ruby?

Понятно что всё это вкусовщина, но google trens показывает для языка последние 5 лет стабильный достаточно ровный график. Почему язык остался нишевым, на люителя?

Что мешает ему активно разиваться и постепенно отнимать долю, например в веб-разработке у php, python, других сервеных языков? Ведь он достаточно высокоуровневый, а такие языки обычно дружелюбны к новичкам, которым пофигу на их остальные недостатки.
  • Вопрос задан
  • 2773 просмотра
Решения вопроса 3
@awdemme
1. А что мешает другим языкам активно развиваться и отнимать нишу у Ruby?
2. У PHP есть задел - его много.
3. У Python и Go и Java есть задел - у него поддержка Google.
4. У Javascript на бекенде есть задел - много фронтендеров. У Javascript на фронтенде есть задел - он незаменим.
5. Ruby развивается, по сути, одним человеком.
6. Ruby - медленный.
7. Новички обычно не такие умные, чтобы искать то, что дружелюбно. Новички выбирают то, о чем на каждом углу судачат или на что много предложений работы.
Ответ написан
Комментировать
SerafimArts
@SerafimArts
Senior Notepad Reader
Я пропущу плюсы Ruby, такие как сообщество, невероятную продуманность и элегантность, и приступлю сразу к минусам.
1) Ruby медленный (до версии 2.0 был самым медленным в мире).
2) Ruby - представитель write-only языков (т.е. читать его на порядки сложнее, нежели писать на нём).
3) Он не предназначен для разработки надёжных решений корпоративного уровня .
3.1) Нет хотя бы минимальной типизации.
3.2) Доступен глобальный манки-патчинг.
4) Ruby переусложнённый язык (например у него целых 4 способа сконкатенировать строчку) и каждая версия добавляет сахару.
5) Statefull (в отличие от того же PHP, который Stateless)

Всё это вместе и плюсы (ну кроме 1го пункта) и минусы одновременно, но в целом эти особенности как и удерживают свою нишу, так и не позволяют в неё влиться новым участникам.

Но это всё имхо, конечно же.
Ответ написан
  1. В программах на Ruby может быть много магии. ООП в нём нетривиален (метапрограммирование). www.speaksoftly.io/2016/04/09/left-join.html
  2. Из-за отсутствия статической типизации порой трудно вылавливаются ошибки. И эти ошибки норовят вылезти именно в промышленной эксплуатации кода, особенно при недостаточном тестировании. На их поиск иногда уходит больше времени, чем хотелось бы.
  3. Выразительность языка Ruby может являться и большим минусом: govnokod.ru/ruby
  4. Язык Ruby будет далеко не лучшим выбором в качестве первого языка программирования. Впрочем, это будет минусом и для многих других ЯП.
    Так какой же лучше для начинающих?
    Если нужен язык, который будет бить по рукам, то берите Pascal.

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

Новички приходя в профессию ищут то что "круто", и внезапно писать тонны фигурных скобок, звездочек и ; это круто. Папа может в си...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы