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

开发 后端
相信有很多人认为学会了Java,同时也学会了C#,或者认为学了Java,C#几小时内就会了。但现实的情况是,热爱Java的人用了C#的人可能会觉得浑身不舒服,热爱C#的人也不是很喜欢Java.但是C#和Java骨子里是两种不同的语言。

51CTO最近给大家贡献了几篇很有争议文章,很多朋友对“青春期的Java不会衰亡”以及“微软最锋利的刀C# 4”各执一词。51CTO专家Xhinker特意对此发布博文,全文如下:

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

本文出自“Xhinker”博客,请务必保留此出处http://xhinker.blog.51cto.com/640011/380601

【编辑推荐】

  1. C# 4何以成为微软锋利的刀——动态编程语言
  2. 5个你不知道的Java性能监控小技巧
  3. 有凭有据 C语言真的比Java快?
  4. 衰亡? 15岁的Java才到青春期
  5. 浅谈Java最终胜出的8大技术优势

 

责任编辑:佚名 来源: 51CTO原创
相关推荐

2013-08-28 13:20:08

李彦宏百度

2013-02-22 09:43:41

面向对象面向对象编程

2023-03-29 13:06:36

2009-08-17 17:28:23

C#转义字符

2009-07-22 15:50:36

J#和C++ASP.NET

2009-08-19 17:30:38

C#转义字符

2009-07-31 14:04:11

C#时间比较大小

2020-07-23 08:18:27

C语言执行循环体条件

2019-01-11 13:57:06

2010-07-13 10:10:28

WPF

2009-08-05 13:34:18

C#日期相减

2010-03-18 08:55:50

C#

2022-09-07 08:44:28

UbuntuManjaroLinux 发行版

2015-04-30 08:00:05

数据中心多种操作系统

2009-08-12 14:59:09

C#和Java不同点

2009-08-06 15:26:18

C#异常类型

2009-09-02 16:21:02

C#解析Html

2012-12-13 10:32:34

路由器线路输出

2011-04-06 12:41:41

Java异常

2009-08-17 08:29:00

c#删除指定文件
点赞
收藏

51CTO技术栈公众号