您是否认为仅GAE就足以证明通过Ruby学习Python是合理的?[关闭]


12

考虑到您不必参与设置/购买服务器甚至不必购买域的事实,您是否认为仅凭这一事实就足以选择一个?

我不一定要在Google App Engine上工作,我只是觉得在托管/环境/等方面很方便。并想知道这是否是学习python的足够好理由。

无论如何,我不是想在python和ruby之间争论,而是在Google App Engine上讨论更多话题,以及它的价值是否足以决定您应该学习的语言。


4
Google App Engine,针对那些受到TLA挑战的人。请注意,您也可以使用Java。
罗伯特·哈维

:)我已经可以使用Java和Objective-C了。不要以为同时学习ruby和python是最佳的时间价值比:P
qnoid 2010年

我认为您会发现,一旦学习Python,就可以相当轻松地学习Ruby-它们属于同一家族。
Marcel Lamothe

Answers:


16

否。GoogleApp Engine确实提供了免费/廉价的基础结构来托管Python应用程序,但是Ruby与Heroku几乎具有相同的功能(Heroku的限制比GAE少得多)。在使用GAE之前,请务必仔细阅读Google对平台的限制,其中许多限制可能会严重阻碍您要实现的目标。卡洛斯·布莱(Carlos Ble)的博客文章对他遇到的许多限制进行了更深入的介绍,但我为您提供一个简要概述:

  • 仅Python 2.7,没有编译的扩展(对性能造成重大影响)
  • 30秒的请求超时(这对于轻松上传大文件而言是如此)和10秒的外部请求超时(因此您无法从您的应用程序查询慢速API)
  • BigTable是石器时代;您的查询中没有“ LIKE”运算符,并且任何单个查询都不能返回超过1,000条记录
  • Memcache的最大大小为1 MB
  • BigTable和Memcache都倾向于以足够高的速度死亡,以至于将代码放入应用程序中以解决它们的故障很有帮助。

对于很小的项目,GAE很好。但是如果您要构建的是中型或大型的产品,请注意可能会妨碍您前进的限制。

有关您可能需要处理哪种配额和限制的更多信息,请参阅GAE文档:

另请参阅关于堆栈溢出的以下响应:https : //stackoverflow.com/a/3068371/189079


4
这如何使BigTable陷入困境,LIKE是一个昂贵的选择,并且返回限制1000是一个好主意。听起来您滥用SQL DB烂了,可以扩展吗?
2011年

限制不只影响免费配额吗?

@ sa93我绝对不使用LIKE查询。但是,我构建的一个应用程序确实使用了返回超过1000个结果的查询(查询结果已大量缓存,不用担心),并且很高兴我不必处理运行多个查询时间然后将结果串联的情况。数据发送到缓存层之前。
德克2012年

@BakerKawesa不确定。需要研究。Google可能已更改其政策。
德克(Birk)2012年

11

如果您想为Google App Engine开发,则一定要学习Python(Java也可以,但是GAE背后的人似乎是Pythonistas)。

要记住的一件事是,用Python编写东西并不意味着您免费获得Google App Engine。即使是用Python编写的,也有好几个人(包括Google的人)不得不将其项目“移植”到GAERSSmeme是另一个示例)。

这是因为GAE有其自身的限制和特殊的环境:例如,您无法访问MySQL,线程或本地文件存储之类的内容。GAE常规常见问题解答涉及其中几个“怪癖”。



6

当然可以,为什么不呢?Ruby和Python都是功能非常强大的语言,因此它仅取决于您要执行的操作。

如果您想使用GAE并必须学习一种语言,那么不妨使用Python。


为什么不使用Java?
Joshua Partogi 2011年

@jpartogi问有关Python与Ruby的问题。Java也可能是一个可行的选择。
亚当李尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.