Ran*_*762 1 ruby android tablet ios
我希望这个(这些)问题不要太模糊.从高中开始,我一直在上下班.我在那里学习了Pascal,然后是C++,最后在大学学习了一些Java.然后没有花太多时间编程.显然,很多在过去13年中发生了变化,除了我的世界,它不会出现Java的结束是非常重要,因为他们告诉我们,这是当时的情况.但是我很想再次开始编程,而且很多(稍微较旧的文章)都在宣传Ruby.我正在研究Ruby,但我有点困惑.我阅读了维基百科页面并浏览了一些网站.
由于熟悉Java,Java被编译为字节码并在JVM上运行.由于所有JVM都必须支持该标准,如果您使用Java/Swing创建了一个图形窗口程序,那么具有窗口环境的计算机上的任何JVM都会运行它.
当然,Apple和Android平板电脑都不支持Java或者有JVM(虽然android是类似Java的)
这是Ruby的工作原理吗?有红宝石"JVM"吗?我看到了有关MRI的一些信息,但这只是一个特定的红宝石翻译,对吗?平板电脑上没有红宝石翻译,这也是正确的吗?还有很多不同的ruby GUI工具包,比如FXRuby,但是它们可以在包括平板电脑在内的多种设备上运行吗?安装程序时,是否需要包含可分发的软件以及软件一起安装以便程序运行?而且我看到像RubyMotion这样的东西用于开发iOS,这基本上是"重新编译"你的ruby程序到Objective-C所以它会在iOS设备上运行吗?您显然无法在不违反Apple的ToS的情况下在iOS设备上安装ruby解释器...
我也想开始教我的孩子编程,因为它非常有用.我是从Scratch开始的,但Ruby将来会对平板电脑和便携式设备编程有用吗?或者它是否仅限于具有更全面的特色操作系统的设备?
很抱歉这么多问题.我希望这是一个好的论坛.
简短回答:有点可能,但可能不是.
答案很简单:Ruby没有通用的字节码规范,但它确实有一个共同的语言规范.通常,为一个运行时编写的Ruby将在任何其他运行时运行,但是您不能在运行时之间绕过一些编译的Ruby字节码,因为每个运行时都有自己的字节码.这意味着,为了运行Ruby程序,您必须分发源,并且目标平台需要为其提供解释器.
有许多实现Ruby的运行时,例如MRI("Matz'Ruby Interpreter",规范实现),JRuby(编译Ruby到JVM字节码),Rubinius(使用LLVM将RBX字节码编译为机器代码 - 及时)和其他一些人.
总而言之,有一些工作可以让Ruby在更受限制的平台上运行.正如您已经发现的那样,您可以通过RubyMotion使用Ruby来定位iOS设备,我认为它基本上可以编译为Obj-C - 它有点像Coffeescript:Javascript :: RubyMotion:Objective-C.
Ruboto是一个将Ruby编译为Dalvik字节码的计划,但我没有尝试过,所以我不能亲自说出它的工作原理.你也可以通过Mirah(实际上不是Ruby,只是类似Ruby的语言,由JRuby的创建者)来定位Android设备,它编译为JVM字节码.还有一些举措,如SL4A,它为Android平台带来了各种脚本语言运行时,但它们往往是有限的,只是作为玩具真正有用.尽管如此,Android工具对于Java来说要完整得多,而且在Android上运行用Java编写的应用程序要比用Mirah编写的应用程序运行要少.
在RubyMotion,Ruboto和Mirah的情况下,您不必分发运行时以实际运行代码,因为您的distributable最终是一个Obj-C程序或JVM字节码jar.
然而,就教学而言,我可能建议转离平板电脑作为教学的主要工具,特别是因为它们是锁定的平台,使好奇的用户难以修补内部.虽然能够编写基本程序并在平板电脑上运行它真的很棒,但作为应用程序开发人员,您并不真正拥有对"普通"计算平台上的硬件的权限.绝对将其作为课程的一部分,但不要将其作为主要平台.
也就是说,Ruby和Python都是很棒的教学语言,可以用来教授许多高级编程基础知识.我特别喜欢Python的教学(尽管是一名全职的Ruby开发人员),因为它对于应该如何完成事情更加自以为是,这对于初学者来说很有用,因为它给模糊性留下了更少的空间.但是,一旦你开始进入平板电脑这样的特定平台,对这些平台使用主要语言可能更为明智,因为那里的限制增加了一个必须克服的障碍,然后才能开始实际工作.这些平台,并在这一天结束时,如何你告诉计算机做什么很多比知道不太重要的东西告诉电脑,这孩子将学习成为程序员的旅程刚刚AA一部分.一旦了解了这些概念,语言就只是表达这些概念的工具.
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |