我应该为这个项目选择哪种编程语言/框架?

时间:2010-10-16 21:45:53

标签: c# java c++ ruby-on-rails ruby

我有两个项目,我是Ruby和Ruby on Rails的新手。这真的很有趣! =)此外,我认为自己精通C ++和Java(以及JavaEE),但对C#.NET和Ruby的经验非常少。另外,我非常渴望学习Ruby,但是我真的不想浪费时间来开发C#技能 - 这与Java非常相似(至少对我而言)。

PROJECT 1: 我将开发一个企业Web应用程序,它应该可以很好地扩展到每天100,000次点击。我应该选择哪种技术?

选项包括:
1)Java,JSP,Servlets - 经验丰富的 2)Java,JSF,JPA - 有点新鲜但掌握它。
3)C#.NET - 此处新增了 4)Ruby和Ruby on Rails - 这是新的 - 虽然我非常渴望发现RoR是什么样的!

在所有这些中,你认为哪一个会扩展到最好? (如果我使用RoR,我是否会遇到可扩展性问题?)开发和维护更容易,更快捷?更安全?程序员更友好吗?

PROJECT 2: 另一个项目是桌面应用程序(具有一些基本的UI元素),它将尝试安排某些事情。后面的算法将涉及一些AI和机器学习技术以及非常繁重的计算。该计划一旦启动,预计需要7-20小时才能输出合适的时间表。

选项包括:

1)C ++ - 熟练使用C ++,但UI会非常痛苦。另外,我想尝试新的东西 - 一直用C ++编程!
2)Java - 流畅和用户界面将更容易 3)Ruby - 非常新的。但也非常渴望。 Ruby能否处理繁重的计算?在性能方面会有很大不同吗?

两个项目都将在春季学期结束 - 所以没有匆忙。我只想要一个体面的产品,A和最终的宝贵经验!对于两者。

所有评论和答案都表示赞赏。非常感谢提前

3 个答案:

答案 0 :(得分:2)

Java / C#/ Ruby我认为Web项目或多或少都是一样的。那么我会选择什么呢?这是你在任何方面的专业知识问题。

其中一种语言的每位专家都可以告诉你他们的语言是最好的,但这只是知识问题。 如果您是真正的专家并且拥有合适的机器,那么您可以在任何这些中获得相同的性能/速度。

当我每天用C#开发时,我会告诉你选择C#,但这是我刚刚提到的原因。

如果您不是这些语言的专家,我可能会推荐您使用C#,因为它易于启动,我认为比其他语言更容易,有很多学习材料,GUI是惊人的,。 NET库几乎包含任何其他内容......

对于第二个项目,可能是C ++的优化。

答案 1 :(得分:1)

Java和C#最有可能让你放学后找到工作。如果你现在有灵活性,我会学到新东西。

答案 2 :(得分:0)

由于您已经熟悉Java,因此您尚未提及应该研究的是使用Adobe Flex开发RIA前端。 (如果你是一个C#/。NET的人,我会说Silverlight。)这可以让你将JSF从项目中删除,并消除一些你通常需要构建旧学校Java Web前端的其他东西。它还有助于防止前端/表示层代码与服务器上独占运行的代码混淆。

使用Flex远程处理,您可以使用非常高效的AMF二进制协议(比基于测试的竞争AJAX协议更快),并且您的Java代码简化为一堆方法调用,除了响应来自Flex客户端的请求之外什么都不做(或者任何其他“客户” - 这当然会迫使您将前端代码与后端分离 - 这是一件好事 - 并且可以让您灵活地完全重新设计客户端代码,而无需触及服务器代码。)为了解决新浏览器或新版本浏览器的问题,您将永远无需修补您的代码,因为您正在(有效地)运行一个屏蔽非标准化且快速变化的浏览器的“虚拟机”环境(DOM / DHTML / JS /等)。

相关问题