Рубин без рельсов

Я уже разработал некоторые простые приложения в Rails (просто для тестирования) без каких-либо знаний о Ruby, но теперь я хочу изменить свою жизнь. Я собираюсь начать изучать Ruby (и никогда не изучать Rails по каким-то личным причинам) и сосредоточиться только на нем, но перед этим мне нужно знать некоторые вещи:

  • Как я могу создать с ним графические приложения?
    • Можно использовать GTK с ним?
    • Где скачать?
  • Плюсы и минусы Ruby по сравнению с Perl и Python?
  • Плюсы и минусы по сравнению с С# и другими .Net-языками?
  • Как сегодня работает рынок Ruby (без Rails)?
  • Где обновляться последние новости (подкасты и блоги) мира Ruby?

Ответ 1

Как я могу создать с ним графические приложения?
Можно использовать GTK?
Где скачать?
Плюсы и минусы Ruby по сравнению с Perl и Python?
Где обновлять последние новости (podcasts и blogs) мира Ruby?

Надеюсь, вы поймете, в чем проблема с вашим сообщением.


Как выглядит рынок Ruby (без Rails) сегодня? Ruby не так широко распространен в профессиональном мире даже с учетом Rails. Вне Rails будет довольно сложно получить позицию, используя его.

Ответ 2

Чрезвычайно сложно найти чисто рубиновую работу, а не то, что многие компании знают ее достаточно хорошо, не говоря уже о том, что в нее встроены определенные приложения. Но чтобы не сказать, что заданий не существует, вам просто нужно быть немного экспертом, чтобы это сделать.

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

Ruby сильнейший из-за своих фреймворков и потому, что есть много действительно умных людей, которые это делают. Посмотрите в рамки, доступные для вас, такие как Shoes, capistrano, Rails, и посмотрите, не существует ли что-то не-веб, которое все еще обращается к вам.

Ответ 3

Я нахожу, что самое драматическое сравнение показывает кратковременность в рубине. Сравнивая это

class Foo
  def self.bar
    puts 'bar'
  end
end

Foo.bar

к

using System;

namespace Blah
{
  public class Foo
  {
    public static string Bar()
    {
      Console.WriteLine("bar");
    }

    public static void Main(string[] args)
    {
      Foo.Bar();
    }
  }
}

Они оба говорят то же самое, только один делает это в 6 строках, а другой делает это в 17. Это не надуманный пример (надуманный пример - сделать это в одной строке в ruby ​​с puts 'bar'), как правило, кто-то напишет еще 2-3 раза больше кода для выполнения той же задачи на С#.

Это верхушка айсберга (миксины, динамические обратные вызовы, индивидуализация объектов, утиная печать, а также интригующая авизация убийцы, вероятно, мои любимые вещи), но я считаю, что этот пример проще всего опробовать для кого-то, опыт в современных языках сценариев.

Ответ 4

Если вы его найдете, позвоните мне

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

Теперь Ruby в настоящее время входит в первую десятку (едва, как # 10) в Tiobe Index. Это замечательно для нового языка, и это, вероятно, все из-за Rails. Ruby держится стабильно и может победить VB когда-нибудь. Ruby хорошо разбирается в техническом отношении, поэтому можно с уверенностью предположить, что в будущем в будущем будут работать разработки Ruby. Это может занять много времени, и они всегда могут быть Rails или Rails-подобными заданиями, поскольку веб-приложения могут продолжать заменять все остальное.

(Появляется ОС, Chrome, которая работает только с веб-приложениями.)

Тем не менее, Python, Perl и PHP все избили его, поэтому вы, вероятно, более склонны найти работу, работающую над ними, или на Java или C *. Поскольку я не могу себе представить, что кто-то хочет делать работу с прямым PHP, можно с уверенностью предположить, что вся деятельность PHP работает в веб-программировании, и в этом случае даже безопаснее предположить, что все работы Ruby работают в веб-приложении.

Ответ 5

Один из вариантов заключается в том, чтобы скрывать Ruby in stealth:

  • Используйте "жесткую и мягкую" структуру слоев - используйте JRuby для настройки и сборки пользовательской конфигурации существующих компонентов Java. В конце концов, со стороны все это выглядит как Java...
  • Использование Ruby для инструментов и работы sysadmin
  • Используйте Ruby для некритических внутренних приложений, где никто не заботится о платформах - просто он не стоит слишком много или занимает много времени.

Исходным бизнес-кейсом для внедрения Ruby on Rails на одном из моих предыдущих заданий было то, что вариант Java займет слишком много времени, поэтому нам было разрешено исследовать другие альтернативы... Такое давление действовало как стимул для чтобы позволить нам рассмотреть другие технологии.

Ответ 6

Ruby получил много правдоподобия со стороны инженеров-программистов как интересный язык для рассмотрения, когда людям нравятся Pragmatic Programmers и Мартин Фаулер начал говорить об этом как о прекрасном языке, о котором нужно подумать.

Я использую Ruby в качестве языка генерации кода в переписывать AppMaker. На решение повлияли они и книга Генерация кода в действии.

Вы можете использовать Ruby для создания собственного GUI с помощью Cocoa (проекты Ruby - это шаблоны, доступные в последнем XCode, рядом с другими шаблонами приложений). Поддержка динамического языка - это горячая тема в пространстве .NET с поддержкой IronRuby в SilverLight для программирования на веб-клиентской стороне, а также для языка значащего языка

В первые дни, и я не думаю, что когда-либо будет рынок карьеры для него, как С# или Java, но импульс строится.

Ответ 7

Взгляните на MacRuby. Это реализация языка с приятным интерфейсом в стиле Ruby для Cocoa.

Ruby кажется естественным подходом для Cocoa, потому что его реализация OO основана на той же модели синтаксического анализа, что и Objective-C.

Ответ 8

Надеюсь, это вас не слишком раздражает, но я был брошен в рубин в качестве стажера в Yahoo! И мне это очень понравилось. Теперь я также изучаю рельсы самостоятельно, просто для удовольствия.

Что мне нравится в рубине:

  • Блоки!
  • Nokogiri, только потому, что это делает мою особую задачу в Yahoo! намного проще.
  • Соглашение foo?() для функций bool
  • Оператор [] = и синтаксис member =()
  • Функции вызова без круглых скобок
  • attr_reader и т.п.

Я знаю парня, который сменил работу, чтобы получить больше опыта в рубине. Его план - создать консалтинговую фирму, создающую материал в Ruby. Рубиновые камни!