从Java到C#:为什么Java不再吸引我

需积分: 10 2 下载量 42 浏览量 更新于2024-07-27 收藏 556KB PDF 举报
"赵劼,又名网络老赵,是盛大创意部的一位专业人士,分享了他关于编程语言选择的见解,特别对比了Java和C#。他的课件以‘Why JavaSucks & C# Rocks’为主题,探讨了语言特性、编程范式以及使用模式,并阐述了为什么他认为我们应该逐渐淘汰Java语言。不过,他强调不会让听众完全相信CLR比JVM更好,或者.NET平台优于Java,而是基于事实和经验进行讨论。" 在赵劼的课件中,他首先介绍了自己,指出他在2002年前使用Pascal、VB5&6、Delphi,然后从2002到2004年间转型为Java程序员,自2004年起成为C#程序员。他计划探讨的内容包括不同语言的特性、编程范式以及在实际开发中的应用模式。他明确表示,他的目标不是说服听众立即放弃Java,转而使用C#或.NET平台,而是希望通过对比分析,让大家对这两种语言有更深入的理解。 在Java和C#的对比中,他提到了Java的一个关键问题:它并不是一个纯粹的面向对象语言。Java中的原始类型(如int)不是对象,这导致了一些操作上的不便。例如,不能直接将整数添加到ArrayList中,也不能直接从ArrayList中获取整数,还需要额外的转换步骤。而在C#中,这样的操作通常是允许的,因为它支持自动装箱和拆箱,使得基本类型可以像对象一样处理。他还提到了Java中调用hashCode()方法时会遇到的编译错误,这在C#中则不存在,因为C#的相等性操作符支持自定义实现。 赵劼通过时间线展示了Java和C#的发展历程,从2002年的Java 1.4和C# 1.0,到2010年的Java 7和C# 4。这些版本的演进反映了两个平台在功能和性能上的改进,同时也为开发者提供了更多工具和库。 赵劼的课件旨在提供一个公正的视角,帮助开发者理解Java和C#各自的优缺点,从而在实际项目中做出更明智的选择。他的讨论不仅限于语言本身,也涉及到了使用这些语言的实际场景,对于那些正在考虑或已经使用这两种语言的开发人员来说,具有很高的参考价值。