最适合照片共享网站的语言:PHP,Python,Ruby还是其他什么?

4 php ruby python scalability

我计划为摄影师建立一个像Flickr/Picasa这样的照片共享网站,其中包含最适合他们的功能.如您所知,如果该项目证明是成功的,那么每天都会发生许多GB到TB的数据传输.

这个问题不仅涉及我的应用程序的可扩展性,还包括性能.我想做出明智的决定.我想我会使用MySQL数据库,JavaScript/jQuery进行客户端脚本编写,但是使用它的服务器端语言是问题 - PHP,Python,Ruby还是别的什么?

在开发需要在一段时间内进行扩展的应用程序(即可伸缩编码)时,一定要记住一些事项.如果您想提出任何建议,那么它们是什么?

注意:我正在指定"照片共享网站",以便让您了解我的使命.否则,这个问题看起来不那么主观.请这样看待它.

小智 7

任何.语言并不重要.Ruby-fanatics(特别是RubyOnRails排序)将试着告诉你,他们的语言将只用10行做一切,它会让你吃晚饭并从学校挑选孩子.其他人会告诉你,他们的语言是最安全,最快,最快的,等等.忽略它们.

我喜欢Python,我很乐意推荐它 - 但是说真的,它不会有所作为.只需选择您认识最好的语言并开始写作.所以如果那是Java,那就开始编写Java了.如果那是C++,那么,开始编写C++.

我不相信那些说[在这里插入语言]发展最快的人.这就是你觉得舒服的事情.一些语言提供了额外的功能,但你总是可以编写一个库,提供如果你需要它 - 它不应该花太长时间,而且很可能有人已经完成了它.

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

我最喜欢的一句话是"只是建立它".虽然拥有一个漂亮的架构并考虑性能和可扩展性是个好主意 - 如果这些东西会让你在中途放弃项目,那么困扰的重点是什么?此外,假设项目增长,您可能需要稍后重新编码其中的大部分内容.真的认为Facebook一开始使用的是相同的代码吗?

因此,总而言之,选择您想要的任何语言.没关系.

  • @BadLearner:这取决于.就个人而言,我会选择一种语言并对其中的所有内容进行编码.然后,寻找性能问题.假设您正在使用PHP调整图像大小并且需要一段时间,也许您可​​以使用cronjob在C++中开始这样做.但不要过早优化!只是编写代码.当然要注意性能,但不要担心每隔一毫秒就要刮掉一次,直到你至少放出一个版本. (3认同)
  • 出于兴趣,有没有像样的C++ Web框架?我不知道很多用C++编写的网站我唯一知道的网站是OkCupid. (2认同)