Ответ 1
Ruby, очевидно, даст вам лучший удар для вашего доллара, если ваша цель - добиться успеха и повторно использовать зрелые библиотеки. Он должен иметь одну из самых ярких экосистем, рассматривающих веб-разработку. Количество новых вещей велико и, что самое главное, качество часто поражает.
У этого есть очень хорошая система распространения пакетов, а также ряд инструментов, которые делают практическую веб-разработку легкой на всех уровнях.
В веб-фреймворках тяжеловесов вы имеете:
- Rails, о котором вы обязательно слышали. Вероятно, сегодня это один из лучших компромиссов между большим сообществом и интеллектуальным дизайном. Другой, по моему мнению, будет django, но это python framework
- Merb, что является более легкой альтернативой в полномасштабном инфраструктурном отделе
И у вас есть тонна более светлых, например Sinatra, которая, вероятно, является одной из самых элегантных небольших веб-фреймворков, или Camping, что мало и очень интересно использовать.
Это только начало. Будь то для ORM, шаблонов двигателей или чего-то еще, что вы хотели бы сделать с этим веб-сайтом, у вас есть тонна качественных опций.
С отрицательной стороны для ruby:
- Это очень плотный язык, с большим количеством вещей, чтобы учиться, и отличная склонность к "магическим" конструкциям. Это довольно красиво, но это далеко не самый простой язык.
- Это медленно. Если вы хотите сделать все, что требует производительности, рубин, вероятно, не тот язык, который вам нужен. Это может быть или не быть проблемой в зависимости от того, что вы хотите с ней сделать.
- У него не так много библиотеки для "обычного программирования", как для веб-программирования, хотя это явно не пустыня. Язык, такой как python, имеет более широкий спектр библиотек, если вы выходите из веб-программирования.
Clojure - совсем другой зверь. Это очень новый язык, и он полностью функциональный. Если вы никогда раньше не программировали в функциональном стиле, это может быть сдвиг парадигмы, который сделает вас менее продуктивным на некоторое время, но вы почти наверняка многому научитесь в этом процессе.
Это также lisp, и, как и при функциональном программировании, это, вероятно, будет означать много нового для изучения, но много просветления в конце процесса.
Это очень элегантный язык с очень ярким сообществом. Это также намного быстрее, чем рубин, и он только улучшается с новой версией 1.2.
Итак, с положительной стороны:
- Это умный язык. Содержит много интересных идей, особенно в отношении concurrency. Он не является объектно-ориентированным.
- Быстро для динамического языка
- Он работает на JVM и имеет очень простую и удобную в использовании систему взаимодействия с Java. Это в основном означает, что у вас есть вся экосистема Java в вашем распоряжении.
С отрицательной стороны:
- Это очень новое. Это не является недостатком в себе, но является причиной других неприятностей, которые могут возникнуть у вас на этом пути.
- В нем очень мало хорошо интегрированных и продуманных библиотек. На мой взгляд, это самый неприятный момент. У вас в основном есть все, что вам когда-либо понадобится в Java-мире, но решения могут быть уродливыми. Вы можете захотеть закодировать свою собственную библиотеку обертки в процессе, но это требует времени.
- Это не похоже на все, что вы знаете. Это не объектно-ориентированное, это не обязательно, и он не имеет ничего общего с классическим синтаксисом C. Поэтому, в зависимости от ваших других языковых переживаний, может потребоваться много времени, чтобы узнать
Итак, сводка:
Если вы хотите изучать новые вещи в очень удобной среде, имея возможность быстро создавать вещи, используя зрелые библиотеки, выберите ruby.
Если вы хотите узнать еще больше о новых вещах, вы не возражаете на совершенно новой территории, в конечном итоге уделите больше времени на то, чтобы сделать что-то, и вы хотите участвовать в сообществе, которое может быть на пути изменить то, как мы подумайте о программировании, взломав и получив удовольствие в процессе, выберите clojure;)