`
isiqi
  • 浏览: 16359827 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java vs C# —— 选择C#还是Java,归根到底还是平台问题

阅读更多

作者: 周靖 译
Friday, May 16 2003 10:45 AM 镜头倒退回2000年:我在某家百分之百纯Java软件公司领导一个产品的开发。电话铃响了。是Tim打来的,他告诉我微软准备发布一种名叫C#的新语言。毫无意义的工作;他们会被远远抛在后面,我回答道。我认为Java已深入企业,微软不大可能有分一杯羹的机会。

快速前进到今天。现在,我同时领导着几个开发项目,几乎全部采用C#。发生了什么事?最重要的原因在于,我要做的软件只需在Microsoft Windows平台上运行!

我认为,任何软件程序要想同时在多种平台上运行,目前惟一的选择就是Java。之所以说“目前”,是因为未来在非Windows平台上使用的CLR可能会变成熟。其中一些已在开发,只是暂时谈不上“成熟”。

所以假如移植性是你要优先考虑的,那么我提议优先考虑Java而不是C#。但如果你只是为Windows平台写程序,则强烈建议使用C#。下面会解释理由。


生产力是关键

当然也可用Java为微软平台开发应用程序。但基于“生产力”这一非常简单的理由,我认为更明智的方案是选择一种.NET语言。微软要比Java更善于利用Windows平台。创建Windows服务、写入事件日志、调试SQL Server存储过程、访问注册表、操纵COM——做所有这些工作时,就开发速度来说,.NET都要优于Java(当然这并不能证明C#要比Java好)。微软已经做好了完成基于Windows的所有任务的类,而且通过向导、拖放和指点操作,它们极易使用。


Java的设计宗旨是独立于任何平台,所以自然不会配套提供太多的Windows特性。Java开发者在实际用过.NET类之后一般都会大流口水;而且有玩笑讲,由于.NET开发是如此简单,以至于微软让许多老资格的开发人员都失了业。


.NET的决策

现在有许多人在争论两种语言在技术上的优劣,但这种争论大多数时候都是没有意义的;你基本上可用两种语言做同样的事情,只有少数情况例外。所以就目前来说,具体应选择什么语言,只需回答以下问题就可以了:“应用程序是否只需要在微软平台上运行?”如果答案是肯定的,那么请选择一种.NET语言——主要是C#。


记住,我们最终无疑会看到,用.NET写的应用程序也能在Linux和其他平台上运行,但那一天尚未到来。就目前来说,请先选好平台,再选择语言。



分享到:
评论

相关推荐

    Java vs C# —— JSP与ASP.NET简单之比较! .doc

    Java vs C# —— JSP与ASP.NET简单之比较! 在这篇文章中,我们将比较Java和C#这两种编程语言,并对比JSP和ASP.NET这两种技术栈的优缺点。 Java vs C# Java和C#都是面向对象的编程语言,它们都继承了面向对象编程...

    Java to C# Converter

    Java to C# Converter 转换的效果很好,我实在是没有分了.收1分吧. Demo版的只能转换 试用演示版的Java文件夹转换到C#转换器2000行的代码片段转换到200行一次。 官方网站 ...有需要其他转换器的可以给我留言,我可以...

    C# 代码转换为 Java C# To Java Converter

    C# 代码转换为 Java C# To Java Converter 解除限制 C# 代码转换为 Java C# To Java Converter 解除限制 C# 代码转换为 Java C# To Java Converter 解除限制

    java调用c#样例

    在IT行业中,跨平台通信是一个常见的需求,尤其是在Java和.NET框架之间。本示例主要探讨如何使用Java调用C#编写的DLL文件,这通常通过Java COM Bridge来实现,其中 Jacob(Java COM Bridge)是一个非常实用的工具。...

    RSA加密JAVA转C# JAVA转PHP,C#转JAVA

    转换后,可以在JAVA应用程序中直接使用转换后的密钥进行加密和解密操作,从而实现跨平台的兼容性。同样,对于JAVA转PHP或PHP转JAVA的转换,原理与之类似,只是转换的目标格式和处理的API有所差异。

    java调用C#封装的dll方法

    这种方法涉及到.NET Framework与Java平台之间的互操作性问题。其中一种方案是使用Java Native Access (JNA) 来调用通过C++封装的C# DLL文件。 **步骤详解:** **1. 创建C# COM组件:** - **新建项目:** 在Visual...

    解决java 与C# MD5 不一致问题 代码

    为了解决Java与C#之间MD5哈希值不一致的问题,我们需要确保在两个平台上都采用相同的实现细节。 ##### Java实现 ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; ...

    java调用C#接口及所涉及到的架包

    在跨平台应用开发中,有时候我们需要在Java环境中调用C#实现的功能,这通常通过Web服务或者中间件来实现。本文将深入探讨如何在Java中调用C#接口,以及涉及的相关技术栈。 1. **Java与C#的互操作性** Java和C#虽然...

    java和C#通用des3加解密

    标题中的“java和C#通用des3加解密”指的是在Java和C#这两种不同的编程语言中实现DES(Data Encryption Standard)的加强版——3DES(Triple DES)加解密算法。3DES是一种广泛使用的对称加密算法,通过三次应用DES的...

    Inside C#——C#编程从入门到精通

    《Inside C#——C#编程从入门到精通》是一本专为初学者和有经验的开发者设计的C#编程指南,旨在帮助读者深入理解和熟练掌握C#语言的核心概念和技术。这本书详细介绍了C#的各个方面,从基础语法到高级特性,为读者...

    Java 代码转换为 C# Java to C# Converter

    Java 代码转换为 C# Java to C# Converter 解除限制 Java 代码转换为 C# Java to C# Converter 解除限制 Java 代码转换为 C# Java to C# Converter 解除限制

    JAVA类库转换成C#类库工具

    在IT行业中,跨平台开发是常见的需求之一,尤其是在Java和.NET框架之间。标题"JAVA类库转换成C#类库工具...然而,使用IKVM时需要了解其工作原理,注意潜在的兼容性和性能问题,以便有效地将Java类库集成到C#项目中。

    C# To JAVA Converter v17.10.6

    C# To Java converter是一款将C#代码片段或者C#项目转换为JAVA的工具。 转换所有版本的C#代码 评估所有引用的程序集和.NET项目,以便更完整地解析外部引用 许多转换和格式化选项 将C#代理和lambdas转换为Java接口...

    Java to C# Converter 破解版

    Java转C#工具 破解版, 个人觉得转换效果还可以, 但是一些特殊的语法没有尝试哈。觉得某些人搞的资源那么贵、看不下去而已。

    JAVA通过JNI调用C#dll的整个项目工程

    Java通过JNI调用C# DLL是一个跨平台、跨语言的技术实践,主要应用于需要利用Java的稳定性和C#的高性能场景。JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。C# ...

    C#和java 之间基于Socket的通信

    本话题主要探讨了两种常用编程语言——Java和C#之间如何利用Socket进行通信。Socket是网络编程的基本接口,允许应用程序通过网络发送和接收数据。以下是关于"Java和C#之间基于Socket的通信"的详细知识点: 1. **...

    java调用C#封装的dll(jna,com)

    java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)

    JAVA To C# Converter.zip(破解版)

    C#to Java Converter破解版已经将软件破解,解除了未注册版本只能转换1000行以下的限制问题。

    C#与JAVA平台通用DES

    C#与JAVA通用DES: 1、C#平台上的加密与解密 ...3、C#平台上的加密,能在JAVA平台上解密 4、JAVA平台上的加密,能在C#平台上解密 这个工具类,是基于平台的,不调用任何第三方软件,已经运用在实际项目中。

    java代码转c#

    在编程领域,有时需要将已有的 Java 代码转换为 C#,以便在 .NET 平台上运行或利用 C# 的特定功能。这个过程通常涉及到语法的映射、类库的替换以及编程模型的调整。 标题"java代码转c#"指的就是这个过程,即把用...

Global site tag (gtag.js) - Google Analytics