`
给一理由先
  • 浏览: 24399 次
  • 性别: Icon_minigender_1
  • 来自: 衡阳
文章分类
社区版块
存档分类
最新评论

C# 和Java 骨子里是两种不同的语言

阅读更多

    我相信有很多人认为学会了Java, 同时也学会了C#,或者认为学了Java,
 
    C# 几小时内就会了。但现实的情况是,热爱Java 的人用了C# 的人可能
会觉得浑身不舒服,热爱C#的人也不是很喜欢Java.

    Java 的设计者是因为讨厌C++的复杂,于是Java 非常简洁,GC 也让内存管理非常方便,C# 是看中了Java 的GC,和虚拟机技术,希望把微软的几大语言集成到.NET 上来。
因此C#从语言上来讲并不简单甚至可以算的上复杂。

    两种语言的设计思路也不一样,Java 是编译解释语言,C#是编译然后编译运行语言。Java 没有委托,C# 有委托。Java 倾向于用Interface 实现委托的功能,而 在C#
中,Abstract Class 比Interface 发挥了更大功能。

    Java 遵循camel 命名规则,C#遵循Pascal 命名规则。但是如今越来越多的Java 人开始使用C#, 同时也把camel 命名规则带到了C#,这可能会让C#代码越来越难读。为什么当初C#为什么不遵循camel 呢? 我看不出camel 命名规则有什么不好的。

    带着Java 投奔C#的人,和带C#投奔Java 的人,不要带着成见去批评。

    使用C#的人最好能总结出自己的一套使用子集,比如抛弃 out 和ref 关键字,永远不使用structs. 不使用事件event 所有event 的相关功能用delegate 实现。你要是不喜欢delegate 那就统统抛弃,用interface, 像java 一样。 尽量少用interface, 多用abstract class. 然后让整个team的人遵循相同标准。c#太大,如果每个人用自己的一套习惯,会给将来带来无穷的麻烦。

    C# 是为生产效率而设计,Java 一半是为Geek 设计。

    C# 和Java 在各自领域发挥作用,在不远的将来,谁都不会取代谁。
要真正理解计算机编程,还是从C学起比较好。


本文出自 “Xhinker” 博客,请务必保留此处


原文地址http://xhinker.blog.51cto.com/640011/380601

分享到:
评论

相关推荐

    c# 和java 不同点

    C# 和 Java 是两种流行的编程语言,虽然它们有相似之处,但它们也存在着许多不同点。本文将总结 C# 和 Java 之间的主要区别。 1. 文件扩展名 C# 文件的扩展名为 `.cs`,而 Java 文件的扩展名为 `.java`。 2. 命名...

    c# java互相转换工具

    4. 枚举和注解:C#的枚举和Java的枚举类在用法上有所不同,注解在Java中比C#更常见。转换时需考虑这些特性。 5. 面向接口编程:Java鼓励使用接口,而C#允许单继承和接口实现。转换时,需要根据设计模式和目标语言的...

    C#调用Java接口演示

    5. **错误处理和异常转换**:由于C#和Java的异常处理机制不同,需要适当地处理和转换可能出现的异常,确保在两种语言间顺畅地传递错误信息。 总结来说,C#调用Java接口是一个相对复杂的过程,需要对Java和.NET平台...

    C# To JAVA Converter v17.10.6(最新破解版)

    这款C# To Java Converter工具的出现,不仅简化了开发者的工作,也促进了两种语言之间的技术交流。然而,需要注意的是,自动转换工具虽然方便,但无法完全替代人工审查和调整,因为某些特定的编程习惯、优化技巧或...

    论C#与Java之异同

    基于C# 2.0和Java SE 6的新版本,Obasanjo更新了他的文章,旨在从全局视角全面地分析这两种语言及其在各自平台上的实现情况。本文将深入探讨这两大编程语言之间的相同点、差异性以及各自独有的特性。 #### A. The ...

    C# To JAVA Converter v17.10.6

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

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

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

    C#和Java实现互通的RSA&DES加解密算法

    C#和Java中都有内置的类库支持RSA加密,如C#的System.Security.Cryptography.RSACryptoServiceProvider和Java的java.security.KeyPairGenerator与java.security.Signature等。 接下来,我们讨论DES(Data ...

    C# to Java 代码转换工具.zip

    随着技术的发展,有时我们需要将代码从一种语言迁移到另一种语言,比如从C#转换到Java。"C# to Java 代码转换工具"是一个专门解决这类问题的实用工具,它能够帮助开发者快速、高效地将C#源代码转化为Java源代码,...

    c# 转java工具

    由于两种语言各有优势,开发者有时需要在项目中将C#代码转换为Java,或者反之。针对这种需求,出现了专门的“C#转Java”工具,它们旨在帮助程序员高效地完成跨语言的代码迁移。 1. **C#与Java的差异** - **语法...

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

    本工具提供了在不同编程语言间进行RSA密钥的互换,包括JAVA转C#、JAVA转PHP以及C#转JAVA的转换功能。 在JAVA中,RSA的实现主要依赖于`java.security`包,其中`KeyPairGenerator`用于生成公钥和私钥,`Cipher`用于...

    C# to Java Converter.zip

    让我们深入探讨一下C#和Java这两种语言以及它们之间的转换。 C#是微软公司开发的一种面向对象的编程语言,它以其强大的类型系统、垃圾回收机制、内存管理以及.NET框架的支持而闻名。C#支持多种编程范式,包括面向...

    C#和java的socket通信

    在本场景中,我们关注的是C#和Java这两种不同的编程语言如何利用Socket实现跨平台的通信。以下是对这个主题的详细阐述: 一、Socket基本原理 Socket,又称为套接字,是网络通信的基本单元。它提供了进程间通信(IPC...

    C#和JAVA的相同点和不同点_八个文档详细比较

    本文将从语法、平台独立性、内存管理、应用领域等多个角度,结合提供的八篇文档,深入探讨这两种语言的异同。 1. **语法层面**:C# 和 Java 都具有类似的面向对象特性,如类、接口、继承和多态。然而,C# 提供了...

    C#与java的区别

    C#和Java是两种广泛使用的高级编程语言,它们都有各自的优点和特点,但也有显著的差异。C#是由Microsoft开发的,而Java则由Sun Microsystems(现为Oracle Corporation的一部分)创建。这两者在设计哲学、语法、特性...

    C#调用JavaWebService

    调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...

    C#调用JAVA方法

    这通常涉及到一个中间层,它能够理解两种语言之间的差异并进行转换。一种解决方案是使用IKVM.NET,这是一个开源项目,它实现了Java虚拟机(JVM)和Java类库的.NET框架版本。IKVM使得在.NET平台上运行Java代码成为...

    C#和java的语法区别

    C#和java的语法区别,精心总结的两种语言的区别,方便从c#转java的开发人员

    C#与JAVA的比较

    14. **异常处理**:两种语言都支持使用 `try`、`catch` 和 `finally` 块进行异常处理,以确保程序在发生错误时能够优雅地退出或恢复。 #### 不同之处 尽管C#和JAVA有着众多相似之处,但由于它们分别由微软和Sun ...

Global site tag (gtag.js) - Google Analytics