最适合照片分享网站的语言:PHP、Python、Ruby或其他语言


Language best for a Photo-sharing site: PHP, Python, Ruby or something else?

我计划为摄影师建立一个像Flickr/Picasa一样的照片分享网站,并提供最适合他们的功能。如你所知,如果这项冒险被证明是成功的,每天会发生许多GB到TB的数据传输。

这个问题不仅仅是关于我的应用程序在增长时的可伸缩性,还包括性能。我想做出明智的决定。我想我会用MySQL数据库,JavaScript/jQuery客户端脚本,但用什么服务器端语言呢?是PHP, Python, Ruby还是别的?

在开发一个需要在一段时间内扩展的应用程序(例如,可扩展的编码)时,肯定要记住一些事情。如果你有什么建议的话,是什么?

注:我指定"照片分享网站"是为了让你了解我的任务。否则,这个问题就不会显得那么主观了。

任意。语言不重要。ruby的狂热者(尤其是RubyOnRails那类)会试图告诉你,他们的语言只需要10行就可以完成所有的事情,它可以为你做晚餐和接孩子放学。其他人会告诉你,他们的语言是最安全、最快、最容易开发的,等等。忽略它们。

我喜欢Python,我很乐意推荐它——但说真的,它不会有什么不同。选择你最熟悉的语言开始写作。如果这是Java,那就开始写Java吧。如果那是c++,见鬼,开始写c++吧。

我不相信那些说[在这里插入语言]发展最快的人。一切都取决于你觉得什么舒服。有些语言提供了额外的功能,但如果你需要的话,你可以编写一个库来提供这些功能——这不应该花太长时间,而且很有可能已经有人这样做了。

记住:Facebook是用PHP编写的(尽管他们现在为了速度将很多PHP编译成c++), MySpace是用c#/ColdFusion编写的(我相信),Twitter使用Ruby On Rails(尽管他们显然计划放弃它),Google使用Java/Go(我认为),LinkedIn使用ASP.net或我认为的其他东西。我的观点是——大量的服务,大量的语言,他们都做得很好。现在,任何语言都可以。

我最喜欢的短语是"just build it"。虽然拥有一个好的体系结构并考虑性能和可伸缩性是一个好主意,但如果这些事情会让您中途放弃项目,那么麻烦的意义何在?此外,假设项目不断增长,您很可能需要在以后重新编写其中的大部分代码。你真的认为Facebook还在使用一开始的代码吗?

总之,选择您想要的语言。会没事的。

PHP可以做得很好。Python也可以使用Django或turbogears等web框架来实现。话虽这么说,语言不是问题,只要它有你的帖子似乎要求的web功能

我用PHP、ColdFusion、Java和Ruby开发过各种框架的Web应用程序。我发现Rails是我用过的最强大的Web框架。没有什么能真正与之匹敌,因为强大的功能来自Ruby语言,没有其他语言(可能除了Smalltalk)能真正与之匹敌。也就是说,只要您使用适当的开发实践,您应该能够在几乎任何语言中完成它。

然而,你不想使用MySQL作为数据库。PostgreSQL更加强大和可伸缩,并且没有MySQL的愚蠢的限制和陷阱。