【问题标题】:Ruby without Rails [closed]没有 Rails 的 Ruby [关闭]
【发布时间】:2009-11-29 01:21:49
【问题描述】:

我已经在 Rails 中开发了一些简单的应用程序(只是为了测试),没有任何 Ruby 知识,但现在我想改变我的生活。我将开始学习 Ruby(出于个人原因从不学习 Rails)并只专注于它,但在此之前我需要了解一些事情:

  • 如何使用它构建 GUI 应用程序?
    • 可以和它一起使用 GTK 吗?
    • 在哪里下载?
  • 与 Perl 和 Python 相比,Ruby 的优缺点?
  • 与 C# 和其他 .Net 语言相比的优缺点?
  • 如今 Ruby(没有 Rails)的市场如何?
  • 在哪里可以了解 Ruby 世界的最新消息(播客和博客)?

【问题讨论】:

  • Ruby 在 Rails 之前是一门完整的语言,似乎 RoR 让 Ruby 更受欢迎。但是,正如所指出的,仅 Ruby 似乎没有什么用处,但充分了解 Ruby 会让您成为更好的 RoR 开发人员。为什么只关注 Ruby,而不是更常用的语言?
  • 仅供参考,这是我遇到的最好的红宝石书。 manning.com/black2如果您有兴趣深入挖掘,那么它的重量就是黄金
  • 查看 WxRuby。跨平台 GUI 工具包,在您所在的任何平台上都是原生的。我还没有用它做任何编码,但它在我的学习待办事项列表中
  • 我认为应该注意的是,尽管您在 ruby​​ 中编写的代码更少。Ruby 没有被编译,因此 ruby​​ 开发人员必须为桌面应用程序提供源代码。这就是为什么人们将 ruby​​ 视为次要工具而不是主要工具的原因。

标签: ruby


【解决方案1】:

How can I build GUI applications with it?
It's possible to use GTK with it?
Where to download?
Pros and cons of Ruby compared to Perl and Python?
哪里可以更新 Ruby 世界的最新消息(podcastsblogs)?

我希望你意识到你的帖子有什么问题。


如今 Ruby(没有 Rails)的市场如何?
Ruby isn't that widespread 在专业领域,即使 Rails 正在考虑中。在 Rails 之外,使用它获得职位将是相当困难的。

【讨论】:

    【解决方案2】:

    要找到一份纯粹的 Ruby 工作是极其困难的,并不是很多公司都对它足够了解,更不用说内置特定的应用程序了。但这并不是说这些工作不存在,您可能只需要有点专家才能做到这一点。

    但如果你真的热衷于做纯粹的 Ruby 工作(我一点也不能怪你),我会看看自动化和测试的就业市场,那里对你使用的语言没有具体要求或者在系统管理市场,您可以使用您想要的任何语言编写脚本。不过,您总是可以定义自己的市场,这是一件很方便的事情,而且越来越多的 Ruby 项目正在各地涌现。

    Ruby 之所以强大是因为它的框架,而且因为有很多非常聪明的人在做它。查看可供您使用的框架,例如 Shoes、capistrano、Rails,看看是否还有一些非 Web 的东西仍然对您有吸引力。

    【讨论】:

      【解决方案3】:

      我发现最引人注目的比较是显示 ruby​​ 的简洁性。比较一下

      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 倍的代码来完成 C# 中的相同任务。

      这只是冰山一角(mixin、动态调度回调、对象个性化、鸭子类型和杀手内省 api 可能是我最喜欢的东西),但我发现这个例子对于没有任何真实的人来说是最容易理解的拥有现代脚本语言方面的经验。

      【讨论】:

      • 如果您使用 K&R 样式的大括号而不是 Allman 样式,您可以在 C# 中节省 4 行。这更好,但是是的,它仍然肯定更冗长。
      • 而且你可以通过不包括命名空间来节省额外的三行,如果你删除额外的行等等,使用大括号的 K&R 样式将使额外的行数只有 3...考虑 Visual Studio 智能感知的时间虽然我怀疑你真的需要那么多额外的击键。
      • 我对这些类型的比较的问题是类样板和写入控制台并不能构成这么大的一部分编程。
      • 你也可以在一行中写下你的第一个例子:Foo = Class.new { define_singleton_method(:bar) { puts 'bar' } },然后调用Foo.barbar
      【解决方案4】:

      如果你找到了,给我打电话

      如果您确实找到了获得 Ruby 开发工作的地方,请给我留言,以便我可以搬到那里与您一起工作。可悲的是,我不认为这样的地方存在,尽管 Rails 工作在我所在的地区似乎很受欢迎。

      现在,Ruby 目前在 Tiobe Index 中排名前 10 位(勉强排在第 10 位)。新语言,这可能都归功于 Rails。 Ruby 一直保持稳定,有朝一日可能会击败 VB。 Ruby 在技术上备受推崇,因此可以肯定地假设将来有一天会有 Ruby 开发工作。这可能需要很长时间,而且它们可能总是 Rails 或类似 Rails 的工作,因为 Web 应用程序很可能会继续取代其他一切。

      (一个操作系统即将问世,Chrome,运行网络应用程序。)

      但是,Python、Perl 和 PHP 都击败了它,因此您可能更有可能找到从事这些工作、Java 或 C* 的工作。由于我无法想象有人愿意直接从事 PHP 工作,因此可以安全地假设所有 PHP 活动都在 Web 编程中,在这种情况下,假设所有 Ruby 工作都是 Web 应用程序工作更加安全。

      【讨论】:

      • 您可以选择与语言无关的工作场所,例如生物信息学设施。另见stackoverflow.com/questions/150638/ruby-off-the-rails
      • Ruby 是一门新语言?与什么相比,Fortran?不确定是否值得改变答案,仍然有点误导。我的意思是,Ruby 在第一个 C++ 标准发布之前就已经存在了。
      【解决方案5】:

      一种选择是悄悄潜入 Ruby:

      • 使用“硬和软”层架构 - 使用 JRuby 配置和组装现有 Java 组件的自定义配置。毕竟,从外面看,这一切都像 Java...
      • 使用 Ruby 进行工具和系统管理工作
      • 将 Ruby 用于非关键的内部应用程序 - 没有人关心平台 - 只是它不会花费太多或花费太多时间。

      在我以前的工作中采用 Ruby on Rails 的最初商业案例是 Java 选项会花费太多时间 - 所以我们被允许探索其他替代方案......这种压力成为了让我们考虑其他技术。

      【讨论】:

        【解决方案6】:

        当像 Pragmatic ProgrammersMartin Fowler 这样的人开始谈论它是一种很好的思考语言时,Ruby 在软件工程师中获得了很高的信誉。

        我在rewrite of AppMaker 中使用 Ruby 作为代码生成语言。这个决定受到他们和Code Generation in Action这本书的影响。

        您可以使用 Ruby 来使用 Cocoa 制作原生 GUI(Ruby 项目是最新 XCode 中可用的模板,与其他应用程序模板并列)。动态语言支持是 .Net 领域的热门话题,SilverLight 支持 IronRuby 用于 Web 客户端编程,并且是一种重要的语言

        现在还处于早期阶段,我认为不会有像 C# 或 Java 这样的职业市场,但势头正在形成。

        【讨论】:

          【解决方案7】:

          看看MacRuby。它是该语言的一种实现,带有一个漂亮的 Ruby 风格的 Cocoa 接口。

          Ruby 似乎很适合 Cocoa,因为它的 OO 实现基于与 Objective-C 相同的消息解析模型。

          【讨论】:

            【解决方案8】:

            我希望这不会让你们太烦恼,但我在 Yahoo! 实习时被投入到 ruby​​ 中。我真的很喜欢它。现在我也在自学 Rails,只是为了好玩。

            我喜欢红宝石的地方在于:

            • 块!
            • Nokogiri,只是因为它使我在 Yahoo!容易得多。
            • bool 函数的 foo?() 约定
            • []= 运算符和 member=() 语法
            • 调用不带括号的函数
            • attr_reader 等

            我认识一个为了获得更多红宝石经验而换工作的人。他的计划是开一家咨询公司,用 Ruby 制作东西。 红宝石摇滚!

            【讨论】:

            • 你为什么喜欢调用不带括号的函数?这听起来很难阅读。
            • 如果我从不使用它们,是的。但在某些情况下,例如使用 attr_reader 并且通常在 rails 中,没有它们也一样可读。
            • 在 ruby​​ 中没有公共字段之类的东西,因此省略括号不会造成混淆。除非你只是喜欢一直输入 ()
            猜你喜欢
            • 1970-01-01
            • 2014-05-25
            • 2013-07-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-21
            • 2014-10-08
            • 1970-01-01
            相关资源
            最近更新 更多