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

转载 2012年03月22日 08:37:48
 

我相信有很多人认为学会了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#,同时也把camal 命名规则带到了C#,这可能会让C#代码越来越难读。为什么当初C#不遵循camel 呢? 我看不出camal 命名规则有什么不好的。

带着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学起比较好。

相关文章推荐

perl基本语言语法(与java,c#不同的地方积累)

连接字符串  perl 用 .    “hello”+"hello" java,c#用+ "hello"+"hello"

C语言五子棋的两种不同算法

  • 2015年10月25日 20:13
  • 184KB
  • 下载

【C语言】 两种不同的方法在一个字符串中找指定的字符

在标准库中已经给出strchar  和 strrchr 两个函数可以很直接调用。 函数原型如下 char *strchr(char const *str,int ch) char *strrchr(c...

同时使用C#与VB.NET两种语言(2.0)

  • 2008年05月31日 10:13
  • 3KB
  • 下载

经典算法 Java和C语言两种实现

  • 2009年10月13日 14:33
  • 802KB
  • 下载

Java处理excel两种不同的方式

将生成的excel文件转为输入流,然后上传OSS,不用在本地存储该文件对象。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 和Java骨子里是两种不同的语言
举报原因:
原因补充:

(最多只允许输入30个字)