2010-10-16 66 views
0

我有两个项目,我对Ruby和Ruby on Rails非常新。这真的很有趣! =)另外,我数过自己在C++和Java(以及JavaEE)中的流利程度,但对于C#.NET和Ruby的经验非常少。另外,我非常渴望学习Ruby,但并不想浪费时间来开发C#技能 - 这与Java非常相似(至少对我来说)。我应该为这个项目选择哪种编程语言/框架?

项目1: 我将开发一个企业web应用程序,它应该能够以每天100.000次点击来很好地扩展。我应该使用哪种技术?

选项包括:
1)的Java,JSP,Servlet的 - 经历
2)的Java,JSF,JPA - 一种新的在这一点,但拥有它的把握。
3)C#.NET - 在这个
4)Ruby和Ruby on Rails的新 - 新在这一点 - 尽管我非常渴望发现回报率是什么样的!

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

项目2: 另一个项目是一个桌面应用程序(带有些基本的UI元素),将尝试安排的东西。后面的算法将涉及一些AI和机器学习技术和非常繁重的计算。该计划一旦开始,预计需要7-20小时才能产生一个体面的时间表。

选项包括:

1)C++ - 流利与C++但UI会很痛苦。另外,我想尝试新的东西 - 一直用C++编程!
2)Java - 流利和UI会更容易。
3)红宝石 - 这是非常新的。但也非常渴望。 Ruby能够处理繁重的计算吗?在性能方面会有很大差异吗?

这两个项目都是到期的春季学期 - 所以没有仓促。我只想要一个体面的产品,最后一个有价值的体验!对彼此而言。

所有的意见和解答赞赏。非常感谢提前

+0

我想知道为什么你排除C#的第二个项目? – dtb 2010-10-16 21:51:45

+0

因为我计算该项目的Java和C#相同。而且,当我了解更多的Java并希望改善它时,我不想更好地了解它。 – 2010-10-16 21:59:39

回答

2

Java/C#/ Ruby的Web项目我认为差不多。那么我会选择什么?这是你在这方面的专业知识的问题。

这些语言的每一位专家都会告诉你,他们的语言是最好的,但这只是一个知识问题。 如果您是真正的专家,并且拥有合适的机器,则您可以在任何这些设备上获得相同的性能/速度。因为我在C#中每天都在开发,所以我会告诉你选择C#,但这是我刚才提到的原因。

如果你不是这些语言的专家,我可能会推荐你使用C#,因为它很容易启动,比其他人更容易思考,有很多学习资料,图形用户界面令人惊讶, .NET库包括几乎所有东西等...

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

1

Java和C#是放学后最有可能找到工作的人。如果你在这方面有灵活性,我会学到新的东西。

+0

这是真的。 – 2010-10-16 22:16:01

+0

是的,对于就业市场来说,这两个几乎都是。 Ruby是一个很酷的领域,但它仍然没有得到广泛采用或支持。当然,C++将会持续一段时间,但你现在真的需要有一个特定的需求。没有理由做自己的内存管理等等。 – Manius 2010-10-16 22:23:12

0

由于您已经对Java有所了解,所以您没有提到的应该研究的内容是使用Adobe Flex开发RIA前端。 (如果你是一个C#/ .NET的人,我会说Silverlight)。这会让你将JSF从这个项目中解脱出来,并且消除了你通常需要构建一个老派的Java Web前端所需的其他东西。这对防止您的前端/表示层代码与专门在您的服务器上运行的代码混淆起来也很好。

使用Flex远程处理,您可以使用非常高效的AMF二进制协议(比基于测试的竞争AJAX协议更快),并且Java代码会精简为只响应Flex客户端请求的一堆方法调用(或任何其他'客户') - 这当然会迫使您将前端代码与后端解耦 - 这是一件好事 - 并且可以灵活地完全重新设计客户端代码,而无需接触服务器代码。)作为奖励,您将永远不必修补代码以修复新浏览器或新版本浏览器的问题,因为您正在(有效)运行“虚拟机”,该虚拟机不受非标准化和迅速变化的影响浏览器环境(DOM/DHTML/JS /等)。