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

[color=green]
我相信有很多人认为学会了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学起比较好。[/color]

[color=red]本文出自 “Xhinker” 博客,请务必保留此处[/color]


[url=http://xhinker.blog.51cto.com/640011/380601]原文地址http://xhinker.blog.51cto.com/640011/380601[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值