几个月以前我想寻找一种技术来运行服务器端的iPhone应用程序。并且当时面前有两种可供选择的技术:
Ruby on rails 和
python.
而这里为什么不是其他语言呢?并且我之前就已经了解java以及java 的架构。但是我都不想用 ,因为即便是一个简单的程序,用java来实现的话也需要很大的ram。在当时我并不想要那么大一个服务器。至于PHP,我实在不喜欢它丑陋的语法。
这篇文章并不是编程语言之间的对比,只是解释我为什么选择了ruby做为第一个要学习的语言。
第一印象
很明显得,在我学一个框架之前我需要先学习运行在其之上的语言.我去的第一个地方是这些语言的官方网站:
Ruby and
Python.
做为一个开发者,Ruby官网的设计给我留下了更深更好的第一印象.Ruby的网站更加飘亮,但漂亮并不是它更好一些的原因。而是因为它更容易找到如何开始,我很快的找到了ruby语言的概述,需要做的第一件事情,通过简洁的步骤来来了解到关于它的更多信息。
与之形成鲜明对比的是我在对于Python官网的失落,它有太多的文本信息并且没有明确的操作指导。如果python的站点能够设计的更有好一些就好了。
语法,喜欢的就是最好的
注:这个地方限于英文水平实在无法给一个合适翻译过来,但意思应该是可以理解的。
在这一点上来说,我感觉我对ruby有一种优于python的熟悉感。
1.Ruby有块,我喜欢块,因为我最使用Groovy开始编程的。
2.Ruby支持三元运算符。
beer.amazing_taste? ? me.drink : garbage.put(beer)
3.Python支持多继承,但我所有的编程背景都是使用单继承语言,如果在我的代码里出现了多继承,我可能会感觉到很糟糕。
而我最喜欢的是ruby与函数式编程的相似性。例如,通过直接传递一个块给单个函数来遍历集合。
下面是ruby用块来遍历集合:
pubs_in_dublin.each do |pub|
if pub.has_good_beer?
"I need to go to #{pub_name} in Dublin before I die."
end
end
下面是python用函数和for来遍历集合:
def should_go_to_pub(pub):
if pub.has_good_beer:
"I need to go to " + pub_name + " in Dublin before I die."
pubs_in_dublin.each(should_go_to_pub)
# or
for pub in pubs_in_dublin:
if pub.has_good_beer:
"I need to go to " + pub_name + " in Dublin before I die."
至少,我不确定我是否会喜欢在语言之前的那些定义.
结语
现在已经很清晰了,我正在学习Ruby.而我相信在将来学习Python会和其它语言一样好。
如果你打算学习Ruby on Rails,你可以看看那
Code School这个网站,他们的课程很优秀,我已经爱上了他们的教学方式:在做中学习。其它我喜欢的关于ruby[On Rails]的资料:
RubyInside
The Ruby 1.9 Walkthrough
RailsCasts
我也想听听 你们的想法.让我们一起讨论,在评论中学习到更多。
英文原文:
Why I Choose to Learn Ruby Over Python
版权所有:雁飞蓝天,转载请注明出处:http://bingyingao.iteye.com/blog/1819878
- 大小: 132.5 KB
分享到:
相关推荐
使用Python Lua和Ruby语言进行游戏编程
PyCall:从Ruby语言中调用Python函数该库提供了直接从Ruby语言中调用Python并与之进行部分互操作的功能。 您可以在PyCall中导入任意Python模块:从Ruby语言调用Python函数该库提供了直接从Ruby语言调用Python并与之...
PyCall: 从Ruby语言调用Python函数
我应该学习Python还是Ruby? 乍一看,Python和Ruby似乎是非常相似的语言。 两者都是用于快速开发的高级语言。 两种语言都是优美的语言,如果编写得当,它们会很直观,并且读起来很像英语。 动态是什么意思? 好吧...
unholy 可以将 Ruby 编译成 Python 字节码,此外还可以将字节码翻译成 Python 源码,使用包含其中的 Decompyle。 标签:unholy
用Python,Lua和Ruby语言设计游戏,是python lua 和ruby的入门类书籍(英文版)
Eric is a full featured Python and Ruby editor and IDE, written in python. It is based on the cross platform Qt gui toolkit, integrating the highly flexible Scintilla editor control. It is designed to...
用Python,Lua和Ruby语言设计游戏-Game.Programming.with.Python.Lua.And.Ruby
本文给大家对比了下python和Ruby的异同以及各自的优缺点等,向大家展示了python与Ruby的资源以及学习曲线,非常适合在此两种语言中犹豫不决的小伙伴,希望大家能够喜欢
为什么你一定要学习Python或Ruby语言.pdf
将教你如何使用游戏界中的三款主流脚本语言进行游戏编程。 从深层次阐述Python、Lua和Ruby这三种解释性脚本语言和用它们编写的游戏。
sciTE是个跨平台的文本编辑器,可以支持多种编程语言,尤其是Ruby和Python.风格相当简洁,但个人觉得比较强大。是我继notepad++之后的第二选择
该库提供了直接从Ruby语言调用Python并与之进行部分互操作的功能。 您可以将任意Python模块导入Ruby模块,通过从Ruby到Python的自动类型转换来调用Python函数。 支持的Ruby版本 pycall.rb支持Ruby 2.3或更高版本。 ...
3、Ruby为什么被称为灵活的语言? Ruby 被称为灵活的语言,因为它有助于其作者更改编程元素。可以删除或重新定义语言的某些特定部分。Ruby 不限制用户。例如,要添加两个数字,Ruby 允许使用 + 号或单词“plus”。...
1. 到底什么是 Python?你可以在回答中与其他技术进行对比 下面是一些关键点: Python 是一种解释型语言。这就是说,与 C 语言和 C 的衍生语言不同,Python 代码在运行 之前不需要编译。其他解释型语言还包括 PHP 和...
主要介绍了学编程选什么语言好?是PHP、Python还是Ruby?需要的朋友可以参考下
我不确定何时才能做到最好安装发布是通过和分发的: Ruby gem install cdo (--user-install)Python pip install cdo (--user)要求Cdo。{rb,py}需要有效的CDO二进制文件和Ruby 2.x或Python 2.7 / 3.x 多维数组(用于...
Ruby Cookbook, 2nd Edition