学习C#或Java for Web Development

时间:2009-03-12 03:48:38

标签: c# java .net

我不确定这是否是提出这个问题的最佳方式,但我还处于学习编程/开发的早期阶段,我想做很多事情,包括网站开发和有一点,当我有一些熟练,移动开发。

我开始以为我会学习Java,因为它在开发领域普遍存在,尤其是J2ME在移动开发方面的饱和。然而,似乎.NET框架,特别是C#更适合于整个系统/框架的Web开发。

对于Web开发和应用程序开发来说,C#似乎是一种很好的语言折衷方案,并且考虑到C#和Java之间的相似性,希望不会很难切换到Java / J2ME。

Java,在我非常有限的经历中似乎不方便Web开发。似乎托管服务提供商相对较少。

我的问题是,这是对Java的准确评估吗?它是否适合像带有主机和框架的.NET一样进行Web开发?我知道这是一种很棒的语言,但我不清楚用它进行Web开发的典型路线图是什么。

为冗长的问题道歉。任何意见都会非常感激。

7 个答案:

答案 0 :(得分:14)

除了已经提出的一些评论之外,还有其他一些需要专业考虑的事情:

  1. 企业软件主要由Java主导,因为许多大型客户更喜欢在UNIX环境中部署,而那里的.NET CLR并不真正同意这些大客户的大多数IT部门。

  2. Java通常被认为是企业软件领域更具吸引力的收购目标。

  3. 两地之间的地理需求似乎完全不同。在加利福尼亚州北部地区的西海岸,爪哇占主导地位。你的专长可以决定你找工作的地方。

  4. 如果您对构建消费者网站感兴趣,那么现在很多消费者网站都不是基于Java或.NET / C#构建的。除了旧的PHP备用数据库之外,还有值得考虑的Django / Python和Rails / Ruby。在所有这些领域中都有非常成熟的解决方案。我从经验中知道这一点。

    IMO,Rails堆栈比Java世界中提供的任何东西都要早几年,在大多数情况下仍需要你将不同的平台拼接在一起并希望它能够很好地运行(这不是C#/的问题。净)。强类型语言本身也往往比Python / Ruby更冗长,你可以利用函数编程技术,如clojures和lambdas。

    在语言之间移动很容易,但就像编程一样,它正在利用已经构建的内容 - 这是一个棘手的部分。学习语言是实现真正掌握的10%。了解您正在使用的框架的变幻莫测,库以及了解可用的框架是棘手的部分。 Java Foundation Classes单独包含数千个类文件!在跳过之前掌握至少一个平台非常重要。

答案 1 :(得分:4)

我用它们进行网页开发。我目前使用的是C#/ .Net(现在已经有一段时间了),但这并不是说它是优越的平台(或者是它?)。在Java世界中,我使用Struts / Hibernate非常成功地创建了网站,并且没有任何抱怨(性能很好,部署非常简单)。 .Net世界有像Monorail / ASP.Net MVC和NHibernate这样的类比,所以你可以在两个平台上以非常类似的方式创建网络应用。

我认为决定因素必须归结为你自己的喜好。有没有关于.Net框架的东西比Java更吸引人?你真的喜欢在Eclipse中开发,并且不想为Visual Studio支付额外费用吗? (虽然,我应该指出SharpDevelop是一个非常好的IDE)

所有非常具体的答案......大量的“使用力量卢克”这类东西,但实际上当它完成所有这些都是个人选择时,所以请选择让你开心的任何东西。

答案 2 :(得分:2)

嗯,从我看到的是Java和C#在Web开发领域都有很好的份额。它们实际上几乎相同。你可以从任何一种方式开始,在尝试学习其中一种方面都没有问题。

我已经看到Java在Web和桌面应用程序中都有很多开发,所以我不知道谁占了上风。

虽然这是偏离主题的,但如果你刚刚开始学习编程,我主张尝试先学习C语言。早期掌握该语言所需的洞察力将在未来真正有所帮助。

答案 3 :(得分:1)

假设您使用Visual Studio,C#将做更多(并且开箱即用)。您无需担心安装外部框架或配置任何内容。您可以在几秒钟内获得示例应用程序。

如果你不知道任何编程语言,也许从像php这样的东西开始是有意义的吗?你可以比其中任何一个更快地运行,虽然更容易做出草率的代码选择(恕我直言)。

如果您想在强大的* nix服务器上进行大型企业开发,请务必学习Java。如果您没有编程经验,那么您似乎不太可能获得足够的Java来“欺骗”这些企业雇用您。不幸的是,php或C#开发人员的入门要求通常较低。

答案 4 :(得分:0)

C#/ .NET更容易学习和开发,但Java具有开源和跨平台的优势。

如果我在你的鞋子里,我将从.NET / C#(包括ASP.NET MVC)开始,然后再转向Java。请注意,有很多相似之处,但也存在一些重大差异。

(我是.NET开发人员,但我也在学习移动项目的Java。)

答案 5 :(得分:0)

如果你想开发多平台拿Java(和它的JSP / Applet / Servlet)
如果你想继续使用.Net(和Mono)将C#或VB.Net与ASP.NET一起使用

如果我的现有知识是服务器端编程语言(ASP / PHP / Python),特别是PHP,因为它的面向对象和多平台

,我个人将学习Ajax(必不可少)

答案 6 :(得分:0)

.Net将更容易开始,但如果这是你的目标,你也可以从PHP(yuck)开始。从长远来看,两者都可以平等地完成工作。如果你以微软的方式开发网站,那将是一条非常直接的道路,Java拥有如此多的开源框架库,只选择一个可能令人生畏。我猜测Java开发人员赚更多钱主要是因为它在企业Web开发领域占主导地位。 PHP程序员肯定会减少。

我主要使用Java开发网站,并推荐使用.Net,因为它有很多免费工具,应用程序服务器和框架。您可以使用Tomcat,Apache,MySQL和Linux构建一个Java站点,而无需支付任何许可费用。

不要过火,一次尝试做所有事情。

学习一些Java和JDBC 使用JSP(Model 1)构建您的站点,这将让您感受到平台。 然后尝试一下像Struts或JSF这样的框架,到那时你将能够更多地欣赏它们。