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

C# 我应该为这个项目选择哪种编程语言/框架?,c#,java,c++,ruby-on-rails,ruby,C#,Java,C++,Ruby On Rails,Ruby,我还有两个项目要做,我对Ruby和RubyonRails都是新手。真的很有趣!=)此外,我自己也精通C++和java(JavaEE),但是对C语言的研究经验非常有限。另外,我非常渴望学习Ruby,但我并不想浪费时间来发展C#方面的技能——这与Java非常相似(至少对我来说) 项目1: 我将开发一个企业web应用程序,该应用程序可以很好地扩展,每天点击10万次。我应该使用哪种技术 选项包括: 1)Java、JSP、servlet-经验丰富 2)Java、JSF、JPA在这方面有点新,但要掌握它。

我还有两个项目要做,我对Ruby和RubyonRails都是新手。真的很有趣!=)此外,我自己也精通C++和java(JavaEE),但是对C语言的研究经验非常有限。另外,我非常渴望学习Ruby,但我并不想浪费时间来发展C#方面的技能——这与Java非常相似(至少对我来说)

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

选项包括:
1)Java、JSP、servlet-经验丰富
2)Java、JSF、JPA在这方面有点新,但要掌握它。
3)C#NET-这是新的
4)Ruby和Ruby on Rails——这是一个新概念——尽管我非常渴望发现RoR是什么样子

在所有这些中,你认为哪一个规模最好?(如果使用RoR,是否会出现可伸缩性问题?)开发和维护更容易、更快?更安全?对程序员更友好

项目2: 另一个项目是桌面应用程序(带有一些基本的UI元素),它将尝试安排一些事情。后面的算法将涉及一些人工智能和机器学习技术,并且计算量非常大。该计划一旦启动,预计需要7-20个小时才能制定出一个合理的时间表

选项包括:

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

这两个项目都将在春季学期结束时完成,所以不要匆忙。我只想要一个像样的产品,一个有价值的体验!两者都有

所有的评论和回答都非常感谢。提前非常感谢。

Java/C#/Ruby对于web项目,我认为大致相同。那么我会选择什么呢?这是你在这方面的专长问题

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

由于我每天都在用C#开发,我会告诉你选择C#,但这是因为我刚才提到的原因

如果你不是这些语言中的任何一种的专家,我可能会推荐你使用C#,因为它很容易开始,我认为比其他语言更容易,有很多学习材料,GUI令人惊讶,.NET库几乎包括任何东西等等

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

java /c/u/rby的Web项目我觉得差不多。那么我会选择什么呢?这是你在这方面的专长问题

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

由于我每天都在用C#开发,我会告诉你选择C#,但这是因为我刚才提到的原因

如果你不是这些语言中的任何一种的专家,我可能会推荐你使用C#,因为它很容易开始,我认为比其他语言更容易,有很多学习材料,GUI令人惊讶,.NET库几乎包括任何东西等等


第二个项目,可能是C++优化,

java和C是最有可能在放学后给你找工作的。如果你在这一点上有灵活性,我会学到一些新东西

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

既然您已经对Java有了经验,那么您还没有提到应该研究的是使用AdobeFlex开发RIA前端。(如果你是一个C#/.NET的家伙,我会说Silverlight。)这将让你从项目中删除JSF,并删除一长串通常需要构建老式Java web前端的其他东西。这也有助于防止前端/表示层代码与仅在服务器上运行的代码混淆


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

既然你已经对Java有了经验,那么你还没有提到你应该研究的是使用AdobeFlex开发RIA前端。(如果你是C#/.NET的人,我会说Silverlight。)这将使您能够从项目中删除JSF,并删除构建老式Java web前端通常需要的一长串其他内容。这也有助于防止前端/表示层代码与仅在服务器上运行的代码混淆

通过Flex远程处理,您可以使用非常高效的AMF二进制协议(比基于测试的竞争性AJAX协议更快)和Java代码